34#define D3DERR_INVALIDCALL 0x8876086c
41#define MAKE_TAG(ch0, ch1, ch2, ch3) \
42 ((DWORD)(ch0) | ((DWORD)(ch1) << 8) | \
43 ((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 ))
44#define TAG_Aon9 MAKE_TAG('A', 'o', 'n', '9')
45#define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C')
46#define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
47#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
48#define TAG_PCSG MAKE_TAG('P', 'C', 'S', 'G')
49#define TAG_RDEF MAKE_TAG('R', 'D', 'E', 'F')
50#define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G')
51#define TAG_SHDR MAKE_TAG('S', 'H', 'D', 'R')
52#define TAG_SHEX MAKE_TAG('S', 'H', 'E', 'X')
53#define TAG_STAT MAKE_TAG('S', 'T', 'A', 'T')
54#define TAG_XNAP MAKE_TAG('X', 'N', 'A', 'P')
55#define TAG_XNAS MAKE_TAG('X', 'N', 'A', 'S')
63 hr = pD3DCreateBlob(1,
NULL);
66 hr = pD3DCreateBlob(0,
NULL);
69 hr = pD3DCreateBlob(0, &
blob);
70 ok(
hr ==
S_OK,
"D3DCreateBlob failed with %x\n",
hr);
72 refcount = ID3D10Blob_Release(
blob);
73 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
88float4 VS(float4 position :
POSITION, float4
pos : SV_POSITION) : SV_POSITION
940x43425844, 0x0ef2a70f, 0x6a548011, 0x91ff9409, 0x9973a43d, 0x00000001, 0x000002e0, 0x00000008,
950x00000040, 0x0000008c, 0x000000d8, 0x0000013c, 0x00000180, 0x000001fc, 0x00000254, 0x000002ac,
960x53414e58, 0x00000044, 0x00000044, 0xfffe0200, 0x00000020, 0x00000024, 0x00240000, 0x00240000,
970x00240000, 0x00240000, 0x00240000, 0xfffe0200, 0x0200001f, 0x80000005, 0x900f0000, 0x02000001,
980xc00f0000, 0x80e40000, 0x0000ffff, 0x50414e58, 0x00000044, 0x00000044, 0xfffe0200, 0x00000020,
990x00000024, 0x00240000, 0x00240000, 0x00240000, 0x00240000, 0x00240000, 0xfffe0200, 0x0200001f,
1000x80000005, 0x900f0000, 0x02000001, 0xc00f0000, 0x80e40000, 0x0000ffff, 0x396e6f41, 0x0000005c,
1010x0000005c, 0xfffe0200, 0x00000034, 0x00000028, 0x00240000, 0x00240000, 0x00240000, 0x00240000,
1020x00240001, 0x00000000, 0xfffe0200, 0x0200001f, 0x80000005, 0x900f0000, 0x04000004, 0xc0030000,
1030x90ff0000, 0xa0e40000, 0x90e40000, 0x02000001, 0xc00c0000, 0x90e40000, 0x0000ffff, 0x52444853,
1040x0000003c, 0x00010040, 0x0000000f, 0x0300005f, 0x001010f2, 0x00000000, 0x04000067, 0x001020f2,
1050x00000000, 0x00000001, 0x05000036, 0x001020f2, 0x00000000, 0x00101e46, 0x00000000, 0x0100003e,
1060x54415453, 0x00000074, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000,
1070x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1080x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000,
1090x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x46454452,
1100x00000050, 0x00000000, 0x00000000, 0x00000000, 0x0000001c, 0xfffe0400, 0x00000100, 0x0000001c,
1110x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d,
1120x39207265, 0x2e39322e, 0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x00000050, 0x00000002,
1130x00000008, 0x00000038, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000f0f, 0x00000041,
1140x00000000, 0x00000000, 0x00000003, 0x00000001, 0x0000000f, 0x49534f50, 0x4e4f4954, 0x5f565300,
1150x49534f50, 0x4e4f4954, 0xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020,
1160x00000000, 0x00000001, 0x00000003, 0x00000000, 0x0000000f, 0x505f5653, 0x5449534f, 0x004e4f49,
128 hr = pD3DCreateBlob(1, &blob2);
129 ok(
hr ==
S_OK,
"D3DCreateBlob failed with %x\n",
hr);
135 ok(blob2 ==
blob,
"D3DGetBlobPart failed got %p, expected %p\n",
blob, blob2);
139 ok(blob2 ==
blob,
"D3DGetBlobPart failed got %p, expected %p\n",
blob, blob2);
149 ok(blob2 ==
blob,
"D3DGetBlobPart failed got %p, expected %p\n",
blob, blob2);
159 ok(blob2 ==
blob,
"D3DGetBlobPart failed got %p, expected %p\n",
blob, blob2);
163 ok(blob2 ==
blob,
"D3DGetBlobPart failed got %p, expected %p\n",
blob, blob2);
165 refcount = ID3D10Blob_Release(blob2);
166 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
170 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
172 size = ID3D10Blob_GetBufferSize(
blob);
173 ok(
size == 124,
"GetBufferSize failed, got %lu, expected %u\n",
size, 124);
175 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
185 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
187 refcount = ID3D10Blob_Release(blob2);
188 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
196 refcount = ID3D10Blob_Release(
blob);
197 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
201 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
203 size = ID3D10Blob_GetBufferSize(
blob);
204 ok(
size == 88,
"GetBufferSize failed, got %lu, expected %u\n",
size, 88);
206 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
216 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
218 refcount = ID3D10Blob_Release(blob2);
219 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
227 refcount = ID3D10Blob_Release(
blob);
228 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
232 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
234 size = ID3D10Blob_GetBufferSize(
blob);
235 ok(
size == 180,
"GetBufferSize failed, got %lu, expected %u\n",
size, 180);
237 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
250 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
252 refcount = ID3D10Blob_Release(blob2);
253 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
261 refcount = ID3D10Blob_Release(
blob);
262 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
278 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
280 size = ID3D10Blob_GetBufferSize(
blob);
281 ok(
size == 92,
"GetBufferSize failed, got %lu, expected %u\n",
size, 92);
283 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
293 refcount = ID3D10Blob_Release(
blob);
294 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
298 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
300 size = ID3D10Blob_GetBufferSize(
blob);
301 ok(
size == 68,
"GetBufferSize failed, got %lu, expected %u\n",
size, 68);
303 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
313 refcount = ID3D10Blob_Release(
blob);
314 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
318 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
320 size = ID3D10Blob_GetBufferSize(
blob);
321 ok(
size == 68,
"GetBufferSize failed, got %lu, expected %u\n",
size, 68);
323 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
333 refcount = ID3D10Blob_Release(
blob);
334 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
338 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
340 refcount = ID3D10Blob_Release(
blob);
341 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
344 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
346 refcount = ID3D10Blob_Release(
blob);
347 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
366 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
368 size = ID3D10Blob_GetBufferSize(
blob);
369 ok(
size == 736,
"GetBufferSize failed, got %lu, expected %u\n",
size, 736);
371 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
378 ok(
TAG_RDEF == *(dword+127),
"RDEF got %#x, expected %#x.\n", *(dword+127),
TAG_RDEF);
379 ok(
TAG_ISGN == *(dword+149),
"ISGN got %#x, expected %#x.\n", *(dword+149),
TAG_ISGN);
380 ok(
TAG_OSGN == *(dword+171),
"OSGN got %#x, expected %#x.\n", *(dword+171),
TAG_OSGN);
385 refcount = ID3D10Blob_Release(
blob);
386 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
390 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
392 size = ID3D10Blob_GetBufferSize(
blob);
393 ok(
size == 516,
"GetBufferSize failed, got %lu, expected %u\n",
size, 516);
395 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
402 ok(
TAG_OSGN == *(dword+116),
"OSGN got %#x, expected %#x.\n", *(dword+116),
TAG_OSGN);
404 refcount = ID3D10Blob_Release(
blob);
405 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
413struct HSDO {
float e[4] : SV_TessFactor;
float i[2] : SV_InsideTessFactor; };
414struct HSO { float3
p : BEZIERPOS; };
415HSDO BCHS( InputPatch<VSO, 8>
ip,
uint PatchID : SV_PrimitiveID )
419 res.i[0] =
res.i[1] = 1.0f;
423[partitioning(
"integer")]
424[outputtopology(
"triangle_cw")]
425[outputcontrolpoints(8)]
426[patchconstantfunc(
"BCHS")]
427HSO BHS( InputPatch<VSO, 8>
p,
uint i : SV_OutputControlPointID,
uint PatchID : SV_PrimitiveID )
4350x43425844, 0xa9d455ae, 0x4cf9c0df, 0x4cf806dc, 0xc57a8c2c, 0x00000001, 0x0000139b, 0x00000007,
4360x0000003c, 0x000000b4, 0x000000e8, 0x0000011c, 0x000001e0, 0x00000320, 0x000003bc, 0x46454452,
4370x00000070, 0x00000000, 0x00000000, 0x00000000, 0x0000003c, 0x48530500, 0x00000101, 0x0000003c,
4380x31314452, 0x0000003c, 0x00000018, 0x00000020, 0x00000028, 0x00000024, 0x0000000c, 0x00000000,
4390x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d,
4400x39207265, 0x2e39322e, 0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x0000002c, 0x00000001,
4410x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000707, 0x49534f50,
4420x4e4f4954, 0xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000,
4430x00000000, 0x00000003, 0x00000000, 0x00000807, 0x495a4542, 0x4f505245, 0xabab0053, 0x47534350,
4440x000000bc, 0x00000006, 0x00000008, 0x00000098, 0x00000000, 0x0000000b, 0x00000003, 0x00000000,
4450x00000e01, 0x00000098, 0x00000001, 0x0000000b, 0x00000003, 0x00000001, 0x00000e01, 0x00000098,
4460x00000002, 0x0000000b, 0x00000003, 0x00000002, 0x00000e01, 0x00000098, 0x00000003, 0x0000000b,
4470x00000003, 0x00000003, 0x00000e01, 0x000000a6, 0x00000000, 0x0000000c, 0x00000003, 0x00000004,
4480x00000e01, 0x000000a6, 0x00000001, 0x0000000c, 0x00000003, 0x00000005, 0x00000e01, 0x545f5653,
4490x46737365, 0x6f746361, 0x56530072, 0x736e495f, 0x54656469, 0x46737365, 0x6f746361, 0xabab0072,
4500x58454853, 0x00000138, 0x00030050, 0x0000004e, 0x01000071, 0x01004093, 0x01004094, 0x01001895,
4510x01000896, 0x01001897, 0x0100086a, 0x01000073, 0x02000099, 0x00000004, 0x0200005f, 0x00017000,
4520x04000067, 0x00102012, 0x00000000, 0x0000000b, 0x04000067, 0x00102012, 0x00000001, 0x0000000c,
4530x04000067, 0x00102012, 0x00000002, 0x0000000d, 0x04000067, 0x00102012, 0x00000003, 0x0000000e,
4540x02000068, 0x00000001, 0x0400005b, 0x00102012, 0x00000000, 0x00000004, 0x04000036, 0x00100012,
4550x00000000, 0x0001700a, 0x06000036, 0x00902012, 0x0010000a, 0x00000000, 0x00004001, 0x3f800000,
4560x0100003e, 0x01000073, 0x02000099, 0x00000002, 0x0200005f, 0x00017000, 0x04000067, 0x00102012,
4570x00000004, 0x0000000f, 0x04000067, 0x00102012, 0x00000005, 0x00000010, 0x02000068, 0x00000001,
4580x0400005b, 0x00102012, 0x00000004, 0x00000002, 0x04000036, 0x00100012, 0x00000000, 0x0001700a,
4590x07000036, 0x00d02012, 0x00000004, 0x0010000a, 0x00000000, 0x00004001, 0x3f800000, 0x0100003e,
4600x54415453, 0x00000094, 0x00000006, 0x00000001, 0x00000000, 0x00000005, 0x00000000, 0x00000000,
4610x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4620x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4630x00000000, 0x0000000f, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4640x00000008, 0x00000003, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x47424453,
4650x00000fd7, 0x00000054, 0x000002d5, 0x00000306, 0x0000030a, 0x00000101, 0x00000001, 0x00000000,
4660x00000006, 0x00000010, 0x00000006, 0x00000958, 0x00000000, 0x000009e8, 0x00000008, 0x000009e8,
4670x00000006, 0x00000a88, 0x00000007, 0x00000b00, 0x00000c34, 0x00000c64, 0x00000000, 0x0000004a,
4680x0000004a, 0x0000026a, 0x00000000, 0x00000036, 0x00000001, 0x00000004, 0x00000000, 0xffffffff,
4690x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x00000000, 0x00000003, 0x00000000,
4700x00000003, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
4710x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
4720x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
4730x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4740xffffffff, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4750x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4760x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4770x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4780x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
4790x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000007,
4800x00000000, 0x00000003, 0x00000024, 0x00000000, 0x00000000, 0x00000001, 0x00000036, 0x00000001,
4810x00000001, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0x00000000,
4820x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x00000000, 0x00000000,
4830xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4840x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4850x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4860x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
4870x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
4880x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
4890x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
4900x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
4910x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4920x00000000, 0x00000000, 0x00000007, 0x00000000, 0x00000003, 0x00000024, 0x00000000, 0x00000000,
4930x00000002, 0x0000003e, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
4940x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4950x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4960x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
4970x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
4980x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
4990x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
5000x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5010xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5020x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5030x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5040x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000000, 0x00000003,
5050x00000024, 0x00000000, 0x00000000, 0x00000003, 0x00000036, 0x00000001, 0x00000004, 0x00000000,
5060xffffffff, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x00000000, 0x00000001,
5070x00000000, 0x00000001, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
5080x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
5090x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5100xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5110x00000000, 0xffffffff, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
5120x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5130x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5140x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
5150x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
5160x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5170x00000007, 0x00000000, 0x00000003, 0x00000024, 0x00000000, 0x00000000, 0x00000004, 0x00000036,
5180x00000001, 0x00000001, 0x00000004, 0xffffffff, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff,
5190x00000004, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x00000000,
5200x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5210x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5220x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5230x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
5240x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
5250x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
5260x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
5270x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5280xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5290x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000000, 0x00000003, 0x00000024, 0x00000000,
5300x00000000, 0x00000005, 0x0000003e, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
5310x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5320x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
5330x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
5340x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
5350x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5360x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5370xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5380x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5390x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5400x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5410x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000000,
5420x00000003, 0x00000024, 0x00000000, 0x00000000, 0x00000006, 0x00000003, 0xffffffff, 0xffffffff,
5430x00000003, 0x00000000, 0x00000006, 0x00000003, 0xffffffff, 0xffffffff, 0x00000003, 0x00000001,
5440x00000006, 0x00000003, 0xffffffff, 0xffffffff, 0x00000003, 0x00000002, 0x00000006, 0x00000003,
5450xffffffff, 0xffffffff, 0x00000003, 0x00000003, 0x00000006, 0x00000003, 0xffffffff, 0xffffffff,
5460x00000003, 0x00000004, 0x00000006, 0x00000003, 0xffffffff, 0xffffffff, 0x00000003, 0x00000005,
5470x00000000, 0x00000002, 0x00000014, 0x00000007, 0x000002c1, 0x00000000, 0x00000002, 0x00000030,
5480x00000007, 0x000002c8, 0x00000000, 0x00000004, 0x0000001e, 0x00000002, 0x00000102, 0x00000000,
5490x00000004, 0x00000027, 0x00000007, 0x0000010b, 0x00000000, 0x00000006, 0x00000009, 0x00000003,
5500x00000131, 0x00000000, 0x00000001, 0x00000014, 0x00000006, 0x000002cf, 0x00000000, 0x00000004,
5510x00000005, 0x00000004, 0x000000e9, 0x00000000, 0x00000009, 0x00000004, 0x00000000, 0x00000000,
5520x00000003, 0x00000051, 0x00000003, 0x00000001, 0x00000000, 0x00000003, 0x00000076, 0x00000004,
5530x00000002, 0x00000004, 0x00000000, 0x000002b4, 0x00000007, 0x00000001, 0x0000000c, 0x00000003,
5540x00000076, 0x00000004, 0x00000002, 0x00000004, 0x00000001, 0x000002bb, 0x00000006, 0x00000001,
5550x00000010, 0x00000004, 0x000000e9, 0x00000004, 0x00000003, 0x00000014, 0x00000005, 0x00000000,
5560x00000001, 0x00000001, 0x00000003, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000003,
5570xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0xffffffff, 0x00000001,
5580x00000014, 0x00000004, 0x00000004, 0xffffffff, 0x00000001, 0x00000000, 0x00000000, 0x00000001,
5590x00000001, 0xffffffff, 0x00000001, 0x00000008, 0x00000004, 0x00000002, 0xffffffff, 0x00000006,
5600x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
5610x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
5620x00000001, 0x00000020, 0x0000000c, 0x00000018, 0xffffffff, 0x00000003, 0x00000000, 0x00000000,
5630x00000001, 0x00000001, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0xffffffff,
5640x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000,
5650x00000000, 0x00000006, 0xffffffff, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000006,
5660x00000004, 0x00000005, 0x00000006, 0x00000008, 0x00000004, 0x00000005, 0x00000002, 0x505c3a43,
5670x72676f72, 0x656d6d61, 0x63694d5c, 0x6f736f72, 0x44207466, 0x63657269, 0x53205874, 0x28204b44,
5680x656e754a, 0x31303220, 0x555c2930, 0x696c6974, 0x73656974, 0x6e69625c, 0x3638785c, 0x6165685c,
5690x2e726564, 0x74737866, 0x74637572, 0x4f535620, 0x66207b20, 0x74616f6c, 0x20702033, 0x4f50203a,
5700x49544953, 0x203b4e4f, 0x730a3b7d, 0x63757274, 0x53482074, 0x7b204f44, 0x6f6c6620, 0x65207461,
5710x205d345b, 0x5653203a, 0x7365545f, 0x63614673, 0x3b726f74, 0x6f6c6620, 0x69207461, 0x205d325b,
5720x5653203a, 0x736e495f, 0x54656469, 0x46737365, 0x6f746361, 0x7d203b72, 0x74730a3b, 0x74637572,
5730x4f534820, 0x66207b20, 0x74616f6c, 0x20702033, 0x4542203a, 0x5245495a, 0x3b534f50, 0x0a3b7d20,
5740x4f445348, 0x48434220, 0x49202853, 0x7475706e, 0x63746150, 0x53563c68, 0x38202c4f, 0x7069203e,
5750x6975202c, 0x5020746e, 0x68637461, 0x3a204449, 0x5f565320, 0x6d697250, 0x76697469, 0x20444965,
5760x0a7b0a29, 0x20202020, 0x4f445348, 0x73657220, 0x20200a3b, 0x65722020, 0x5b652e73, 0x3d205d30,
5770x73657220, 0x315b652e, 0x203d205d, 0x2e736572, 0x5d325b65, 0x72203d20, 0x652e7365, 0x205d335b,
5780x2e31203d, 0x0a3b6630, 0x20202020, 0x2e736572, 0x5d305b69, 0x72203d20, 0x692e7365, 0x205d315b,
5790x2e31203d, 0x0a3b6630, 0x20202020, 0x75746572, 0x72206e72, 0x0a3b7365, 0x645b0a7d, 0x69616d6f,
5800x7122286e, 0x22646175, 0x5b0a5d29, 0x74726170, 0x6f697469, 0x676e696e, 0x6e692228, 0x65676574,
5810x5d292272, 0x756f5b0a, 0x74757074, 0x6f706f74, 0x79676f6c, 0x72742228, 0x676e6169, 0x635f656c,
5820x5d292277, 0x756f5b0a, 0x74757074, 0x746e6f63, 0x706c6f72, 0x746e696f, 0x29382873, 0x705b0a5d,
5830x68637461, 0x736e6f63, 0x746e6174, 0x636e7566, 0x43422228, 0x29225348, 0x53480a5d, 0x4842204f,
5840x49202853, 0x7475706e, 0x63746150, 0x53563c68, 0x38202c4f, 0x2c70203e, 0x6e697520, 0x20692074,
5850x5653203a, 0x74754f5f, 0x43747570, 0x72746e6f, 0x6f506c6f, 0x49746e69, 0x75202c44, 0x20746e69,
5860x63746150, 0x20444968, 0x5653203a, 0x6972505f, 0x6974696d, 0x44496576, 0x7b0a2920, 0x2020200a,
5870x4f534820, 0x73657220, 0x20200a3b, 0x65722020, 0x20702e73, 0x5b70203d, 0x702e5d69, 0x20200a3b,
5880x65722020, 0x6e727574, 0x73657220, 0x0a7d0a3b, 0x626f6c47, 0x4c736c61, 0x6c61636f, 0x44534873,
5890x653a3a4f, 0x4f445348, 0x56693a3a, 0x3a3a4f53, 0x63694d70, 0x6f736f72, 0x28207466, 0x48202952,
5900x204c534c, 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x39322e39, 0x3235392e, 0x3131332e,
5910x48420031, 0x73680053, 0x305f355f, 0x6e6f6320, 0x6c6f7274, 0x696f7020, 0x0000746e,
605 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
607 size = ID3D10Blob_GetBufferSize(
blob);
608 ok(
size == 232,
"GetBufferSize failed, got %lu, expected %u\n",
size, 232);
610 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
620 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
622 refcount = ID3D10Blob_Release(blob2);
623 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
631 refcount = ID3D10Blob_Release(
blob);
632 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
636 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
638 size = ID3D10Blob_GetBufferSize(
blob);
639 ok(
size == 344,
"GetBufferSize failed, got %lu, expected %u\n",
size, 344);
641 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
657 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
659 refcount = ID3D10Blob_Release(blob2);
660 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
668 refcount = ID3D10Blob_Release(
blob);
669 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
673 ok(
hr ==
S_OK,
"D3DGetBlobPart failed, got %x, expected %x\n",
hr,
S_OK);
675 size = ID3D10Blob_GetBufferSize(
blob);
676 ok(
size == 4055,
"GetBufferSize failed, got %lu, expected %u\n",
size, 4055);
678 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
679 ok(
TAG_DXBC != *dword,
"DXBC failed got %#x.\n", *dword);
688 refcount = ID3D10Blob_Release(
blob);
689 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
705 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
707 size = ID3D10Blob_GetBufferSize(
blob);
708 ok(
size == 952,
"GetBufferSize failed, got %lu, expected %u\n",
size, 952);
710 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
716 ok(
TAG_SHEX == *(dword+119),
"SHEX got %#x, expected %#x.\n", *(dword+119),
TAG_SHEX);
717 ok(
TAG_STAT == *(dword+199),
"STAT got %#x, expected %#x.\n", *(dword+199),
TAG_STAT);
722 refcount = ID3D10Blob_Release(
blob);
723 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
727 ok(
hr ==
S_OK,
"D3DStripShader failed, got %x, expected %x\n",
hr,
S_OK);
729 size = ID3D10Blob_GetBufferSize(
blob);
730 ok(
size == 4735,
"GetBufferSize failed, got %lu, expected %u\n",
size, 4735);
732 dword = ((
DWORD*)ID3D10Blob_GetBufferPointer(
blob));
738 ok(
TAG_SDBG == *(dword+168),
"SDBG got %#x, expected %#x.\n", *(dword+168),
TAG_SDBG);
740 refcount = ID3D10Blob_Release(
blob);
741 ok(!refcount,
"ID3DBlob has %u references left\n", refcount);
783 if (written != data_size)
800 float4
value : SV_POSITION;
810 0xfffe0200, 0x0014fffe, 0x42415443, 0x0000001c, 0x00000023, 0xfffe0200, 0x00000000, 0x00000000,
811 0x00000100, 0x0000001c, 0x325f7376, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820,
812 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x0200001f, 0x80000000,
813 0x900f0000, 0x02000001, 0xc00f0000, 0x90e40000, 0x0000ffff
818 WCHAR filename[
MAX_PATH] = {
'n',
'o',
'n',
'e',
'x',
'i',
's',
't',
'e',
'n',
't',0};
840 win_skip(
"File creation failed.\n");
844 ok(
hr ==
S_OK,
"Got unexpected hr %#x.\n",
hr);
845 data_size = ID3D10Blob_GetBufferSize(
blob);
846 ok(!data_size,
"Got unexpected data size.\n");
848 ID3D10Blob_Release(
blob);
852 win_skip(
"File creation failed.\n");
856 ok(
hr ==
S_OK,
"Got unexpected hr %#x.\n",
hr);
857 data_size = ID3D10Blob_GetBufferSize(
blob);
859 data = ID3D10Blob_GetBufferPointer(
blob);
862 ID3D10Blob_Release(
blob);
875 win_skip(
"Could not load d3dcompiler_43.dll\n");
884 win_skip(
"Could not load d3dcompiler_47.dll.\n");
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
@ D3D_BLOB_ALL_SIGNATURE_BLOB
@ D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB
@ D3D_BLOB_TEST_COMPILE_PERF
@ D3D_BLOB_TEST_ALTERNATE_SHADER
@ D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB
@ D3D_BLOB_TEST_COMPILE_DETAILS
@ D3D_BLOB_INPUT_SIGNATURE_BLOB
@ D3D_BLOB_OUTPUT_SIGNATURE_BLOB
@ D3D_BLOB_XNA_PREPASS_SHADER
@ D3DCOMPILER_STRIP_DEBUG_INFO
@ D3DCOMPILER_STRIP_REFLECTION_DATA
#define D3DERR_INVALIDCALL
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
UINT WINAPI GetTempFileNameW(IN LPCWSTR lpPathName, IN LPCWSTR lpPrefixString, IN UINT uUnique, OUT LPWSTR lpTempFileName)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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
#define ERROR_FILE_NOT_FOUND
static void test_get_blob_part2(void)
static ID3DBlob **static D3D_BLOB_PART
static BOOL load_d3dcompiler_47(void)
static BOOL load_d3dcompiler_43(void)
static DWORD test_blob_part2[]
static const DWORD test_cso_data[]
static const D3D_BLOB_PART parts[]
static ID3DBlob **static UINT
static void test_create_blob(void)
static ID3DBlob **static SIZE_T
static void test_D3DReadFileToBlob(void)
static DWORD test_blob_part[]
static void test_get_blob_part(void)
#define create_file(name, size)
#define HRESULT_FROM_WIN32(x)