38#define D3DERR_INVALIDCALL 0x8876086c
42#if D3D_COMPILER_VERSION
510x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d,
520x39207265, 0x2e39322e, 0x2e323539, 0x31313133, 0xababab00,
59float4 VS(float4 position :
POSITION, float4
pos : SV_POSITION) : SV_POSITION
650x43425844, 0x77c6324f, 0xfd27948a, 0xe6958d31, 0x53361cba, 0x00000001, 0x000001d8, 0x00000005,
660x00000034, 0x0000008c, 0x000000e4, 0x00000118, 0x0000015c, 0x46454452, 0x00000050, 0x00000000,
670x00000000, 0x00000000, 0x0000001c, 0xfffe0400, 0x00000100, 0x0000001c, 0x7263694d, 0x666f736f,
680x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39322e,
690x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x00000050, 0x00000002, 0x00000008, 0x00000038,
700x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000f0f, 0x00000041, 0x00000000, 0x00000000,
710x00000003, 0x00000001, 0x0000000f, 0x49534f50, 0x4e4f4954, 0x5f565300, 0x49534f50, 0x4e4f4954,
720xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000001,
730x00000003, 0x00000000, 0x0000000f, 0x505f5653, 0x5449534f, 0x004e4f49, 0x52444853, 0x0000003c,
740x00010040, 0x0000000f, 0x0300005f, 0x001010f2, 0x00000000, 0x04000067, 0x001020f2, 0x00000000,
750x00000001, 0x05000036, 0x001020f2, 0x00000000, 0x00101e46, 0x00000000, 0x0100003e, 0x54415453,
760x00000074, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000,
770x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
780x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
790x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
82#if D3D_COMPILER_VERSION
83static void test_reflection_references(
void)
86 ID3D10ShaderReflection1 *ref10_1;
92 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
95 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
100 hr = ref11->lpVtbl->
QueryInterface(ref11, &IID_ID3D10ShaderReflection, (
void **)&ref10);
103 hr = ref11->lpVtbl->
QueryInterface(ref11, &IID_ID3D10ShaderReflection1, (
void **)&ref10_1);
106 count = ref11->lpVtbl->Release(ref11);
110#if D3D_COMPILER_VERSION >= 46
117 "Got unexpected hr %#lx, expected %#lx.\n",
hr,
expected);
121 "Got unexpected hr %#lx, expected %#lx.\n",
hr,
expected);
133#if D3D_COMPILER_VERSION >= 46
155#if D3D_COMPILER_VERSION
156static void test_reflection_interfaces(
void)
168 "Got unexpected hr %#lx, expected %#lx.\n",
hr,
expected_hr);
174 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
177 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
178 ok(iface == (
void *)ref12,
"Got unexpected interfaces %p, %p.\n", iface, ref12);
180 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
181 ok(iface == iunk,
"Got unexpected iface %p.\n", iface);
186 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
187 ok(iface == (
IUnknown *)ref12,
"Got unexpected iface %p.\n", iface);
190 hr = ref11->lpVtbl->
QueryInterface(ref11, &IID_ID3D12ShaderReflection, (
void **)&iface);
191 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
192 ok(iface == (
void *)ref11,
"Got unexpected interfaces %p, %p.\n", iface, ref11);
194 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
195 ok(iface == iunk,
"Got unexpected iface %p.\n", iface);
200 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
201 ok(iface == (
IUnknown *)ref11,
"Got unexpected iface %p.\n", iface);
204 hr = ref11->lpVtbl->
QueryInterface(ref11, &IID_ID3D10ShaderReflection, (
void **)&iface);
206 hr = ref12->lpVtbl->
QueryInterface(ref12, &IID_ID3D10ShaderReflection, (
void **)&iface);
211 count = ref11->lpVtbl->Release(ref11);
224 hr = ref10->lpVtbl->
QueryInterface(ref10, &IID_ID3D10ShaderReflection, (
void **)&unk);
226 IUnknown_Release(unk);
228 hr = ref10->lpVtbl->
QueryInterface(ref10, &IID_ID3D10ShaderReflection1, (
void **)&unk);
234 hr = ref10->lpVtbl->
QueryInterface(ref10, &IID_ID3D12ShaderReflection, (
void **)&unk);
247 float4
x : SV_position;
249 uint b : BLENDINDICES;
250 float c : BLENDWEIGHT;
255 float4
g : POSITIONT;
259 uint k : SV_VertexID;
260 uint l : SV_InstanceID;
265 float4
x : SV_position;
268 float4
c : POSITION0;
270 float e : TESSFACTOR0;
271 float4
f : TEXCOORD0;
272 float g : SV_ClipDistance0;
273 float h : SV_CullDistance0;
274 uint i : SV_InstanceID;
280 s.x = float4(1.6f, 0.3f, 0.1f, 0.0f);
282 int p[5] = {1, 2, 3, 5, 4};
283 y =
y << (
int)
x.x.x & 0xf;
2990x43425844, 0xb65955ac, 0xcea1cb75, 0x06c5a1ad, 0x8a555fa1, 0x00000001, 0x0000076c, 0x00000005,
3000x00000034, 0x0000008c, 0x0000028c, 0x00000414, 0x000006f0, 0x46454452, 0x00000050, 0x00000000,
3010x00000000, 0x00000000, 0x0000001c, 0xfffe0401, 0x00000100, 0x0000001c, 0x7263694d, 0x666f736f,
3020x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39322e,
3030x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x000001f8, 0x0000000f, 0x00000008, 0x00000170,
3040x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000010f, 0x0000017c, 0x00000000, 0x00000000,
3050x00000003, 0x00000001, 0x0000000f, 0x00000185, 0x00000000, 0x00000000, 0x00000001, 0x00000002,
3060x00000001, 0x00000192, 0x00000000, 0x00000000, 0x00000003, 0x00000003, 0x00000101, 0x0000019e,
3070x00000000, 0x00000000, 0x00000003, 0x00000004, 0x00000f0f, 0x0000019e, 0x00000001, 0x00000000,
3080x00000003, 0x00000005, 0x0000000f, 0x000001a4, 0x00000000, 0x00000000, 0x00000003, 0x00000006,
3090x0000000f, 0x000001ab, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000f0f, 0x000001b4,
3100x00000000, 0x00000000, 0x00000003, 0x00000008, 0x0000000f, 0x000001be, 0x00000000, 0x00000000,
3110x00000003, 0x00000009, 0x00000101, 0x000001c4, 0x00000000, 0x00000000, 0x00000003, 0x0000000a,
3120x0000000f, 0x000001cc, 0x00000000, 0x00000000, 0x00000003, 0x0000000b, 0x00000f0f, 0x000001d5,
3130x00000000, 0x00000006, 0x00000001, 0x0000000c, 0x00000001, 0x000001e1, 0x00000000, 0x00000008,
3140x00000001, 0x0000000d, 0x00000001, 0x000001ef, 0x00000000, 0x00000000, 0x00000003, 0x0000000e,
3150x00000101, 0x705f5653, 0x7469736f, 0x006e6f69, 0x4f4e4942, 0x4c414d52, 0x454c4200, 0x4e49444e,
3160x45434944, 0x4c420053, 0x57444e45, 0x48474945, 0x4f430054, 0x00524f4c, 0x4d524f4e, 0x50004c41,
3170x5449534f, 0x004e4f49, 0x49534f50, 0x4e4f4954, 0x53500054, 0x00455a49, 0x474e4154, 0x00544e45,
3180x43584554, 0x44524f4f, 0x5f565300, 0x74726556, 0x44497865, 0x5f565300, 0x74736e49, 0x65636e61,
3190x74004449, 0x69747365, 0xabab006e, 0x4e47534f, 0x00000180, 0x0000000b, 0x00000008, 0x00000110,
3200x00000000, 0x00000001, 0x00000003, 0x00000000, 0x0000000f, 0x0000011c, 0x00000000, 0x00000000,
3210x00000003, 0x00000001, 0x0000000f, 0x00000122, 0x00000000, 0x00000000, 0x00000003, 0x00000002,
3220x00000e01, 0x00000126, 0x00000000, 0x00000000, 0x00000003, 0x00000002, 0x00000d02, 0x0000012c,
3230x00000000, 0x00000000, 0x00000003, 0x00000002, 0x00000b04, 0x00000137, 0x00000000, 0x00000000,
3240x00000003, 0x00000002, 0x00000708, 0x0000013f, 0x00000000, 0x00000000, 0x00000003, 0x00000003,
3250x0000000f, 0x00000148, 0x00000000, 0x00000000, 0x00000003, 0x00000004, 0x0000000f, 0x00000151,
3260x00000000, 0x00000002, 0x00000003, 0x00000005, 0x00000e01, 0x00000161, 0x00000000, 0x00000003,
3270x00000003, 0x00000005, 0x00000d02, 0x00000171, 0x00000000, 0x00000000, 0x00000001, 0x00000006,
3280x00000e01, 0x705f5653, 0x7469736f, 0x006e6f69, 0x4f4c4f43, 0x4f460052, 0x53500047, 0x00455a49,
3290x53534554, 0x54434146, 0x7400524f, 0x6f747365, 0x50007475, 0x5449534f, 0x004e4f49, 0x43584554,
3300x44524f4f, 0x5f565300, 0x70696c43, 0x74736944, 0x65636e61, 0x5f565300, 0x6c6c7543, 0x74736944,
3310x65636e61, 0x5f565300, 0x74736e49, 0x65636e61, 0xab004449, 0x52444853, 0x000002d4, 0x00010041,
3320x000000b5, 0x0100086a, 0x0300005f, 0x00101012, 0x00000000, 0x0300005f, 0x00101012, 0x00000003,
3330x0300005f, 0x001010f2, 0x00000004, 0x0300005f, 0x001010f2, 0x00000007, 0x0300005f, 0x00101012,
3340x00000009, 0x0300005f, 0x001010f2, 0x0000000b, 0x0300005f, 0x00101012, 0x0000000e, 0x04000067,
3350x001020f2, 0x00000000, 0x00000001, 0x03000065, 0x001020f2, 0x00000001, 0x03000065, 0x00102012,
3360x00000002, 0x03000065, 0x00102022, 0x00000002, 0x03000065, 0x00102042, 0x00000002, 0x03000065,
3370x00102082, 0x00000002, 0x03000065, 0x001020f2, 0x00000003, 0x03000065, 0x001020f2, 0x00000004,
3380x04000067, 0x00102012, 0x00000005, 0x00000002, 0x04000067, 0x00102022, 0x00000005, 0x00000003,
3390x03000065, 0x00102012, 0x00000006, 0x02000068, 0x00000001, 0x04000069, 0x00000000, 0x00000005,
3400x00000004, 0x06000036, 0x00203012, 0x00000000, 0x00000000, 0x00004001, 0x00000001, 0x06000036,
3410x00203012, 0x00000000, 0x00000001, 0x00004001, 0x00000002, 0x06000036, 0x00203012, 0x00000000,
3420x00000002, 0x00004001, 0x00000003, 0x06000036, 0x00203012, 0x00000000, 0x00000003, 0x00004001,
3430x00000005, 0x06000036, 0x00203012, 0x00000000, 0x00000004, 0x00004001, 0x00000004, 0x0500001b,
3440x00100012, 0x00000000, 0x0010100a, 0x00000000, 0x07000029, 0x00100012, 0x00000000, 0x00004001,
3450x00000001, 0x0010000a, 0x00000000, 0x07000001, 0x00100012, 0x00000000, 0x0010000a, 0x00000000,
3460x00004001, 0x0000000f, 0x07000036, 0x00100012, 0x00000000, 0x0420300a, 0x00000000, 0x0010000a,
3470x00000000, 0x0500002b, 0x00102012, 0x00000000, 0x0010000a, 0x00000000, 0x08000036, 0x001020e2,
3480x00000000, 0x00004002, 0x00000000, 0x3e99999a, 0x3dcccccd, 0x00000000, 0x05000036, 0x001020f2,
3490x00000001, 0x00101e46, 0x00000004, 0x05000036, 0x00102012, 0x00000002, 0x0010100a, 0x00000003,
3500x05000036, 0x00102062, 0x00000002, 0x00101006, 0x00000009, 0x05000036, 0x00102082, 0x00000002,
3510x0010100a, 0x0000000e, 0x05000036, 0x001020f2, 0x00000003, 0x00101e46, 0x00000007, 0x05000036,
3520x001020f2, 0x00000004, 0x00101e46, 0x0000000b, 0x05000036, 0x00102012, 0x00000005, 0x00004001,
3530x3f800000, 0x05000036, 0x00102022, 0x00000005, 0x00004001, 0x3f800000, 0x05000036, 0x00102012,
3540x00000006, 0x00004001, 0x00000002, 0x0100003e, 0x54415453, 0x00000074, 0x00000015, 0x00000001,
3550x00000000, 0x00000012, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000000,
3560x00000005, 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
3570x00000000, 0x0000000a, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
3580x00000000, 0x00000000, 0x00000000,
422#if D3D_COMPILER_VERSION
427 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
429 ref11->lpVtbl->QueryInterface(ref11, &IID_ID3D12ShaderReflection, (
void **)&ref12);
431 hr = ref11->lpVtbl->GetDesc(ref11,
NULL);
434 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc11);
435 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
437 ok(sdesc11.
Version == 0x10041,
"Unexpected Version %#x.\n", sdesc11.
Version);
439 ok(sdesc11.
Flags == 0x100,
"Unexpected Flags %#x.\n", sdesc11.
Flags);
447 ok(sdesc11.
DefCount == 0,
"GetDesc failed, got %u, expected %u\n", sdesc11.
DefCount, 0);
448 ok(sdesc11.
DclCount == 18,
"GetDesc failed, got %u, expected %u\n", sdesc11.
DclCount, 18);
478 hr = ref12->lpVtbl->
GetDesc(ref12, &sdesc12);
479 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
480 ok(!
memcmp(&sdesc11, &sdesc12,
sizeof(sdesc12)),
"D3D11 and D3D12 descs do not match.\n");
483#if D3D_COMPILER_VERSION
484 ret = ref11->lpVtbl->GetBitwiseInstructionCount(ref11);
485 ok(
ret == 0,
"Got unexpected ret %u.\n",
ret);
487 ret = ref11->lpVtbl->GetConversionInstructionCount(ref11);
488 ok(
ret == 2,
"Got unexpected ret %u.\n",
ret);
490 ret = ref11->lpVtbl->GetMovInstructionCount(ref11);
491 ok(
ret == 10,
"Got unexpected ret %u.\n",
ret);
493 ret = ref11->lpVtbl->GetMovcInstructionCount(ref11);
494 ok(
ret == 0,
"Got unexpected ret %u.\n",
ret);
499 ok(
ret == 0,
"Got unexpected ret %u.\n",
ret);
502 ok(
ret == 2,
"Got unexpected ret %u.\n",
ret);
505 ok(
ret == 10,
"Got unexpected ret %u.\n",
ret);
508 ok(
ret == 0,
"Got unexpected ret %u.\n",
ret);
515#if D3D_COMPILER_VERSION >= 46
516 expected_min_prec = 0;
518 expected_min_prec = ~0
u;
520 ok(desc_46.
MinPrecision == expected_min_prec,
"Got MinPrecision %#x, expected %#x.\n",
527 hr = ref11->lpVtbl->GetInputParameterDesc(ref11,
i, &desc11);
528 ok(
hr ==
S_OK,
"Got unexpected hr %#lx, i %u.\n",
hr,
i);
539 ok(desc11.
Mask == pdesc->
Mask,
"Got unexpected SystemValueType %#x, i %u.\n", desc11.
Mask,
i);
546 ok(desc11.
Stream == pdesc->
Stream,
"Got unexpected Stream %u, i %u.\n",
548 else if (
sizeof(
void *) == 4)
549 ok(!desc11.
Stream,
"Got unexpected Stream %u, i %u.\n", desc11.
Stream,
i);
554 ok(
hr ==
S_OK,
"Got unexpected hr %#lx, i %u.\n",
hr,
i);
556 ok(!
memcmp(&desc12, &desc11,
sizeof(desc11)),
"D3D11 and D3D12 descs do not match.\n");
564 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11,
i, &desc11);
565 ok(
hr ==
S_OK,
"Got unexpected hr %#lx, i %u.\n",
hr,
i);
576 ok(desc11.
Mask == pdesc->
Mask,
"Got unexpected SystemValueType %#x, i %u.\n", desc11.
Mask,
i);
583 ok(desc11.
Stream == pdesc->
Stream,
"Got unexpected Stream %u, i %u.\n",
585 else if (
sizeof(
void *) == 4)
586 ok(!desc11.
Stream,
"Got unexpected Stream %u, i %u.\n", desc11.
Stream,
i);
591 ok(
hr ==
S_OK,
"Got unexpected hr %#lx, i %u.\n",
hr,
i);
593 ok(!
memcmp(&desc12, &desc11,
sizeof(desc11)),
"D3D11 and D3D12 descs do not match.\n");
600 ok(
count == 1,
"Got unexpected ref count %lu.\n",
count);
603 count = ref11->lpVtbl->Release(ref11);
604 ok(
count == 0,
"Got unexpected ref count %lu.\n",
count);
615 Filter = MIN_MAG_MIP_LINEAR;
619SamplerComparisonState samc
621 Filter = MIN_MAG_MIP_LINEAR;
624 ComparisonFunc = LESS;
628 uint f : SV_RenderTargetArrayIndex;
629 uint g : SV_InstanceID;
630 uint h : SV_PrimitiveID;
631 float2 uv : TEXCOORD;
634 float4
c : SV_position;
635 bool d : SV_Coverage;
636 bool e : SV_IsFrontFace;
640 float a : SV_Target1;
643 bool c : SV_Coverage;
648 float4
x = tex1.Sample(
sam,
p.uv);
649 x += tex1.SampleCmp(samc,
p.uv, 0.3f);
651 x += tex2.SampleCmp(samc,
p.uv, 0.4f);
653 x += tex2.SampleCmp(samc,
p.uv, 0.1f);
655 x += tex2.SampleBias(
sam,
p.uv, 0.1f);
657 x += tex2.SampleBias(
sam,
p.uv, 0.2f);
659 x += tex2.SampleBias(
sam,
p.uv, 0.3f);
661 x += tex2.SampleBias(
sam,
p.uv, 0.4f);
662 x += tex2.SampleGrad(
sam,
p.uv,
x.xy,
x.xy);
663 x += tex2.SampleGrad(
sam,
p.uv,
x.xz,
x.xz);
664 x += tex2.SampleGrad(
sam,
p.uv,
x.xz,
x.zy);
665 x += tex2.SampleGrad(
sam,
p.uv,
x.xz,
x.zw);
666 x += tex2.SampleGrad(
sam,
p.uv,
x.xz,
x.wz);
6750x43425844, 0x19e2f325, 0xf1ec39a3, 0x3c5a8b53, 0x5bd5fb65, 0x00000001, 0x000008d0, 0x00000005,
6760x00000034, 0x0000011c, 0x00000254, 0x000002e4, 0x00000854, 0x46454452, 0x000000e0, 0x00000000,
6770x00000000, 0x00000004, 0x0000001c, 0xffff0401, 0x00000100, 0x000000af, 0x0000009c, 0x00000003,
6780x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x000000a0, 0x00000003,
6790x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000002, 0x000000a5, 0x00000002,
6800x00000005, 0x00000004, 0xffffffff, 0x00000000, 0x00000001, 0x0000000c, 0x000000aa, 0x00000002,
6810x00000005, 0x00000004, 0xffffffff, 0x00000001, 0x00000001, 0x0000000c, 0x006d6173, 0x636d6173,
6820x78657400, 0x65740031, 0x4d003278, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
6830x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3932, 0x332e3235, 0x00313131, 0x4e475349,
6840x00000130, 0x00000008, 0x00000008, 0x000000c8, 0x00000000, 0x00000004, 0x00000001, 0x00000000,
6850x00000001, 0x000000e2, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x000000f0,
6860x00000000, 0x00000007, 0x00000001, 0x00000000, 0x00000004, 0x000000ff, 0x00000000, 0x00000009,
6870x00000001, 0x00000000, 0x00000008, 0x0000010e, 0x00000000, 0x00000000, 0x00000003, 0x00000001,
6880x00000303, 0x00000117, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x00000004, 0x0000011d,
6890x00000003, 0x00000000, 0x00000003, 0x00000002, 0x0000000f, 0x00000123, 0x00000000, 0x00000001,
6900x00000003, 0x00000003, 0x0000000f, 0x525f5653, 0x65646e65, 0x72615472, 0x41746567, 0x79617272,
6910x65646e49, 0x56530078, 0x736e495f, 0x636e6174, 0x00444965, 0x505f5653, 0x696d6972, 0x65766974,
6920x53004449, 0x73495f56, 0x6e6f7246, 0x63614674, 0x45540065, 0x4f4f4358, 0x56004452, 0x45434146,
6930x4c4f4300, 0x5300524f, 0x6f705f56, 0x69746973, 0xab006e6f, 0x4e47534f, 0x00000088, 0x00000004,
6940x00000008, 0x00000068, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000e01, 0x00000068,
6950x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000e01, 0x00000072, 0x00000000, 0x00000000,
6960x00000001, 0xffffffff, 0x00000e01, 0x0000007e, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
6970x00000e01, 0x545f5653, 0x65677261, 0x56530074, 0x766f435f, 0x67617265, 0x56530065, 0x7065445f,
6980xab006874, 0x52444853, 0x00000568, 0x00000041, 0x0000015a, 0x0100086a, 0x0300005a, 0x00106000,
6990x00000000, 0x0300085a, 0x00106000, 0x00000001, 0x04001858, 0x00107000, 0x00000000, 0x00005555,
7000x04001858, 0x00107000, 0x00000001, 0x00005555, 0x03001062, 0x00101032, 0x00000001, 0x03000065,
7010x00102012, 0x00000000, 0x03000065, 0x00102012, 0x00000001, 0x02000065, 0x0000f000, 0x02000065,
7020x0000c001, 0x02000068, 0x00000003, 0x09000045, 0x001000f2, 0x00000000, 0x00101046, 0x00000001,
7030x00107e46, 0x00000000, 0x00106000, 0x00000000, 0x0b000046, 0x00100012, 0x00000001, 0x00101046,
7040x00000001, 0x00107006, 0x00000000, 0x00106000, 0x00000001, 0x00004001, 0x3e99999a, 0x07000000,
7050x001000f2, 0x00000000, 0x00100e46, 0x00000000, 0x00100006, 0x00000001, 0x07000031, 0x00100012,
7060x00000001, 0x0010001a, 0x00000000, 0x00004001, 0x3dcccccd, 0x0304001f, 0x0010000a, 0x00000001,
7070x0b000046, 0x00100012, 0x00000001, 0x00101046, 0x00000001, 0x00107006, 0x00000001, 0x00106000,
7080x00000001, 0x00004001, 0x3ecccccd, 0x07000000, 0x001000f2, 0x00000001, 0x00100e46, 0x00000000,
7090x00100006, 0x00000001, 0x01000012, 0x07000031, 0x00100012, 0x00000002, 0x0010001a, 0x00000000,
7100x00004001, 0x3e4ccccd, 0x0304001f, 0x0010000a, 0x00000002, 0x0b000046, 0x00100012, 0x00000002,
7110x00101046, 0x00000001, 0x00107006, 0x00000001, 0x00106000, 0x00000001, 0x00004001, 0x3dcccccd,
7120x07000000, 0x001000f2, 0x00000001, 0x00100e46, 0x00000000, 0x00100006, 0x00000002, 0x01000012,
7130x07000031, 0x00100012, 0x00000002, 0x0010001a, 0x00000000, 0x00004001, 0x3e99999a, 0x0304001f,
7140x0010000a, 0x00000002, 0x0b00004a, 0x001000f2, 0x00000002, 0x00101046, 0x00000001, 0x00107e46,
7150x00000001, 0x00106000, 0x00000000, 0x00004001, 0x3dcccccd, 0x07000000, 0x001000f2, 0x00000001,
7160x00100e46, 0x00000000, 0x00100e46, 0x00000002, 0x01000012, 0x07000031, 0x00100012, 0x00000002,
7170x0010001a, 0x00000000, 0x00004001, 0x3ecccccd, 0x0304001f, 0x0010000a, 0x00000002, 0x0b00004a,
7180x001000f2, 0x00000002, 0x00101046, 0x00000001, 0x00107e46, 0x00000001, 0x00106000, 0x00000000,
7190x00004001, 0x3e4ccccd, 0x07000000, 0x001000f2, 0x00000001, 0x00100e46, 0x00000000, 0x00100e46,
7200x00000002, 0x01000012, 0x07000031, 0x00100012, 0x00000002, 0x0010001a, 0x00000000, 0x00004001,
7210x3f000000, 0x0304001f, 0x0010000a, 0x00000002, 0x0b00004a, 0x001000f2, 0x00000002, 0x00101046,
7220x00000001, 0x00107e46, 0x00000001, 0x00106000, 0x00000000, 0x00004001, 0x3e99999a, 0x07000000,
7230x001000f2, 0x00000001, 0x00100e46, 0x00000000, 0x00100e46, 0x00000002, 0x01000012, 0x0b00004a,
7240x001000f2, 0x00000002, 0x00101046, 0x00000001, 0x00107e46, 0x00000001, 0x00106000, 0x00000000,
7250x00004001, 0x3ecccccd, 0x07000000, 0x001000f2, 0x00000001, 0x00100e46, 0x00000000, 0x00100e46,
7260x00000002, 0x01000015, 0x01000015, 0x01000015, 0x01000015, 0x01000015, 0x0d000049, 0x001000f2,
7270x00000000, 0x00101046, 0x00000001, 0x00107e46, 0x00000001, 0x00106000, 0x00000000, 0x00100046,
7280x00000001, 0x00100046, 0x00000001, 0x07000000, 0x001000f2, 0x00000000, 0x00100e46, 0x00000000,
7290x00100e46, 0x00000001, 0x0d000049, 0x001000f2, 0x00000001, 0x00101046, 0x00000001, 0x00107e46,
7300x00000001, 0x00106000, 0x00000000, 0x00100086, 0x00000000, 0x00100086, 0x00000000, 0x07000000,
7310x001000f2, 0x00000000, 0x00100e46, 0x00000000, 0x00100e46, 0x00000001, 0x0d000049, 0x001000f2,
7320x00000001, 0x00101046, 0x00000001, 0x00107e46, 0x00000001, 0x00106000, 0x00000000, 0x00100086,
7330x00000000, 0x00100a66, 0x00000000, 0x07000000, 0x001000f2, 0x00000000, 0x00100e46, 0x00000000,
7340x00100e46, 0x00000001, 0x0d000049, 0x001000f2, 0x00000001, 0x00101046, 0x00000001, 0x00107e46,
7350x00000001, 0x00106000, 0x00000000, 0x00100086, 0x00000000, 0x00100ae6, 0x00000000, 0x07000000,
7360x001000f2, 0x00000000, 0x00100e46, 0x00000000, 0x00100e46, 0x00000001, 0x0d000049, 0x001000c2,
7370x00000000, 0x00101046, 0x00000001, 0x001074e6, 0x00000001, 0x00106000, 0x00000000, 0x00100086,
7380x00000000, 0x00100fb6, 0x00000000, 0x07000000, 0x00100032, 0x00000000, 0x00100ae6, 0x00000000,
7390x00100046, 0x00000000, 0x05000036, 0x00102012, 0x00000001, 0x0010001a, 0x00000000, 0x04000036,
7400x0000c001, 0x0010000a, 0x00000000, 0x05000036, 0x00102012, 0x00000000, 0x0010000a, 0x00000000,
7410x04000036, 0x0000f001, 0x00004001, 0xffffffff, 0x0100003e, 0x54415453, 0x00000074, 0x00000032,
7420x00000003, 0x00000000, 0x00000005, 0x00000011, 0x00000000, 0x00000000, 0x00000006, 0x00000005,
7430x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000003,
7440x00000004, 0x00000005, 0x00000018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
7450x00000000, 0x00000000, 0x00000000, 0x00000000,
778#if D3D_COMPILER_VERSION
779 UINT size_x, size_y, size_z, size_total;
784 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
786 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc11);
787 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
791 ok(sdesc11.
Flags == 0x100,
"Unexpected Flags %#x.\n", sdesc11.
Flags);
799 ok(sdesc11.
DefCount == 0,
"GetDesc failed, got %u, expected %u\n", sdesc11.
DefCount, 0);
800 ok(sdesc11.
DclCount == 5,
"GetDesc failed, got %u, expected %u\n", sdesc11.
DclCount, 5);
828#if D3D_COMPILER_VERSION
829 ret = ref11->lpVtbl->GetBitwiseInstructionCount(ref11);
830 ok(
ret == 0,
"GetBitwiseInstructionCount failed, got %u, expected %u\n",
ret, 0);
832 ret = ref11->lpVtbl->GetConversionInstructionCount(ref11);
833 ok(
ret == 0,
"GetConversionInstructionCount failed, got %u, expected %u\n",
ret, 0);
835 ret = ref11->lpVtbl->GetMovInstructionCount(ref11);
836 ok(
ret == 24,
"GetMovInstructionCount failed, got %u, expected %u\n",
ret, 24);
838 ret = ref11->lpVtbl->GetMovcInstructionCount(ref11);
839 ok(
ret == 0,
"GetMovcInstructionCount failed, got %u, expected %u\n",
ret, 0);
843 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, 0,
NULL);
846 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, 0xffffffff, &
desc);
849 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0,
NULL);
852 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0xffffffff, &
desc);
855#if D3D_COMPILER_VERSION
856 hr = ref11->lpVtbl->GetPatchConstantParameterDesc(ref11, 0, &
desc);
865 hr = ref11->lpVtbl->GetInputParameterDesc(ref11,
i, &
desc);
866 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
868 ok(!
strcmp(
desc.SemanticName, pdesc->
SemanticName),
"GetInputParameterDesc(%u) SemanticName failed, got \"%s\", expected \"%s\"\n",
870 ok(
desc.SemanticIndex == pdesc->
SemanticIndex,
"GetInputParameterDesc(%u) SemanticIndex failed, got %u, expected %u\n",
872 ok(
desc.Register == pdesc->
Register,
"GetInputParameterDesc(%u) Register failed, got %u, expected %u\n",
874 ok(
desc.SystemValueType == pdesc->
SystemValueType,
"GetInputParameterDesc(%u) SystemValueType failed, got %x, expected %x\n",
876 ok(
desc.ComponentType == pdesc->
ComponentType,
"GetInputParameterDesc(%u) ComponentType failed, got %x, expected %x\n",
878 ok(
desc.Mask == pdesc->
Mask,
"GetInputParameterDesc(%u) Mask failed, got %x, expected %x\n",
880 ok(
desc.ReadWriteMask == pdesc->
ReadWriteMask,
"GetInputParameterDesc(%u) ReadWriteMask failed, got %x, expected %x\n",
883 ok(
desc.Stream == pdesc->
Stream,
"(%u): got unexpected Stream %u, expected %u.\n",
885 else if (
sizeof(
void *) == 4)
886 ok(!
desc.Stream,
"(%u): got unexpected Stream %u.\n",
i,
desc.Stream);
893 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11,
i, &
desc);
894 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
896 ok(!
strcmp(
desc.SemanticName, pdesc->
SemanticName),
"GetOutputParameterDesc(%u) SemanticName failed, got \"%s\", expected \"%s\"\n",
898 ok(
desc.SemanticIndex == pdesc->
SemanticIndex,
"GetOutputParameterDesc(%u) SemanticIndex failed, got %u, expected %u\n",
900 ok(
desc.Register == pdesc->
Register,
"GetOutputParameterDesc(%u) Register failed, got %u, expected %u\n",
902#if D3D_COMPILER_VERSION
908 ok(
desc.SystemValueType ==
expected,
"(%u): got unexpected SystemValueType %#x, expected %#x.\n",
910 ok(
desc.ComponentType == pdesc->
ComponentType,
"GetOutputParameterDesc(%u) ComponentType failed, got %x, expected %x\n",
912 ok(
desc.Mask == pdesc->
Mask,
"GetOutputParameterDesc(%u) Mask failed, got %x, expected %x\n",
914 ok(
desc.ReadWriteMask == pdesc->
ReadWriteMask,
"GetOutputParameterDesc(%u) ReadWriteMask failed, got %x, expected %x\n",
917 ok(
desc.Stream == pdesc->
Stream,
"(%u): got unexpected Stream %u, expected %u.\n",
919 else if (
sizeof(
void *) == 4)
920 ok(!
desc.Stream,
"(%u): got unexpected Stream %u.\n",
i,
desc.Stream);
923#if D3D_COMPILER_VERSION
927 size_total = ref11->lpVtbl->GetThreadGroupSize(ref11, &size_x, &size_y, &size_z);
928 ok(!size_x,
"Unexpected size %u.\n", size_x);
929 ok(!size_y,
"Unexpected size %u.\n", size_y);
930 ok(!size_z,
"Unexpected size %u.\n", size_z);
931 ok(!size_total,
"Unexpected size %u.\n", size_total);
934 count = ref11->lpVtbl->Release(ref11);
942float4 PS() : SV_Target3
944 float4
a = float4(1.2f, 1.0f, 0.2f, 0.0f);
950 0x43425844, 0xc3773602, 0x04f86bdc, 0x715f33b2, 0x9c063cae, 0x00000001, 0x000000b4, 0x00000003,
951 0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
952 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000003, 0x00000000, 0x00000003, 0x00000003,
953 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x0000003c, 0x00000050, 0x0000000f,
954 0x0100086a, 0x03000065, 0x001020f2, 0x00000003, 0x08000036, 0x001020f2, 0x00000003, 0x00004002,
955 0x3f99999a, 0x3f800000, 0x3e4ccccd, 0x00000000, 0x0100003e,
959float PS() : SV_DepthLessEqual
967 0x43425844, 0xc45db587, 0xdb0601fb, 0x7370900b, 0x219464be, 0x00000001, 0x000000a8, 0x00000003,
968 0x0000002c, 0x0000003c, 0x00000078, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
969 0x00000034, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
970 0x00000e01, 0x445f5653, 0x68747065, 0x7373654c, 0x61757145, 0xabab006c, 0x58454853, 0x00000028,
971 0x00000050, 0x0000000a, 0x0100086a, 0x02000065, 0x00027001, 0x04000036, 0x00027001, 0x00004001,
972 0x3f99999a, 0x0100003e,
976float PS() : SV_DepthGreaterEqual
984 0x43425844, 0x13cce144, 0x3628f322, 0xa8ea9b7d, 0xbbf9f8d7, 0x00000001, 0x000000ac, 0x00000003,
985 0x0000002c, 0x0000003c, 0x0000007c, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
986 0x00000038, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
987 0x00000e01, 0x445f5653, 0x68747065, 0x61657247, 0x45726574, 0x6c617571, 0xababab00, 0x58454853,
988 0x00000028, 0x00000050, 0x0000000a, 0x0100086a, 0x02000065, 0x00026001, 0x04000036, 0x00026001,
989 0x00004001, 0x3f99999a, 0x0100003e,
1001 0x43425844, 0x31c891d1, 0xcbb9d935, 0xa199e1d5, 0x70205254, 0x00000001, 0x000000a0, 0x00000003,
1002 0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
1003 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
1004 0x00000e01, 0x445f5673, 0x48745065, 0xababab00, 0x58454853, 0x00000028, 0x00000050, 0x0000000a,
1005 0x0100086a, 0x02000065, 0x0000c001, 0x04000036, 0x0000c001, 0x00004001, 0x3f99999a, 0x0100003e,
1009float PS() : SV_Depth
1017 0x43425844, 0x1d404736, 0x00e4a4aa, 0x5fcdad54, 0x5abd13f8, 0x00000001, 0x0000009c, 0x00000003,
1018 0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
1019 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
1020 0x00000e01, 0x445f5653, 0x68747065, 0xababab00, 0x52444853, 0x00000024, 0x00000040, 0x00000009,
1021 0x02000065, 0x0000c001, 0x04000036, 0x0000c001, 0x00004001, 0x3f99999a, 0x0100003e,
1025bool PS() : SV_COVERAGE
1033 0x43425844, 0x6127612d, 0x09e2bb9a, 0xbba3889a, 0x987dafc2, 0x00000001, 0x000000a0, 0x00000003,
1034 0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
1035 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000001, 0xffffffff,
1036 0x00000e01, 0x435f5653, 0x5245564f, 0x00454741, 0x52444853, 0x00000028, 0x00000041, 0x0000000a,
1037 0x0100086a, 0x02000065, 0x0000f000, 0x04000036, 0x0000f001, 0x00004001, 0xffffffff, 0x0100003e,
1042 static const struct test_reflection_desc_ps_output_test
1077 ref11->lpVtbl->
Release(ref11);
1080 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1084 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0, &
desc);
1085 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1087 ok(!
strcmp(
desc.SemanticName, pdesc->
SemanticName),
"(%u): GetOutputParameterDesc SemanticName failed, got \"%s\", expected \"%s\"\n",
1089 ok(
desc.SemanticIndex == pdesc->
SemanticIndex,
"(%u): GetOutputParameterDesc SemanticIndex failed, got %u, expected %u\n",
1091 ok(
desc.Register == pdesc->
Register,
"(%u): GetOutputParameterDesc Register failed, got %u, expected %u\n",
1093#if D3D_COMPILER_VERSION
1099 ok(
desc.SystemValueType ==
expected,
"(%u): Got unexpected SystemValueType %#x, expected %x.\n",
1101 ok(
desc.ComponentType == pdesc->
ComponentType,
"(%u): GetOutputParameterDesc ComponentType failed, got %x, expected %x\n",
1103 ok(
desc.Mask == pdesc->
Mask,
"(%u): GetOutputParameterDesc Mask failed, got %x, expected %x\n",
1105 ok(
desc.ReadWriteMask == pdesc->
ReadWriteMask,
"(%u): GetOutputParameterDesc ReadWriteMask failed, got %x, expected %x\n",
1108 ok(
desc.Stream == pdesc->
Stream,
"(%u): got unexpected Stream %u, expected %u.\n",
1110 else if (
sizeof(
void *) == 4)
1111 ok(!
desc.Stream,
"(%u): got unexpected Stream %u.\n",
i,
desc.Stream);
1126 Filter = MIN_MAG_MIP_LINEAR;
1141float4 PS(float2 uv : TEXCOORD0) : sv_target
1143 float4
q = tex1[0].Sample(
sam, uv) + tex1[1].Sample(
sam, uv) + tex2.Sample(
sam, uv);
1145 q.w =
q.w +
y[0] +
y[1] +
t;
1151 0x43425844, 0x003472ed, 0xe3436185, 0xcc1faad3, 0xfdac0a07, 0x00000001, 0x000004b0, 0x00000005,
1152 0x00000034, 0x00000204, 0x00000238, 0x0000026c, 0x00000434, 0x46454452, 0x000001c8, 0x00000002,
1153 0x000000d0, 0x00000005, 0x0000001c, 0xffff0400, 0x00000100, 0x0000019e, 0x000000bc, 0x00000003,
1154 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x000000c0, 0x00000002,
1155 0x00000005, 0x00000004, 0xffffffff, 0x00000000, 0x00000002, 0x0000000c, 0x000000c5, 0x00000002,
1156 0x00000005, 0x00000004, 0xffffffff, 0x00000002, 0x00000001, 0x0000000c, 0x000000ca, 0x00000000,
1157 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x000000cd, 0x00000000,
1158 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x006d6173, 0x31786574,
1159 0x78657400, 0x31630032, 0x00326300, 0x000000ca, 0x00000003, 0x00000100, 0x00000030, 0x00000000,
1160 0x00000000, 0x000000cd, 0x00000001, 0x00000184, 0x00000010, 0x00000000, 0x00000000, 0x00000148,
1161 0x00000000, 0x00000004, 0x00000002, 0x0000014c, 0x00000000, 0x0000015c, 0x00000010, 0x00000014,
1162 0x00000002, 0x00000160, 0x00000000, 0x00000170, 0x00000024, 0x00000004, 0x00000000, 0x00000174,
1163 0x00000000, 0xabab0078, 0x00030000, 0x00010001, 0x00000000, 0x00000000, 0xabab0079, 0x00030000,
1164 0x00010001, 0x00000002, 0x00000000, 0xabab007a, 0x00020000, 0x00010001, 0x00000000, 0x00000000,
1165 0x0000019c, 0x00000000, 0x00000004, 0x00000002, 0x0000014c, 0x00000000, 0x694d0074, 0x736f7263,
1166 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120,
1167 0xabab0031, 0x4e475349, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000,
1168 0x00000003, 0x00000000, 0x00000303, 0x43584554, 0x44524f4f, 0xababab00, 0x4e47534f, 0x0000002c,
1169 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000f,
1170 0x745f7673, 0x65677261, 0xabab0074, 0x52444853, 0x000001c0, 0x00000040, 0x00000070, 0x04000059,
1171 0x00208e46, 0x00000000, 0x00000003, 0x04000059, 0x00208e46, 0x00000001, 0x00000001, 0x0300005a,
1172 0x00106000, 0x00000000, 0x04001858, 0x00107000, 0x00000000, 0x00005555, 0x04001858, 0x00107000,
1173 0x00000001, 0x00005555, 0x04001858, 0x00107000, 0x00000002, 0x00005555, 0x03001062, 0x00101032,
1174 0x00000000, 0x03000065, 0x001020f2, 0x00000000, 0x02000068, 0x00000002, 0x09000045, 0x001000f2,
1175 0x00000000, 0x00101046, 0x00000000, 0x00107e46, 0x00000000, 0x00106000, 0x00000000, 0x09000045,
1176 0x001000f2, 0x00000001, 0x00101046, 0x00000000, 0x00107e46, 0x00000001, 0x00106000, 0x00000000,
1177 0x07000000, 0x001000f2, 0x00000000, 0x00100e46, 0x00000000, 0x00100e46, 0x00000001, 0x09000045,
1178 0x001000f2, 0x00000001, 0x00101046, 0x00000000, 0x00107e46, 0x00000002, 0x00106000, 0x00000000,
1179 0x07000000, 0x001000f2, 0x00000000, 0x00100e46, 0x00000000, 0x00100e46, 0x00000001, 0x08000000,
1180 0x00100082, 0x00000000, 0x0010003a, 0x00000000, 0x0020800a, 0x00000000, 0x00000001, 0x08000000,
1181 0x00100082, 0x00000000, 0x0010003a, 0x00000000, 0x0020800a, 0x00000000, 0x00000002, 0x08000000,
1182 0x00102082, 0x00000000, 0x0010003a, 0x00000000, 0x0020800a, 0x00000001, 0x00000000, 0x08000000,
1183 0x00102012, 0x00000000, 0x0010000a, 0x00000000, 0x0020800a, 0x00000000, 0x00000000, 0x05000036,
1184 0x00102062, 0x00000000, 0x00100656, 0x00000000, 0x0100003e, 0x54415453, 0x00000074, 0x0000000b,
1185 0x00000002, 0x00000000, 0x00000002, 0x00000006, 0x00000000, 0x00000000, 0x00000001, 0x00000000,
1186 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000,
1187 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1188 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1195 {
"tex2",
D3D_SIT_TEXTURE, 2, 1, 12,
D3D_RETURN_TYPE_FLOAT,
D3D_SRV_DIMENSION_TEXTURE2D, 0xffffffff, 0, 2},
1197 {
"c2",
D3D_SIT_CBUFFER, 1, 1, 0, 0,
D3D_SRV_DIMENSION_UNKNOWN, 0, 0, 1},
1206 [numthreads(16, 8, 4)]
1207 void main( uint3 DTid : SV_DispatchThreadID )
1211 static const DWORD test_blob_cs_4_0[] =
1213 0x43425844, 0x698a31ca, 0x8c6eee35, 0x2377107a, 0xe1e69066, 0x00000001, 0x00000150, 0x00000005,
1214 0x00000034, 0x0000008c, 0x0000009c, 0x000000ac, 0x000000d4, 0x46454452, 0x00000050, 0x00000000,
1215 0x00000000, 0x00000000, 0x0000001c, 0x43530400, 0x00000100, 0x0000001c, 0x7263694d, 0x666f736f,
1216 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39322e,
1217 0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
1218 0x00000008, 0x00000000, 0x00000008, 0x58454853, 0x00000020, 0x00050040, 0x00000008, 0x0100086a,
1219 0x0400009b, 0x00000010, 0x00000008, 0x00000004, 0x0100003e, 0x54415453, 0x00000074, 0x00000001,
1220 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000,
1221 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1222 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1223 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1230 [numthreads(16, 8, 4)]
1231 void main( uint3 DTid : SV_DispatchThreadID )
1235 static const DWORD test_blob[] =
1237 0x43425844, 0x77a220d9, 0xfebd5b9c, 0x14a86e30, 0x57537394, 0x00000001, 0x00000184, 0x00000005,
1238 0x00000034, 0x000000a0, 0x000000b0, 0x000000c0, 0x000000e8, 0x46454452, 0x00000064, 0x00000000,
1239 0x00000000, 0x00000000, 0x0000003c, 0x43530501, 0x00000500, 0x0000003c, 0x25441313, 0x0000003c,
1240 0x00000018, 0x00000028, 0x00000028, 0x00000024, 0x0000000c, 0x00000000, 0x7263694d, 0x666f736f,
1241 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30,
1242 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f, 0x00000008, 0x00000000, 0x00000008,
1243 0x58454853, 0x00000020, 0x00050051, 0x00000008, 0x0100086a, 0x0400009b, 0x00000010, 0x00000008,
1244 0x00000004, 0x0100003e, 0x54415453, 0x00000094, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
1245 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1246 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1247 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1248 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1251 UINT size_x, size_y, size_z, size_total;
1260 ref11->lpVtbl->Release(ref11);
1266 size_total = ref11->lpVtbl->GetThreadGroupSize(ref11, &size_x, &size_y, &size_z);
1267 ok(size_x == 16,
"Unexpected size %u.\n", size_x);
1268 ok(size_y == 8,
"Unexpected size %u.\n", size_y);
1269 ok(size_z == 4,
"Unexpected size %u.\n", size_z);
1270 ok(size_total == size_x * size_y * size_z,
"Unexpected size %u.\n", size_total);
1272 ref11->lpVtbl->Release(ref11);
1276 unsigned int result_count,
unsigned int target_version)
1294 "Got unexpected hr %#lx, expected %#lx.\n",
hr,
expected_hr);
1299#if D3D_COMPILER_VERSION
1301 ref11->lpVtbl->QueryInterface(ref11, &IID_ID3D12ShaderReflection, (
void **)&ref12_from_d3d11);
1302 ok((!ref12 && !ref12_from_d3d11) || (ref12 && ref12_from_d3d11),
"Got unexpected interfaces %p, %p.\n",
1303 ref12, ref12_from_d3d11);
1307 ok(ref12 != (
void *)ref11,
"Got unexpected interfaces %p, %p.\n", ref11, ref12);
1308 ok(ref12_from_d3d11 == (
void *)ref11,
"Got unexpected interfaces %p, %p.\n",
1309 ref11, ref12_from_d3d11);
1311 ok(!!ref11_from_d3d12,
"Got zero interface.\n");
1316 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11, 0,
NULL);
1319 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11, 0xffffffff, &desc11);
1322#if D3D_COMPILER_VERSION
1323 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11,
NULL, &desc11);
1326 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11,
"sam",
NULL);
1329 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11,
"invalid",
NULL);
1332 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11,
"invalid", &desc11);
1337 for (
i = 0;
i < result_count; ++
i)
1341 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11,
i, &desc11);
1342 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1345 ok(desc11.
Type == pdesc->
Type,
"Got unexpected Type %#x, i %u.\n", desc11.
Type,
i);
1348#if D3D_COMPILER_VERSION
1361 memset(&desc12, 0,
sizeof(desc12));
1362 desc12.
Space = 0xdeadbeef;
1363 desc12.
uID = 0xdeadbeef;
1366 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1370 "D3D11 and D3D12 descs do not match.\n");
1371 ok(desc12.
Space == pdesc->
Space,
"Got unexpected Space %u, i %u.\n", desc12.
Space,
i);
1372 ok(desc12.
uID == pdesc->
uID,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1374 memset(&desc12, 0,
sizeof(desc12));
1375 desc12.
Space = 0xdeadbeef;
1376 desc12.
uID = 0xdeadbeef;
1377 hr = ref12_from_d3d11->lpVtbl->GetResourceBindingDesc(ref12_from_d3d11,
i, &desc12);
1378 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1382 "D3D11 and D3D12 descs do not match.\n");
1387 ? pdesc->
Space : 0xdeadbeef;
1390 ok(desc12.
uID == 0xdeadbeef,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1392 memset(&desc12, 0,
sizeof(desc12));
1393 desc12.
Space = 0xdeadbeef;
1394 desc12.
uID = 0xdeadbeef;
1395 hr = ref11_from_d3d12->lpVtbl->GetResourceBindingDesc(ref11_from_d3d12,
i, &desc12);
1396 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1399 "D3D11 and D3D12 descs do not match.\n");
1400 ok(desc12.
Space == pdesc->
Space,
"Got unexpected Space %u, i %u.\n", desc12.
Space,
i);
1401 ok(desc12.
uID == pdesc->
uID,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1405#if D3D_COMPILER_VERSION
1407 for (
i = 0;
i < result_count; ++
i)
1411 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, pdesc->
Name, &desc11);
1412 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1415 ok(desc11.
Type == pdesc->
Type,
"Got unexpected Type %#x, i %u.\n", desc11.
Type,
i);
1425 memset(&desc12, 0,
sizeof(desc12));
1426 desc12.
Space = 0xdeadbeef;
1427 desc12.
uID = 0xdeadbeef;
1430 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1434 "D3D11 and D3D12 descs do not match.\n");
1435 ok(desc12.
Space == pdesc->
Space,
"Got unexpected Space %u, i %u.\n", desc12.
Space,
i);
1436 ok(desc12.
uID == pdesc->
uID,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1438 memset(&desc12, 0,
sizeof(desc12));
1439 desc12.
Space = 0xdeadbeef;
1440 desc12.
uID = 0xdeadbeef;
1441 hr = ref12_from_d3d11->lpVtbl->GetResourceBindingDescByName(ref12_from_d3d11, pdesc->
Name, &desc12);
1442 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1446 "D3D11 and D3D12 descs do not match.\n");
1448 ? pdesc->
Space : 0xdeadbeef;
1451 ok(desc12.
uID == 0xdeadbeef,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1453 memset(&desc12, 0,
sizeof(desc12));
1454 desc12.
Space = 0xdeadbeef;
1455 desc12.
uID = 0xdeadbeef;
1456 hr = ref11_from_d3d12->lpVtbl->GetResourceBindingDescByName(ref11_from_d3d12, pdesc->
Name, &desc12);
1457 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1460 "D3D11 and D3D12 descs do not match.\n");
1461 ok(desc12.
Space == pdesc->
Space,
"Got unexpected Space %u, i %u.\n", desc12.
Space,
i);
1462 ok(desc12.
uID == pdesc->
uID,
"Got unexpected uID %#x, i %u.\n", desc12.
uID,
i);
1469 count = ref11_from_d3d12->lpVtbl->Release(ref11_from_d3d12);
1470 ok(
count == 1,
"Got unexpected ref count %lu.\n",
count);
1475 count = ref12_from_d3d11->lpVtbl->Release(ref12_from_d3d11);
1476 ok(
count == 1,
"Got unexpected ref count %lu.\n",
count);
1479 count = ref11->lpVtbl->Release(ref11);
1483#if D3D_COMPILER_VERSION
1510float4 cTest::test(float2
vec)
1523float4 PS(float2 uv : TEXCOORD0) : sv_target
1525 float4
q = g_Test.test(uv);
15310x43425844, 0xe6470e0d, 0x0d5698bb, 0x29373c30, 0x64a5d268, 0x00000001, 0x00000590, 0x00000006,
15320x00000038, 0x00000318, 0x0000034c, 0x00000380, 0x000003d8, 0x000004f4, 0x46454452, 0x000002d8,
15330x00000002, 0x00000060, 0x00000001, 0x0000003c, 0xffff0500, 0x00000100, 0x000002a4, 0x31314452,
15340x0000003c, 0x00000018, 0x00000020, 0x00000028, 0x00000024, 0x0000000c, 0x00000001, 0x0000005c,
15350x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0xab003163,
15360x00000090, 0x00000001, 0x000000a0, 0x00000010, 0x00000000, 0x00000002, 0x0000005c, 0x00000004,
15370x00000120, 0x00000040, 0x00000000, 0x00000000, 0x69685424, 0x696f5073, 0x7265746e, 0xababab00,
15380x000000c8, 0x00000000, 0x00000001, 0x00000006, 0x000000fc, 0x00000000, 0xffffffff, 0x00000000,
15390xffffffff, 0x00000000, 0x65545f67, 0x69007473, 0x74736554, 0xababab00, 0x00000006, 0x00000001,
15400x00000000, 0x000000d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000cf, 0x00250007,
15410x00040001, 0x00000000, 0x00000000, 0x000000d8, 0x00000000, 0x00000000, 0x00000000, 0x000000cf,
15420x000001c0, 0x00000000, 0x00000004, 0x00000000, 0x000001c8, 0x00000000, 0xffffffff, 0x00000000,
15430xffffffff, 0x00000000, 0x000001ec, 0x00000010, 0x00000014, 0x00000000, 0x000001f0, 0x00000000,
15440xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00000214, 0x00000024, 0x00000004, 0x00000000,
15450x0000021c, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00000240, 0x00000030,
15460x00000008, 0x00000002, 0x00000280, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
15470x6c660061, 0x0074616f, 0x00030000, 0x00010001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15480x00000000, 0x00000000, 0x000001c2, 0xabab0062, 0x00030000, 0x00010001, 0x00000002, 0x00000000,
15490x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000001c2, 0x6e690069, 0xabab0074, 0x00020000,
15500x00010001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000216,
15510x00730074, 0x00030000, 0x00010001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15520x00000000, 0x000001c2, 0x000001c0, 0x00000244, 0x00000000, 0x000001ec, 0x00000244, 0x00000004,
15530x00000005, 0x00020001, 0x00020000, 0x00000268, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15540x00000242, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072,
15550x6c69706d, 0x39207265, 0x2e39322e, 0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x0000002c,
15560x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000303,
15570x43584554, 0x44524f4f, 0xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020,
15580x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000f, 0x745f7673, 0x65677261, 0xabab0074,
15590x45434649, 0x00000050, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000040, 0x00000034,
15600x00000024, 0x00000000, 0x4e47534f, 0x00000001, 0x00000001, 0x00000040, 0x00000044, 0x00000048,
15610x00010000, 0x00000000, 0xabab0000, 0x00000000, 0x73655463, 0xabab0074, 0x58454853, 0x00000114,
15620x00000050, 0x00000045, 0x0100086a, 0x04000059, 0x00208e46, 0x00000000, 0x00000004, 0x03000091,
15630x00000000, 0x00000000, 0x05000092, 0x00000000, 0x00000000, 0x00010001, 0x00000000, 0x03001062,
15640x00101032, 0x00000000, 0x03000065, 0x001020f2, 0x00000000, 0x02000068, 0x00000002, 0x07000000,
15650x00100042, 0x00000000, 0x0010101a, 0x00000000, 0x0010100a, 0x00000000, 0x05000036, 0x00100032,
15660x00000000, 0x00101046, 0x00000000, 0x05000036, 0x00100082, 0x00000000, 0x00004001, 0x00000000,
15670x05000036, 0x00100032, 0x00000001, 0x0011d516, 0x00000000, 0x0a000001, 0x001000f2, 0x00000000,
15680x00100e46, 0x00000000, 0x04a08006, 0x0010001a, 0x00000001, 0x0010000a, 0x00000001, 0x08000000,
15690x00102012, 0x00000000, 0x0010000a, 0x00000000, 0x0020800a, 0x00000000, 0x00000003, 0x05000036,
15700x001020e2, 0x00000000, 0x00100e56, 0x00000000, 0x0100003e, 0x54415453, 0x00000094, 0x00000008,
15710x00000002, 0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x00000001, 0x00000001, 0x00000000,
15720x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15730x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15740x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
15750x00000000, 0x00000000, 0x00000000, 0x00000000,
1590 {{
"g_Test", 0, 1, 6, 0}, 0},
1591 {{
"a", 0, 4, 0, 0}, 1},
1592 {{
"b", 16, 20, 0, 0}, 2},
1593 {{
"i", 36, 4, 0, 0}, 3},
1594 {{
"t", 48, 8, 2, 0}, 4},
1619float4 cTest::test(float2
vec)
1632float4 PS(float2 uv : TEXCOORD0) : sv_target
1634 float4
q = g_Test.test(uv);
16400x43425844, 0x0241ca0a, 0xa3bf8da0, 0xdd5f853e, 0xfe868252, 0x00000001, 0x00000414, 0x00000005,
16410x00000034, 0x00000230, 0x00000264, 0x00000298, 0x00000398, 0x46454452, 0x000001f4, 0x00000002,
16420x00000068, 0x00000002, 0x0000001c, 0xffff0400, 0x00000100, 0x000001c0, 0x0000005c, 0x00000000,
16430x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000065, 0x00000000,
16440x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x6f6c4724, 0x736c6162,
16450x00316300, 0x0000005c, 0x00000001, 0x00000098, 0x00000010, 0x00000000, 0x00000000, 0x00000065,
16460x00000004, 0x000000e8, 0x00000040, 0x00000000, 0x00000000, 0x000000b0, 0x00000000, 0x00000004,
16470x00000002, 0x000000d8, 0x00000000, 0x65545f67, 0x6d007473, 0x006e6f5f, 0x00010000, 0x00010001,
16480x00000000, 0x00000000, 0x000000b7, 0x000000bc, 0x00000000, 0x00000005, 0x00010001, 0x00010000,
16490x000000cc, 0x00000148, 0x00000000, 0x00000004, 0x00000000, 0x0000014c, 0x00000000, 0x0000015c,
16500x00000010, 0x00000014, 0x00000000, 0x00000160, 0x00000000, 0x00000170, 0x00000024, 0x00000004,
16510x00000000, 0x00000174, 0x00000000, 0x00000184, 0x00000030, 0x00000008, 0x00000002, 0x000001b0,
16520x00000000, 0xabab0061, 0x00030000, 0x00010001, 0x00000000, 0x00000000, 0xabab0062, 0x00030000,
16530x00010001, 0x00000002, 0x00000000, 0xabab0069, 0x00020000, 0x00010001, 0x00000000, 0x00000000,
16540xabab0074, 0x00030000, 0x00010001, 0x00000000, 0x00000000, 0x00000148, 0x00000188, 0x00000000,
16550x0000015c, 0x00000188, 0x00000004, 0x00000005, 0x00020001, 0x00020000, 0x00000198, 0x7263694d,
16560x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x39207265,
16570x2e39322e, 0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x0000002c, 0x00000001, 0x00000008,
16580x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000303, 0x43584554, 0x44524f4f,
16590xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000,
16600x00000003, 0x00000000, 0x0000000f, 0x745f7673, 0x65677261, 0xabab0074, 0x52444853, 0x000000f8,
16610x00000040, 0x0000003e, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x04000059, 0x00208e46,
16620x00000001, 0x00000004, 0x03001062, 0x00101032, 0x00000000, 0x03000065, 0x001020f2, 0x00000000,
16630x02000068, 0x00000001, 0x07000000, 0x00100042, 0x00000000, 0x0010101a, 0x00000000, 0x0010100a,
16640x00000000, 0x05000036, 0x00100032, 0x00000000, 0x00101046, 0x00000000, 0x05000036, 0x00100082,
16650x00000000, 0x00004001, 0x00000000, 0x0d000037, 0x001000f2, 0x00000000, 0x00208006, 0x00000000,
16660x00000000, 0x00100e46, 0x00000000, 0x00004002, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
16670x08000000, 0x00102012, 0x00000000, 0x0010000a, 0x00000000, 0x0020800a, 0x00000001, 0x00000003,
16680x05000036, 0x001020e2, 0x00000000, 0x00100e56, 0x00000000, 0x0100003e, 0x54415453, 0x00000074,
16690x00000007, 0x00000001, 0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
16700x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
16710x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
16720x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1687 {{
"a", 0, 4, 0, 0}, 1},
1688 {{
"b", 16, 20, 0, 0}, 2},
1689 {{
"i", 36, 4, 0, 0}, 3},
1690 {{
"t", 48, 8, 2, 0}, 4},
1731 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
1733#if D3D_COMPILER_VERSION
1735 &IID_ID3D12ShaderReflection, (
void **)&ref12);
1738 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc);
1739 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
1744 ok(sdesc.
Flags == 0x100,
"Unexpected Flags %#x.\n", sdesc.
Flags);
1787 cb11_dummy = ref11->lpVtbl->GetConstantBufferByIndex(ref11, 0xffffffff);
1788 ok(!!cb11_dummy,
"Got unexpected buffer %p.\n", cb11_dummy);
1793 ok(!!cb12_dummy,
"Got unexpected buffer %p.\n", cb12_dummy);
1794 ok(cb12_dummy == (
void *)cb11_dummy,
"Got unexpected buffer %p.\n", cb12_dummy);
1797 ok(!!v12_dummy,
"Got unexpected NULL variable.\n");
1799 v11_dummy = cb11_dummy->lpVtbl->GetVariableByIndex(cb11_dummy, 0xffffffff);
1800 ok(!!v11_dummy,
"Got unexpected NULL variable.\n");
1802 t11_dummy = v11_dummy->lpVtbl->GetType(v11_dummy);
1803 ok(!!t11_dummy,
"Got NULL type.\n");
1806 cb11_valid = ref11->lpVtbl->GetConstantBufferByIndex(ref11, 1);
1807 ok(cb11_valid != cb11_dummy && cb11_valid,
"Got unexpected buffer %p.\n", cb11_valid);
1811 ok(cb12_valid != cb12_dummy && cb12_valid,
"Got unexpected buffer %p.\n", cb11_valid);
1812 ok(cb12_valid != (
void *)cb11_valid,
"Got unexpected buffer %p.\n", cb12_valid);
1814 v12_valid = cb12_valid->lpVtbl->GetVariableByIndex(cb12_valid, 0);
1815 ok(v12_valid != v12_dummy && v12_valid,
"Got unexpected variable %p.\n", v12_valid);
1817 t12_dummy = v12_dummy->lpVtbl->
GetType(v12_dummy);
1818 ok(!!t12_dummy,
"Got NULL type.\n");
1820 t12_valid = v12_valid->lpVtbl->GetType(v12_valid);
1821 ok(t12_valid != t12_dummy && t12_valid,
"GetType failed\n");
1824 v11_valid = cb11_valid->lpVtbl->GetVariableByIndex(cb11_valid, 0);
1825 ok(v11_valid != v11_dummy && v11_valid,
"Got unexpected variable %p.\n", v11_valid);
1827 t11_valid = v11_valid->lpVtbl->GetType(v11_valid);
1828 ok(t11_valid != t11_dummy && t11_valid,
"GetType failed\n");
1831 cb11 = ref11->lpVtbl->GetConstantBufferByName(ref11,
"invalid");
1832 ok(cb11_dummy == cb11,
"GetConstantBufferByName failed, got %p, expected %p\n", cb11, cb11_dummy);
1834 cb11 = ref11->lpVtbl->GetConstantBufferByName(ref11,
NULL);
1835 ok(cb11_dummy == cb11,
"GetConstantBufferByName failed, got %p, expected %p\n", cb11, cb11_dummy);
1837#if D3D_COMPILER_VERSION
1838 v11 = ref11->lpVtbl->GetVariableByName(ref11,
NULL);
1839 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1841 v11 = ref11->lpVtbl->GetVariableByName(ref11,
"invalid");
1842 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1844 v11 = ref11->lpVtbl->GetVariableByName(ref11,
"a");
1845 ok(v11_valid == v11,
"Got unexpected variable %p.\n", v11);
1849 v11 = cb11_dummy->lpVtbl->GetVariableByName(cb11_dummy,
NULL);
1850 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1852 v11 = cb11_dummy->lpVtbl->GetVariableByName(cb11_dummy,
"invalid");
1853 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1855 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid,
NULL);
1856 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1858 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid,
"invalid");
1859 ok(v11_dummy == v11,
"Got unexpected variable %p.\n", v11);
1861 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid,
"a");
1862 ok(v11_valid == v11,
"Got unexpected variable %p.\n", v11);
1866 v12 = cb12_valid->lpVtbl->GetVariableByName(cb12_valid,
"a");
1867 ok(v12_valid == v12,
"Got unexpected variable %p.\n", v12);
1870 hr = cb11_dummy->lpVtbl->GetDesc(cb11_dummy,
NULL);
1873 hr = cb11_dummy->lpVtbl->GetDesc(cb11_dummy, &cbdesc);
1876 hr = cb11_valid->lpVtbl->GetDesc(cb11_valid,
NULL);
1880 hr = v11_dummy->lpVtbl->GetDesc(v11_dummy,
NULL);
1883 hr = v11_dummy->lpVtbl->GetDesc(v11_dummy, &vdesc);
1886 hr = v11_valid->lpVtbl->GetDesc(v11_valid,
NULL);
1890 hr = t11_dummy->lpVtbl->GetDesc(t11_dummy,
NULL);
1893 hr = t11_dummy->lpVtbl->GetDesc(t11_dummy, &tdesc);
1896 hr = t11_valid->lpVtbl->GetDesc(t11_valid,
NULL);
1899 string = t11_dummy->lpVtbl->GetMemberTypeName(t11_dummy, 0xffffffff);
1900 ok(!
strcmp(
string,
"$Invalid"),
"GetMemberTypeName failed, got \"%s\", expected \"%s\"\n",
string,
"$Invalid");
1902 string = t11_valid->lpVtbl->GetMemberTypeName(t11_valid, 0xffffffff);
1903 ok(!
string,
"GetMemberTypeName failed, got \"%s\", expected NULL\n",
string);
1905 t11 = t11_dummy->lpVtbl->GetMemberTypeByIndex(t11_dummy, 0xffffffff);
1906 ok(t11_dummy == t11,
"GetMemberTypeByIndex failed, got %p, expected %p\n", t11, t11_dummy);
1908 t11 = t11_valid->lpVtbl->GetMemberTypeByIndex(t11_valid, 0xffffffff);
1909 ok(t11_dummy == t11,
"GetMemberTypeByIndex failed, got %p, expected %p\n", t11, t11_dummy);
1911 t11 = t11_dummy->lpVtbl->GetMemberTypeByName(t11_dummy,
NULL);
1912 ok(t11_dummy == t11,
"GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1914 t11 = t11_dummy->lpVtbl->GetMemberTypeByName(t11_dummy,
"invalid");
1915 ok(t11_dummy == t11,
"GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1917 t11 = t11_valid->lpVtbl->GetMemberTypeByName(t11_valid,
NULL);
1918 ok(t11_dummy == t11,
"GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1920 t11 = t11_valid->lpVtbl->GetMemberTypeByName(t11_valid,
"invalid");
1921 ok(t11_dummy == t11,
"GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1923#if D3D_COMPILER_VERSION
1924 hr = t11_dummy->lpVtbl->IsEqual(t11_dummy, t11_dummy);
1927 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11_dummy);
1930 hr = t11_dummy->lpVtbl->IsEqual(t11_dummy, t11_valid);
1933 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11_valid);
1934 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
1942 cb11 = ref11->lpVtbl->GetConstantBufferByIndex(ref11,
i);
1943 ok(cb11_dummy != cb11,
"Got dummy constant buffer, i %u.\n",
i);
1945 hr = cb11->lpVtbl->GetDesc(cb11, &cbdesc);
1946 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1949 ok(cbdesc.
Type == pcbdesc->
Type,
"Got unexpected Type %#x, i %u.\n", cbdesc.
Type,
i);
1951 ok(cbdesc.
Size == pcbdesc->
Size,
"Got unexpected Size %u, i %u.\n", cbdesc.
Size,
i);
1957 ok(cb12_dummy != cb12,
"Got dummy constant buffer, i %u.\n",
i);
1959 hr = cb12->lpVtbl->
GetDesc(cb12, &cbdesc12);
1960 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1963 ok(cbdesc.
Type == pcbdesc->
Type,
"Got unexpected Type %#x, i %u.\n", cbdesc.
Type,
i);
1965 "CB description does not match. i %u.\n",
i);
1975 v11 = ref11->lpVtbl->GetVariableByName(ref11, pvdesc->
Name);
1977 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, pvdesc->
Name);
1978 ok(v11_dummy != v11,
"Test %u, got unexpected variable %p.\n",
i, v11);
1993 hr = v11->lpVtbl->GetDesc(v11, &vdesc);
1994 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
1999 ok(vdesc.
Size == pvdesc->
Size,
"Got unexpected Size %u, i %u.\n", vdesc.
Size,
i);
2011 ok(v12_dummy != v12,
"Test %u, got unexpected variable %p.\n",
i, v12);
2012 hr = v12->lpVtbl->
GetDesc(v12, &vdesc12);
2013 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
2017 "D3D11 and D3D12 descs do not match.\n");
2028 t11 = v11->lpVtbl->GetType(v11);
2029 ok(t11_dummy != t11,
"Got unexpected type %p, i %u.\n", t11,
i);
2031 hr = t11->lpVtbl->GetDesc(t11, &tdesc);
2032 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
2034 ok(tdesc.
Class == ptdesc->
Class,
"Got unexpected Class %u, i %u.\n", tdesc.
Class,
i);
2035 ok(tdesc.
Type == ptdesc->
Type,
"Got unexpected Type %u, i %u.\n", tdesc.
Type,
i);
2036 ok(tdesc.
Rows == ptdesc->
Rows,
"Got unexpected Rows %u, i %u.\n", tdesc.
Rows,
i);
2045 t12 = v12->lpVtbl->
GetType(v12);
2046 ok(t12_dummy != t12,
"Got unexpected type %p, i %u.\n", t12,
i);
2048 hr = t12->lpVtbl->
GetDesc(t12, &tdesc12);
2049 ok(
hr ==
S_OK,
"%u: Got unexpected hr %#lx.\n",
i,
hr);
2051 "D3D11 and D3D12 descs do not match.\n");
2058 v11 = ref11->lpVtbl->GetVariableByName(ref11,
"t");
2060 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, pvdesc->
Name);
2061 ok(v11_dummy != v11,
"Got unexpected variable %p.\n", v11);
2063 t11 = v11->lpVtbl->GetType(v11);
2064 ok(t11 != t11_dummy,
"Got unexpected type %p.\n", t11);
2066 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 0);
2067 ok(
t != t11_dummy,
"Got unexpected type %p.\n",
t);
2069 t2 = t11->lpVtbl->GetMemberTypeByName(t11,
"a");
2070 ok(
t == t2,
"Got unexpected type %p.\n", t2);
2072 string = t11->lpVtbl->GetMemberTypeName(t11, 0);
2073 ok(!
strcmp(
string,
"a"),
"Got unexpected string \"%s\".\n",
string);
2075 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 1);
2076 ok(
t != t11_dummy,
"Got unexpected type %p.\n",
t);
2078 t2 = t11->lpVtbl->GetMemberTypeByName(t11,
"b");
2079 ok(
t == t2,
"Got unexpected type %p.\n", t2);
2081 string = t11->lpVtbl->GetMemberTypeName(t11, 1);
2082 ok(!
strcmp(
string,
"b"),
"Got unexpected string \"%s\".\n",
string);
2084#if D3D_COMPILER_VERSION
2086 hr = t11->lpVtbl->IsEqual(t11, t11_valid);
2089 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11);
2093 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 0);
2094 ok(
t != t11_dummy,
"Got unexpected type %p.\n",
t);
2096 t2 = t11->lpVtbl->GetMemberTypeByIndex(t11, 1);
2097 ok(t2 != t11_dummy,
"Got unexpected type %p.\n", t2);
2099 hr =
t->lpVtbl->IsEqual(
t, t2);
2100 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
2106 ok(v12_dummy != v12,
"Got unexpected variable %p.\n", v12);
2108 t12 = v12->lpVtbl->
GetType(v12);
2109 ok(t12 != t12_dummy,
"Got unexpected type %p.\n", t12);
2112 ok(mt12 != t12_dummy,
"Got unexpected type %p.\n", mt12);
2115 ok(mt12 == mt12_2,
"Got unexpected type %p.\n", mt12_2);
2118 ok(!
strcmp(
string,
"a"),
"Got unexpected string \"%s\".\n",
string);
2121 ok(mt12 != t12_dummy,
"Got unexpected type %p.\n", mt12);
2124 ok(mt12 == mt12_2,
"Got unexpected type %p.\n", mt12_2);
2127 ok(!
strcmp(
string,
"b"),
"Got unexpected string \"%s\".\n",
string);
2129 hr = t12->lpVtbl->
IsEqual(t12, t12_valid);
2132 hr = t12_valid->lpVtbl->IsEqual(t12_valid, t12);
2136 ok(mt12 != t12_dummy,
"Got unexpected type %p.\n", mt12);
2139 ok(mt12_2 != t12_dummy,
"Got unexpected type %p.\n", mt12_2);
2141 hr = mt12->lpVtbl->
IsEqual(mt12, mt12_2);
2142 ok(
hr ==
S_OK,
"Got unexpected hr %#lx.\n",
hr);
2147 count = ref11->lpVtbl->Release(ref11);
2155Texture2D tex1 :
register(t1, space1);
2158 Filter = MIN_MAG_MIP_LINEAR;
2162cbuffer c1 :
register(b0, space0)
2168cbuffer c2 :
register(b0, space1)
2173float4 PS(float2 uv : TEXCOORD0) : sv_target
2175 float4
q = tex1.Sample(
sam, uv);
2177 q.w =
q.w +
y[0] +
y[1] +
t;
2183 0x43425844, 0x01b901c9, 0xaa053e53, 0x0b6ee9ab, 0x66bcfb8c, 0x00000001, 0x0000051c, 0x00000005,
2184 0x00000034, 0x000002a4, 0x000002d8, 0x0000030c, 0x00000480, 0x46454452, 0x00000268, 0x00000002,
2185 0x000000ec, 0x00000004, 0x0000003c, 0xffff0501, 0x00000500, 0x0000023e, 0x25441313, 0x0000003c,
2186 0x00000018, 0x00000028, 0x00000028, 0x00000024, 0x0000000c, 0x00000000, 0x000000dc, 0x00000003,
2187 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
2188 0x000000e0, 0x00000002, 0x00000005, 0x00000004, 0xffffffff, 0x00000001, 0x00000001, 0x0000000c,
2189 0x00000001, 0x00000000, 0x000000e5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
2190 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x000000e8, 0x00000000, 0x00000000, 0x00000000,
2191 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x006d6173, 0x31786574,
2192 0x00316300, 0xab003263, 0x000000e5, 0x00000003, 0x0000011c, 0x00000030, 0x00000000, 0x00000000,
2193 0x000000e8, 0x00000001, 0x00000214, 0x00000010, 0x00000000, 0x00000000, 0x00000194, 0x00000000,
2194 0x00000004, 0x00000002, 0x0000019c, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000,
2195 0x000001c0, 0x00000010, 0x00000014, 0x00000002, 0x000001c4, 0x00000000, 0xffffffff, 0x00000000,
2196 0xffffffff, 0x00000000, 0x000001e8, 0x00000024, 0x00000004, 0x00000000, 0x000001f0, 0x00000000,
2197 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x6c660078, 0x0074616f, 0x00030000, 0x00010001,
2198 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000196, 0xabab0079,
2199 0x00030000, 0x00010001, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
2200 0x00000196, 0x6e69007a, 0xabab0074, 0x00020000, 0x00010001, 0x00000000, 0x00000000, 0x00000000,
2201 0x00000000, 0x00000000, 0x00000000, 0x000001ea, 0x0000023c, 0x00000000, 0x00000004, 0x00000002,
2202 0x0000019c, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x694d0074, 0x736f7263,
2203 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120,
2204 0xabab0031, 0x4e475349, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000,
2205 0x00000003, 0x00000000, 0x00000303, 0x43584554, 0x44524f4f, 0xababab00, 0x4e47534f, 0x0000002c,
2206 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000f,
2207 0x745f7673, 0x65677261, 0xabab0074, 0x58454853, 0x0000016c, 0x00000051, 0x0000005b, 0x0100086a,
2208 0x07000059, 0x00308e46, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x07000059,
2209 0x00308e46, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0600005a, 0x00306e46,
2210 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x07001858, 0x00307e46, 0x00000000, 0x00000001,
2211 0x00000001, 0x00005555, 0x00000001, 0x03001062, 0x00101032, 0x00000000, 0x03000065, 0x001020f2,
2212 0x00000000, 0x02000068, 0x00000001, 0x0b000045, 0x001000f2, 0x00000000, 0x00101046, 0x00000000,
2213 0x00207e46, 0x00000000, 0x00000001, 0x00206000, 0x00000000, 0x00000000, 0x09000000, 0x00102012,
2214 0x00000000, 0x0010000a, 0x00000000, 0x0030800a, 0x00000000, 0x00000000, 0x00000000, 0x09000000,
2215 0x00100012, 0x00000000, 0x0010003a, 0x00000000, 0x0030800a, 0x00000000, 0x00000000, 0x00000001,
2216 0x09000000, 0x00100012, 0x00000000, 0x0010000a, 0x00000000, 0x0030800a, 0x00000000, 0x00000000,
2217 0x00000002, 0x09000000, 0x00102082, 0x00000000, 0x0010000a, 0x00000000, 0x0030800a, 0x00000001,
2218 0x00000000, 0x00000000, 0x05000036, 0x00102062, 0x00000000, 0x00100656, 0x00000000, 0x0100003e,
2219 0x54415453, 0x00000094, 0x00000007, 0x00000001, 0x00000000, 0x00000002, 0x00000004, 0x00000000,
2220 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
2221 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000,
2222 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
2223 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
2229 {
"tex1",
D3D_SIT_TEXTURE, 1, 1, 12,
D3D_RETURN_TYPE_FLOAT,
D3D_SRV_DIMENSION_TEXTURE2D, 0xffffffff, 1, 0},
2231 {
"c2",
D3D_SIT_CBUFFER, 0, 1,
D3D_SIF_USERPACKED, 0,
D3D_SRV_DIMENSION_UNKNOWN, 0, 1, 1},
2236#if D3D_COMPILER_VERSION
2237 test_reflection_references();
2238 test_reflection_interfaces();
#define D3DERR_INVALIDCALL
#define D3D_COMPILER_VERSION
@ D3D11_SVC_INTERFACE_POINTER
@ D3D11_SVT_INTERFACE_POINTER
@ D3D_SRV_DIMENSION_TEXTURE2D
@ D3D_SRV_DIMENSION_UNKNOWN
@ D3D_NAME_RENDER_TARGET_ARRAY_INDEX
@ D3D_NAME_DEPTH_LESS_EQUAL
@ D3D11_NAME_DEPTH_GREATER_EQUAL
@ D3D_CT_INTERFACE_POINTERS
D3D_REGISTER_COMPONENT_TYPE
@ D3D_REGISTER_COMPONENT_FLOAT32
@ D3D_REGISTER_COMPONENT_UINT32
HRESULT WINAPI D3DReflect(const void *data, SIZE_T data_size, REFIID riid, void **reflector)
#define ID3D11ShaderReflectionType
#define ID3D11ShaderReflectionConstantBuffer
#define ID3D11ShaderReflection
#define ID3D11ShaderReflectionVariable
#define IID_ID3D11ShaderReflection
#define D3D11_SHADER_INPUT_BIND_DESC
HRESULT WINAPI D3D10ReflectShader(const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble GLdouble q
GLboolean GLboolean GLboolean b
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint GLdouble w1
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
HRESULT GetDesc(D3D12_SHADER_BUFFER_DESC *desc)
ID3D12ShaderReflectionVariable * GetVariableByIndex(UINT index)
ID3D12ShaderReflectionType * GetMemberTypeByIndex(UINT index)
HRESULT GetDesc(D3D12_SHADER_TYPE_DESC *desc)
ID3D12ShaderReflectionType * GetMemberTypeByName(const char *name)
HRESULT IsEqual(ID3D12ShaderReflectionType *type)
const char * GetMemberTypeName(UINT index)
HRESULT GetDesc(D3D12_SHADER_VARIABLE_DESC *desc)
ID3D12ShaderReflectionType * GetType()
UINT GetMovcInstructionCount()
UINT GetMovInstructionCount()
UINT GetConversionInstructionCount()
HRESULT GetOutputParameterDesc(UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc)
ID3D12ShaderReflectionVariable * GetVariableByName(const char *name)
HRESULT GetResourceBindingDescByName(const char *name, D3D12_SHADER_INPUT_BIND_DESC *desc)
HRESULT GetResourceBindingDesc(UINT index, D3D12_SHADER_INPUT_BIND_DESC *desc)
UINT GetBitwiseInstructionCount()
ID3D12ShaderReflectionConstantBuffer * GetConstantBufferByIndex(UINT index)
HRESULT GetDesc(D3D12_SHADER_DESC *desc)
HRESULT GetInputParameterDesc(UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
nsresult QueryInterface(nsIIDRef riid, void **result)
#define todo_wine_if(is_todo)
static struct test_info tests[]
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultin[]
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_sm51_result[]
static const DWORD test_reflection_bound_resources_blob[]
static const DWORD test_reflection_desc_ps_output_blob_4[]
static const D3D11_SHADER_TYPE_DESC test_reflection_constant_buffer_type_result[]
static const D3D11_SHADER_BUFFER_DESC test_reflection_constant_buffer_cb_result[]
static DWORD test_reflection_desc_ps_blob[]
static void test_reflection_desc_vs(void)
static void test_reflection_constant_buffer(void)
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultout[]
static const DWORD test_reflection_desc_ps_output_blob_1[]
static const DWORD test_reflection_desc_ps_output_blob_3[]
static const struct @1914 test_reflection_constant_buffer_variable_result[]
static void test_reflection_cs(void)
static void test_reflection_desc_ps_output(void)
static DWORD shader_creator[]
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultout[]
static void test_reflection_desc_ps(void)
static const DWORD test_reflection_desc_ps_output_blob_5[]
static const DWORD test_reflection_desc_ps_output_blob_0[]
static void test_d3d10_interfaces(void)
static HRESULT call_reflect(const void *data, SIZE_T data_size, REFIID riid, void **reflection)
static const DWORD test_reflection_bound_resources_sm51_blob[]
static DWORD test_reflection_desc_vs_blob[]
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultin[]
static DWORD test_reflection_blob[]
static void test_reflection_bound_resources(const DWORD *blob, const D3D12_SHADER_INPUT_BIND_DESC *result, unsigned int result_count, unsigned int target_version)
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_result[]
static DWORD test_reflection_constant_buffer_blob[]
static const DWORD test_reflection_desc_ps_output_blob_2[]
D3D11_SHADER_VARIABLE_DESC desc
#define offsetof(TYPE, MEMBER)
D3D_MIN_PRECISION MinPrecision
const char * SemanticName
D3D_REGISTER_COMPONENT_TYPE ComponentType
UINT TextureCompInstructions
D3D_TESSELLATOR_PARTITIONING HSPartitioning
UINT GSMaxOutputVertexCount
UINT TextureGradientInstructions
UINT PatchConstantParameters
UINT TextureBiasInstructions
UINT StaticFlowControlCount
D3D_PRIMITIVE InputPrimitive
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology
D3D_TESSELLATOR_DOMAIN TessellatorDomain
UINT cInterlockedInstructions
UINT TextureLoadInstructions
UINT UintInstructionCount
UINT DynamicFlowControlCount
UINT EmitInstructionCount
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive
UINT cBarrierInstructions
UINT cTextureStoreInstructions
UINT TextureNormalInstructions
UINT MacroInstructionCount
UINT FloatInstructionCount
UINT ArrayInstructionCount
D3D_SHADER_VARIABLE_CLASS Class
D3D_SHADER_VARIABLE_TYPE Type
const char * SemanticName
D3D_REGISTER_COMPONENT_TYPE ComponentType