mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Test swizzles of UAV reads
This commit is contained in:
@@ -110,6 +110,7 @@ Texture2D<float4> smiley : register(t5);
|
||||
|
||||
RWByteAddressBuffer byterwtest : register(u1);
|
||||
RWStructuredBuffer<MyStruct> structrwtest : register(u2);
|
||||
RWBuffer<float4> typedrwtest : register(u3);
|
||||
|
||||
Buffer<float> unboundsrv1 : register(t100);
|
||||
Texture2D<float> unboundsrv2 : register(t101);
|
||||
@@ -676,6 +677,50 @@ float4 main(v2f IN) : SV_Target0
|
||||
{
|
||||
return rgb_srv[0];
|
||||
}
|
||||
if(IN.tri == 80)
|
||||
{
|
||||
uint z2 = uint(zero);
|
||||
MyStruct read = structrwtest[z2+7];
|
||||
|
||||
return read.b.xyzw;
|
||||
}
|
||||
if(IN.tri == 81)
|
||||
{
|
||||
uint z2 = uint(zero);
|
||||
MyStruct read = structrwtest[z2+7];
|
||||
|
||||
return read.b.zzyx;
|
||||
}
|
||||
if(IN.tri == 82)
|
||||
{
|
||||
uint z2 = uint(zero);
|
||||
MyStruct read = structrwtest[z2+7];
|
||||
|
||||
return read.b.zwxy;
|
||||
}
|
||||
if(IN.tri == 83)
|
||||
{
|
||||
uint z2 = uint(zero);
|
||||
MyStruct read = structrwtest[z2+7];
|
||||
|
||||
return read.b.wzwy;
|
||||
}
|
||||
if(IN.tri == 84)
|
||||
{
|
||||
return typedrwtest[uint(zero)].xyzw;
|
||||
}
|
||||
if(IN.tri == 85)
|
||||
{
|
||||
return typedrwtest[uint(zero)].zzyx;
|
||||
}
|
||||
if(IN.tri == 86)
|
||||
{
|
||||
return typedrwtest[uint(zero)].zwxy;
|
||||
}
|
||||
if(IN.tri == 87)
|
||||
{
|
||||
return typedrwtest[uint(zero)].wzwy;
|
||||
}
|
||||
|
||||
return float4(0.4f, 0.4f, 0.4f, 0.4f);
|
||||
}
|
||||
@@ -938,6 +983,9 @@ float4 main(v2f IN, uint samp : SV_SampleIndex) : SV_Target0
|
||||
ID3D11UnorderedAccessViewPtr structuav =
|
||||
MakeUAV(structBuf2).Format(DXGI_FORMAT_UNKNOWN).FirstElement(3).NumElements(5);
|
||||
|
||||
ID3D11BufferPtr rgbuavBuf = MakeBuffer().UAV().Data(structdata);
|
||||
ID3D11UnorderedAccessViewPtr typeuav = MakeUAV(rgbuavBuf).Format(DXGI_FORMAT_R32G32B32A32_FLOAT);
|
||||
|
||||
Texture rgba8;
|
||||
LoadXPM(SmileyTexture, rgba8);
|
||||
|
||||
@@ -992,8 +1040,8 @@ float4 main(v2f IN, uint samp : SV_SampleIndex) : SV_Target0
|
||||
UINT zero[4] = {};
|
||||
ctx->ClearUnorderedAccessViewUint(rawuav, zero);
|
||||
ctx->ClearUnorderedAccessViewUint(structuav, zero);
|
||||
ID3D11UnorderedAccessView *uavs[] = {rawuav, structuav};
|
||||
ctx->OMSetRenderTargetsAndUnorderedAccessViews(1, &fltRT.GetInterfacePtr(), NULL, 1, 2, uavs,
|
||||
ID3D11UnorderedAccessView *uavs[] = {rawuav, structuav, typeuav};
|
||||
ctx->OMSetRenderTargetsAndUnorderedAccessViews(1, &fltRT.GetInterfacePtr(), NULL, 1, 3, uavs,
|
||||
NULL);
|
||||
|
||||
setMarker("Main Test");
|
||||
|
||||
Reference in New Issue
Block a user