ReactOS 0.4.17-dev-970-gcf0f1a6
reflection.c File Reference
#include "initguid.h"
#include "d3dcompiler.h"
#include "wine/test.h"
#include "d3d11_1.h"
Include dependency graph for reflection.c:

Go to the source code of this file.

Classes

struct  D3D11_SIGNATURE_PARAMETER_DESC_46
 

Macros

#define COBJMACROS
 
#define D3DERR_INVALIDCALL   0x8876086c
 

Functions

static HRESULT call_reflect (const void *data, SIZE_T data_size, REFIID riid, void **reflection)
 
static void test_d3d10_interfaces (void)
 
static void test_reflection_desc_vs (void)
 
static void test_reflection_desc_ps (void)
 
static void test_reflection_desc_ps_output (void)
 
static void test_reflection_cs (void)
 
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 void test_reflection_constant_buffer (void)
 
 START_TEST (reflection)
 

Variables

static DWORD shader_creator []
 
static DWORD test_reflection_blob []
 
static DWORD test_reflection_desc_vs_blob []
 
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultin []
 
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultout []
 
static DWORD test_reflection_desc_ps_blob []
 
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultin []
 
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultout []
 
static const DWORD test_reflection_desc_ps_output_blob_0 []
 
static const DWORD test_reflection_desc_ps_output_blob_1 []
 
static const DWORD test_reflection_desc_ps_output_blob_2 []
 
static const DWORD test_reflection_desc_ps_output_blob_3 []
 
static const DWORD test_reflection_desc_ps_output_blob_4 []
 
static const DWORD test_reflection_desc_ps_output_blob_5 []
 
static const DWORD test_reflection_bound_resources_blob []
 
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_result []
 
static DWORD test_reflection_constant_buffer_blob []
 
static const D3D11_SHADER_BUFFER_DESC test_reflection_constant_buffer_cb_result []
 
struct {
   D3D11_SHADER_VARIABLE_DESC   desc
 
   unsigned int   type
 
} test_reflection_constant_buffer_variable_result []
 
static const D3D11_SHADER_TYPE_DESC test_reflection_constant_buffer_type_result []
 
static const DWORD test_reflection_bound_resources_sm51_blob []
 
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_sm51_result []
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 25 of file reflection.c.

◆ D3DERR_INVALIDCALL

#define D3DERR_INVALIDCALL   0x8876086c

Definition at line 38 of file reflection.c.

Function Documentation

◆ call_reflect()

static HRESULT call_reflect ( const void *  data,
SIZE_T  data_size,
REFIID  riid,
void **  reflection 
)
static

Definition at line 40 of file reflection.c.

41{
42#if D3D_COMPILER_VERSION
43 return D3DReflect(data, data_size, riid, reflection);
44#else
45 return D3D10ReflectShader(data, data_size, (ID3D10ShaderReflection **)reflection);
46#endif
47}
HRESULT WINAPI D3DReflect(const void *data, SIZE_T data_size, REFIID riid, void **reflector)
HRESULT WINAPI D3D10ReflectShader(const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector)
Definition: reflection.c:1969
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
REFIID riid
Definition: atlbase.h:39

Referenced by test_reflection_bound_resources(), test_reflection_constant_buffer(), test_reflection_cs(), test_reflection_desc_ps(), test_reflection_desc_ps_output(), and test_reflection_desc_vs().

◆ START_TEST()

START_TEST ( reflection  )

Definition at line 2234 of file reflection.c.

2235{
2236#if D3D_COMPILER_VERSION
2237 test_reflection_references();
2238 test_reflection_interfaces();
2239#else
2241#endif
2252}
#define ARRAY_SIZE(A)
Definition: main.h:20
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_sm51_result[]
Definition: reflection.c:2226
static const DWORD test_reflection_bound_resources_blob[]
Definition: reflection.c:1149
static void test_reflection_desc_vs(void)
Definition: reflection.c:408
static void test_reflection_constant_buffer(void)
Definition: reflection.c:1704
static void test_reflection_cs(void)
Definition: reflection.c:1200
static void test_reflection_desc_ps_output(void)
Definition: reflection.c:1040
static void test_reflection_desc_ps(void)
Definition: reflection.c:768
static void test_d3d10_interfaces(void)
Definition: reflection.c:215
static const DWORD test_reflection_bound_resources_sm51_blob[]
Definition: reflection.c:2181
static void test_reflection_bound_resources(const DWORD *blob, const D3D12_SHADER_INPUT_BIND_DESC *result, unsigned int result_count, unsigned int target_version)
Definition: reflection.c:1275
static const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_result[]
Definition: reflection.c:1191

◆ test_d3d10_interfaces()

static void test_d3d10_interfaces ( void  )
static

Definition at line 215 of file reflection.c.

216{
218 IUnknown *unk;
219 HRESULT hr;
220
222 ok(hr == S_OK, "Got hr %#lx.\n", hr);
223
224 hr = ref10->lpVtbl->QueryInterface(ref10, &IID_ID3D10ShaderReflection, (void **)&unk);
225 ok(hr == S_OK, "Got hr %#lx.\n", hr);
226 IUnknown_Release(unk);
227
228 hr = ref10->lpVtbl->QueryInterface(ref10, &IID_ID3D10ShaderReflection1, (void **)&unk);
229 ok(hr == E_NOINTERFACE, "Got hr %#lx.\n", hr);
230
231 hr = ref10->lpVtbl->QueryInterface(ref10, &IID_ID3D11ShaderReflection, (void **)&unk);
232 ok(hr == E_NOINTERFACE, "Got hr %#lx.\n", hr);
233
234 hr = ref10->lpVtbl->QueryInterface(ref10, &IID_ID3D12ShaderReflection, (void **)&unk);
235 ok(hr == E_NOINTERFACE, "Got hr %#lx.\n", hr);
236
237 ref10->lpVtbl->Release(ref10);
238}
#define ok(value,...)
Definition: atltest.h:57
HRESULT hr
Definition: delayimp.cpp:582
#define IID_ID3D11ShaderReflection
Definition: reflection.c:34
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
ULONG Release()
#define S_OK
Definition: intsafe.h:52
static DWORD test_reflection_blob[]
Definition: reflection.c:64
#define E_NOINTERFACE
Definition: winerror.h:3479

Referenced by START_TEST().

◆ test_reflection_bound_resources()

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

Definition at line 1275 of file reflection.c.

1277{
1278 ID3D12ShaderReflection *ref12 = NULL, *ref12_from_d3d11 = NULL, *ref11_from_d3d12 = NULL;
1279 const D3D12_SHADER_INPUT_BIND_DESC *pdesc;
1284 unsigned int i;
1285 UINT expected;
1286 ULONG count;
1287
1288 hr = call_reflect(blob, blob[6], &IID_ID3D11ShaderReflection, (void **)&ref11);
1289
1290 expected_hr = D3D_COMPILER_VERSION < 47 && target_version >= 0x501 ? E_INVALIDARG : S_OK;
1291
1292 /* Older d3dcompiler_47 does not support sm5.1. */
1293 ok(hr == expected_hr || broken(hr == E_INVALIDARG && target_version >= 0x501),
1294 "Got unexpected hr %#lx, expected %#lx.\n", hr, expected_hr);
1295
1296 if (hr == E_INVALIDARG)
1297 return;
1298
1299#if D3D_COMPILER_VERSION
1300 call_reflect(blob, blob[6], &IID_ID3D12ShaderReflection, (void **)&ref12);
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);
1304
1305 if (ref12)
1306 {
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);
1310 ref12->lpVtbl->QueryInterface(ref12, &IID_ID3D11ShaderReflection, (void **)&ref11_from_d3d12);
1311 ok(!!ref11_from_d3d12, "Got zero interface.\n");
1312 }
1313#endif
1314
1315 /* check invalid cases */
1316 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11, 0, NULL);
1317 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1318
1319 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11, 0xffffffff, &desc11);
1320 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1321
1322#if D3D_COMPILER_VERSION
1323 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, NULL, &desc11);
1324 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1325
1326 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, "sam", NULL);
1327 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1328
1329 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, "invalid", NULL);
1330 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1331
1332 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, "invalid", &desc11);
1333 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
1334#endif
1335
1336 /* GetResourceBindingDesc */
1337 for (i = 0; i < result_count; ++i)
1338 {
1339 pdesc = &result[i];
1340
1341 hr = ref11->lpVtbl->GetResourceBindingDesc(ref11, i, &desc11);
1342 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1343
1344 ok(!strcmp(desc11.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc11.Name, i);
1345 ok(desc11.Type == pdesc->Type, "Got unexpected Type %#x, i %u.\n", desc11.Type, i);
1346 ok(desc11.BindPoint == pdesc->BindPoint, "Got unexpected BindPoint %u, i %u.\n", desc11.BindPoint, i);
1347 ok(desc11.BindCount == pdesc->BindCount, "Got unexpected BindCount %u, i %u.\n", desc11.BindCount, i);
1348#if D3D_COMPILER_VERSION
1349 expected = pdesc->uFlags;
1350#else
1351 expected = 0;
1352 todo_wine_if(pdesc->uFlags)
1353#endif
1354 ok(desc11.uFlags == expected, "Got unexpected uFlags %#x, i %u.\n", desc11.uFlags, i);
1355 ok(desc11.ReturnType == pdesc->ReturnType, "Got unexpected ReturnType %#x, i %u.\n", desc11.ReturnType, i);
1356 ok(desc11.Dimension == pdesc->Dimension, "Got unexpected Dimension %#x, i %u.\n", desc11.Dimension, i);
1357 ok(desc11.NumSamples == pdesc->NumSamples, "Got unexpected NumSamples %u, i %u.\n", desc11.NumSamples, i);
1358
1359 if (ref12)
1360 {
1361 memset(&desc12, 0, sizeof(desc12));
1362 desc12.Space = 0xdeadbeef;
1363 desc12.uID = 0xdeadbeef;
1364
1365 hr = ref12->lpVtbl->GetResourceBindingDesc(ref12, i, &desc12);
1366 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1367
1368 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1369 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
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);
1373
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);
1379
1380 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1381 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
1382 "D3D11 and D3D12 descs do not match.\n");
1383 /* Native d3dcompiler_47 returns the same interface pointer when queried for ID3D12ShaderReflection
1384 * from ID3D11ShaderReflection. Space field still gets the correct value on x64 due to
1385 * D3D11_SHADER_INPUT_BIND_DESC padding. */
1387 ? pdesc->Space : 0xdeadbeef;
1388 ok(desc12.Space == expected, "Got unexpected Space %u, i %u.\n",
1389 desc12.Space, i);
1390 ok(desc12.uID == 0xdeadbeef, "Got unexpected uID %#x, i %u.\n", desc12.uID, i);
1391
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);
1397 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1398 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
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);
1402 }
1403 }
1404
1405#if D3D_COMPILER_VERSION
1406 /* GetResourceBindingDescByName */
1407 for (i = 0; i < result_count; ++i)
1408 {
1409 pdesc = &result[i];
1410
1411 hr = ref11->lpVtbl->GetResourceBindingDescByName(ref11, pdesc->Name, &desc11);
1412 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1413
1414 ok(!strcmp(desc11.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc11.Name, i);
1415 ok(desc11.Type == pdesc->Type, "Got unexpected Type %#x, i %u.\n", desc11.Type, i);
1416 ok(desc11.BindPoint == pdesc->BindPoint, "Got unexpected BindPoint %u, i %u.\n", desc11.BindPoint, i);
1417 ok(desc11.BindCount == pdesc->BindCount, "Got unexpected BindCount failed %u, i %u.\n", desc11.BindCount, i);
1418 ok(desc11.uFlags == pdesc->uFlags, "Got unexpected uFlags %#x, i %u.\n", desc11.uFlags, i);
1419 ok(desc11.ReturnType == pdesc->ReturnType, "Got unexpected ReturnType %#x, i %u.\n", desc11.ReturnType, i);
1420 ok(desc11.Dimension == pdesc->Dimension, "Got unexpected Dimension %#x, i %u.\n", desc11.Dimension, i);
1421 ok(desc11.NumSamples == pdesc->NumSamples, "Got unexpected NumSamples %u, i %u.\n", desc11.NumSamples, i);
1422
1423 if (ref12)
1424 {
1425 memset(&desc12, 0, sizeof(desc12));
1426 desc12.Space = 0xdeadbeef;
1427 desc12.uID = 0xdeadbeef;
1428
1429 hr = ref12->lpVtbl->GetResourceBindingDescByName(ref12, pdesc->Name, &desc12);
1430 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1431
1432 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1433 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
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);
1437
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);
1443
1444 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1445 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
1446 "D3D11 and D3D12 descs do not match.\n");
1448 ? pdesc->Space : 0xdeadbeef;
1449 ok(desc12.Space == expected, "Got unexpected Space %u, i %u.\n",
1450 desc12.Space, i);
1451 ok(desc12.uID == 0xdeadbeef, "Got unexpected uID %#x, i %u.\n", desc12.uID, i);
1452
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);
1458 ok(!strcmp(desc12.Name, pdesc->Name), "Got unexpected Name \"%s\", i %u.\n", desc12.Name, i);
1459 ok(!memcmp(&desc12.Type, &desc11.Type, sizeof(desc11) - offsetof(D3D11_SHADER_INPUT_BIND_DESC, Type)),
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);
1463 }
1464 }
1465#endif
1466
1467 if (ref12)
1468 {
1469 count = ref11_from_d3d12->lpVtbl->Release(ref11_from_d3d12);
1470 ok(count == 1, "Got unexpected ref count %lu.\n", count);
1471
1472 count = ref12->lpVtbl->Release(ref12);
1473 ok(!count, "Got unexpected ref count %lu.\n", count);
1474
1475 count = ref12_from_d3d11->lpVtbl->Release(ref12_from_d3d11);
1476 ok(count == 1, "Got unexpected ref count %lu.\n", count);
1477 }
1478
1479 count = ref11->lpVtbl->Release(ref11);
1480 ok(!count, "Got unexpected ref count %lu.\n", count);
1481}
Type
Definition: Type.h:7
#define broken(x)
Definition: atltest.h:178
HRESULT expected_hr
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NULL
Definition: types.h:112
#define ID3D11ShaderReflection
Definition: reflection.c:26
#define D3D11_SHADER_INPUT_BIND_DESC
Definition: reflection.c:37
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
Definition: string.c:2807
_ACRTIMP int __cdecl strcmp(const char *, const char *)
Definition: string.c:3324
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint64EXT * result
Definition: glext.h:11304
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
Definition: glfuncs.h:248
unsigned int UINT
Definition: sysinfo.c:13
HRESULT GetResourceBindingDescByName(const char *name, D3D12_SHADER_INPUT_BIND_DESC *desc)
HRESULT GetResourceBindingDesc(UINT index, D3D12_SHADER_INPUT_BIND_DESC *desc)
nsrefcnt Release()
#define todo_wine_if(is_todo)
Definition: minitest.h:81
BOOL expected
Definition: store.c:2000
static HRESULT call_reflect(const void *data, SIZE_T data_size, REFIID riid, void **reflection)
Definition: reflection.c:40
#define offsetof(TYPE, MEMBER)
#define memset(x, y, z)
Definition: compat.h:39
D3D_SRV_DIMENSION Dimension
Definition: d3d11shader.h:134
D3D_SHADER_INPUT_TYPE Type
Definition: d3d11shader.h:129
D3D_RESOURCE_RETURN_TYPE ReturnType
Definition: d3d11shader.h:133
D3D_SHADER_INPUT_TYPE Type
D3D_RESOURCE_RETURN_TYPE ReturnType
Definition: image.c:229
uint32_t ULONG
Definition: typedefs.h:59

Referenced by START_TEST().

◆ test_reflection_constant_buffer()

static void test_reflection_constant_buffer ( void  )
static

Definition at line 1704 of file reflection.c.

1705{
1706 ID3D12ShaderReflectionType *t12, *mt12, *mt12_2, *t12_dummy = NULL, *t12_valid = NULL;
1707 ID3D12ShaderReflectionConstantBuffer *cb12, *cb12_dummy = NULL, *cb12_valid = NULL;
1708 ID3D11ShaderReflectionConstantBuffer *cb11, *cb11_dummy = NULL, *cb11_valid = NULL;
1709 ID3D11ShaderReflectionType *t11, *t, *t2, *t11_dummy = NULL, *t11_valid = NULL;
1710 ID3D12ShaderReflectionVariable *v12, *v12_dummy = NULL, *v12_valid = NULL;
1711 ID3D11ShaderReflectionVariable *v11, *v11_dummy = NULL, *v11_valid = NULL;
1712 D3D12_SHADER_VARIABLE_DESC vdesc12 = {0};
1713 const D3D11_SHADER_VARIABLE_DESC *pvdesc;
1714 const D3D11_SHADER_BUFFER_DESC *pcbdesc;
1715 D3D12_SHADER_BUFFER_DESC cbdesc12 = {0};
1716 D3D11_SHADER_VARIABLE_DESC vdesc = {0};
1717 D3D11_SHADER_BUFFER_DESC cbdesc = {0};
1719 const D3D11_SHADER_TYPE_DESC *ptdesc;
1720 D3D12_SHADER_TYPE_DESC tdesc12 = {0};
1721 D3D11_SHADER_TYPE_DESC tdesc = {0};
1723 D3D11_SHADER_DESC sdesc = {0};
1724 unsigned int i, expected;
1725 LPCSTR string;
1726 ULONG count;
1727 HRESULT hr;
1728
1730 &IID_ID3D11ShaderReflection, (void **)&ref11);
1731 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
1732
1733#if D3D_COMPILER_VERSION
1735 &IID_ID3D12ShaderReflection, (void **)&ref12);
1736#endif
1737
1738 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc);
1739 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
1740
1741 expected = D3D_COMPILER_VERSION ? 0x50 : 0x40;
1742 ok(sdesc.Version == expected, "Unexpected Version %#x.\n", sdesc.Version);
1743 ok(!strcmp(sdesc.Creator, (char *)shader_creator), "Unexpected Creator \"%s\".\n", sdesc.Creator);
1744 ok(sdesc.Flags == 0x100, "Unexpected Flags %#x.\n", sdesc.Flags);
1745 ok(sdesc.ConstantBuffers == 2, "GetDesc failed, got %u, expected %u\n", sdesc.ConstantBuffers, 2);
1747 ok(sdesc.BoundResources == expected, "Got unexpected BoundResources %u.\n", sdesc.BoundResources);
1748 ok(sdesc.InputParameters == 1, "GetDesc failed, got %u, expected %u\n", sdesc.InputParameters, 1);
1749 ok(sdesc.OutputParameters == 1, "GetDesc failed, got %u, expected %u\n", sdesc.OutputParameters, 1);
1751 ok(sdesc.InstructionCount == expected, "Got unexpected InstructionCount %u.\n", sdesc.InstructionCount);
1753 ok(sdesc.TempRegisterCount == expected, "Got unexpected TempRegisterCount %u.\n", sdesc.TempRegisterCount);
1754 ok(sdesc.TempArrayCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TempArrayCount, 0);
1755 ok(sdesc.DefCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.DefCount, 0);
1756 ok(sdesc.DclCount == 2, "GetDesc failed, got %u, expected %u\n", sdesc.DclCount, 2);
1757 ok(sdesc.TextureNormalInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TextureNormalInstructions, 0);
1758 ok(sdesc.TextureLoadInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TextureLoadInstructions, 0);
1759 ok(sdesc.TextureCompInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TextureCompInstructions, 0);
1760 ok(sdesc.TextureBiasInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TextureBiasInstructions, 0);
1761 ok(sdesc.TextureGradientInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.TextureGradientInstructions, 0);
1762 ok(sdesc.FloatInstructionCount == 2, "GetDesc failed, got %u, expected %u\n", sdesc.FloatInstructionCount, 2);
1763 ok(sdesc.IntInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.IntInstructionCount, 0);
1765 ok(sdesc.UintInstructionCount == expected, "Got unexpected UintInstructionCount %u.\n",
1766 sdesc.UintInstructionCount);
1767 ok(sdesc.StaticFlowControlCount == 1, "GetDesc failed, got %u, expected %u\n", sdesc.StaticFlowControlCount, 1);
1768 ok(sdesc.DynamicFlowControlCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.DynamicFlowControlCount, 0);
1769 ok(sdesc.MacroInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.MacroInstructionCount, 0);
1770 ok(sdesc.ArrayInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.ArrayInstructionCount, 0);
1771 ok(sdesc.CutInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.CutInstructionCount, 0);
1772 ok(sdesc.EmitInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.EmitInstructionCount, 0);
1773 ok(sdesc.GSOutputTopology == 0, "GetDesc failed, got %x, expected %x\n", sdesc.GSOutputTopology, 0);
1774 ok(sdesc.GSMaxOutputVertexCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.GSMaxOutputVertexCount, 0);
1775 ok(sdesc.InputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc.InputPrimitive, 0);
1776 ok(sdesc.PatchConstantParameters == 0, "GetDesc failed, got %u, expected %u\n", sdesc.PatchConstantParameters, 0);
1777 ok(sdesc.cGSInstanceCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc.cGSInstanceCount, 0);
1778 ok(sdesc.cControlPoints == 0, "GetDesc failed, got %u, expected %u\n", sdesc.cControlPoints, 0);
1779 ok(sdesc.HSOutputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc.HSOutputPrimitive, 0);
1780 ok(sdesc.HSPartitioning == 0, "GetDesc failed, got %x, expected %x\n", sdesc.HSPartitioning, 0);
1781 ok(sdesc.TessellatorDomain == 0, "GetDesc failed, got %x, expected %x\n", sdesc.TessellatorDomain, 0);
1782 ok(sdesc.cBarrierInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.cBarrierInstructions, 0);
1783 ok(sdesc.cInterlockedInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.cInterlockedInstructions, 0);
1784 ok(sdesc.cTextureStoreInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc.cTextureStoreInstructions, 0);
1785
1786 /* get the dummys for comparison */
1787 cb11_dummy = ref11->lpVtbl->GetConstantBufferByIndex(ref11, 0xffffffff);
1788 ok(!!cb11_dummy, "Got unexpected buffer %p.\n", cb11_dummy);
1789
1790 if (ref12)
1791 {
1792 cb12_dummy = ref12->lpVtbl->GetConstantBufferByIndex(ref12, 0xffffffff);
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);
1795
1796 v12_dummy = cb12_dummy->lpVtbl->GetVariableByIndex(cb12_dummy, 0xffffffff);
1797 ok(!!v12_dummy, "Got unexpected NULL variable.\n");
1798 }
1799 v11_dummy = cb11_dummy->lpVtbl->GetVariableByIndex(cb11_dummy, 0xffffffff);
1800 ok(!!v11_dummy, "Got unexpected NULL variable.\n");
1801
1802 t11_dummy = v11_dummy->lpVtbl->GetType(v11_dummy);
1803 ok(!!t11_dummy, "Got NULL type.\n");
1804
1805 /* get the valid variables */
1806 cb11_valid = ref11->lpVtbl->GetConstantBufferByIndex(ref11, 1);
1807 ok(cb11_valid != cb11_dummy && cb11_valid, "Got unexpected buffer %p.\n", cb11_valid);
1808 if (ref12)
1809 {
1810 cb12_valid = ref12->lpVtbl->GetConstantBufferByIndex(ref12, 1);
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);
1813
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);
1816
1817 t12_dummy = v12_dummy->lpVtbl->GetType(v12_dummy);
1818 ok(!!t12_dummy, "Got NULL type.\n");
1819
1820 t12_valid = v12_valid->lpVtbl->GetType(v12_valid);
1821 ok(t12_valid != t12_dummy && t12_valid, "GetType failed\n");
1822 }
1823
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);
1826
1827 t11_valid = v11_valid->lpVtbl->GetType(v11_valid);
1828 ok(t11_valid != t11_dummy && t11_valid, "GetType failed\n");
1829
1830 /* reflection calls */
1831 cb11 = ref11->lpVtbl->GetConstantBufferByName(ref11, "invalid");
1832 ok(cb11_dummy == cb11, "GetConstantBufferByName failed, got %p, expected %p\n", cb11, cb11_dummy);
1833
1834 cb11 = ref11->lpVtbl->GetConstantBufferByName(ref11, NULL);
1835 ok(cb11_dummy == cb11, "GetConstantBufferByName failed, got %p, expected %p\n", cb11, cb11_dummy);
1836
1837#if D3D_COMPILER_VERSION
1838 v11 = ref11->lpVtbl->GetVariableByName(ref11, NULL);
1839 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1840
1841 v11 = ref11->lpVtbl->GetVariableByName(ref11, "invalid");
1842 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1843
1844 v11 = ref11->lpVtbl->GetVariableByName(ref11, "a");
1845 ok(v11_valid == v11, "Got unexpected variable %p.\n", v11);
1846#endif
1847
1848 /* constant buffer calls */
1849 v11 = cb11_dummy->lpVtbl->GetVariableByName(cb11_dummy, NULL);
1850 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1851
1852 v11 = cb11_dummy->lpVtbl->GetVariableByName(cb11_dummy, "invalid");
1853 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1854
1855 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, NULL);
1856 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1857
1858 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, "invalid");
1859 ok(v11_dummy == v11, "Got unexpected variable %p.\n", v11);
1860
1861 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, "a");
1862 ok(v11_valid == v11, "Got unexpected variable %p.\n", v11);
1863
1864 if (ref12)
1865 {
1866 v12 = cb12_valid->lpVtbl->GetVariableByName(cb12_valid, "a");
1867 ok(v12_valid == v12, "Got unexpected variable %p.\n", v12);
1868 }
1869
1870 hr = cb11_dummy->lpVtbl->GetDesc(cb11_dummy, NULL);
1871 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1872
1873 hr = cb11_dummy->lpVtbl->GetDesc(cb11_dummy, &cbdesc);
1874 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1875
1876 hr = cb11_valid->lpVtbl->GetDesc(cb11_valid, NULL);
1877 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1878
1879 /* variable calls */
1880 hr = v11_dummy->lpVtbl->GetDesc(v11_dummy, NULL);
1881 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1882
1883 hr = v11_dummy->lpVtbl->GetDesc(v11_dummy, &vdesc);
1884 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1885
1886 hr = v11_valid->lpVtbl->GetDesc(v11_valid, NULL);
1887 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1888
1889 /* type calls */
1890 hr = t11_dummy->lpVtbl->GetDesc(t11_dummy, NULL);
1891 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1892
1893 hr = t11_dummy->lpVtbl->GetDesc(t11_dummy, &tdesc);
1894 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1895
1896 hr = t11_valid->lpVtbl->GetDesc(t11_valid, NULL);
1897 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1898
1899 string = t11_dummy->lpVtbl->GetMemberTypeName(t11_dummy, 0xffffffff);
1900 ok(!strcmp(string, "$Invalid"), "GetMemberTypeName failed, got \"%s\", expected \"%s\"\n", string, "$Invalid");
1901
1902 string = t11_valid->lpVtbl->GetMemberTypeName(t11_valid, 0xffffffff);
1903 ok(!string, "GetMemberTypeName failed, got \"%s\", expected NULL\n", string);
1904
1905 t11 = t11_dummy->lpVtbl->GetMemberTypeByIndex(t11_dummy, 0xffffffff);
1906 ok(t11_dummy == t11, "GetMemberTypeByIndex failed, got %p, expected %p\n", t11, t11_dummy);
1907
1908 t11 = t11_valid->lpVtbl->GetMemberTypeByIndex(t11_valid, 0xffffffff);
1909 ok(t11_dummy == t11, "GetMemberTypeByIndex failed, got %p, expected %p\n", t11, t11_dummy);
1910
1911 t11 = t11_dummy->lpVtbl->GetMemberTypeByName(t11_dummy, NULL);
1912 ok(t11_dummy == t11, "GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1913
1914 t11 = t11_dummy->lpVtbl->GetMemberTypeByName(t11_dummy, "invalid");
1915 ok(t11_dummy == t11, "GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1916
1917 t11 = t11_valid->lpVtbl->GetMemberTypeByName(t11_valid, NULL);
1918 ok(t11_dummy == t11, "GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1919
1920 t11 = t11_valid->lpVtbl->GetMemberTypeByName(t11_valid, "invalid");
1921 ok(t11_dummy == t11, "GetMemberTypeByName failed, got %p, expected %p\n", t11, t11_dummy);
1922
1923#if D3D_COMPILER_VERSION
1924 hr = t11_dummy->lpVtbl->IsEqual(t11_dummy, t11_dummy);
1925 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1926
1927 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11_dummy);
1928 ok(hr == S_FALSE, "Got unexpected hr %#lx.\n", hr);
1929
1930 hr = t11_dummy->lpVtbl->IsEqual(t11_dummy, t11_valid);
1931 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
1932
1933 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11_valid);
1934 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
1935#endif
1936
1937 /* constant buffers */
1939 {
1941
1942 cb11 = ref11->lpVtbl->GetConstantBufferByIndex(ref11, i);
1943 ok(cb11_dummy != cb11, "Got dummy constant buffer, i %u.\n", i);
1944
1945 hr = cb11->lpVtbl->GetDesc(cb11, &cbdesc);
1946 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1947
1948 ok(!strcmp(cbdesc.Name, pcbdesc->Name), "Got unexpected name \"%s\", i %u.\n", cbdesc.Name, i);
1949 ok(cbdesc.Type == pcbdesc->Type, "Got unexpected Type %#x, i %u.\n", cbdesc.Type, i);
1950 ok(cbdesc.Variables == pcbdesc->Variables, "Got unexpected Variables %u, i %u.\n", cbdesc.Variables, i);
1951 ok(cbdesc.Size == pcbdesc->Size, "Got unexpected Size %u, i %u.\n", cbdesc.Size, i);
1952 ok(cbdesc.uFlags == pcbdesc->uFlags, "Got unexpected uFlags %#x, i %u.\n", cbdesc.uFlags, i);
1953
1954 if (ref12)
1955 {
1956 cb12 = ref12->lpVtbl->GetConstantBufferByIndex(ref12, i);
1957 ok(cb12_dummy != cb12, "Got dummy constant buffer, i %u.\n", i);
1958
1959 hr = cb12->lpVtbl->GetDesc(cb12, &cbdesc12);
1960 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1961
1962 ok(!strcmp(cbdesc12.Name, pcbdesc->Name), "Got unexpected name \"%s\", i %u.\n", cbdesc.Name, i);
1963 ok(cbdesc.Type == pcbdesc->Type, "Got unexpected Type %#x, i %u.\n", cbdesc.Type, i);
1964 ok(!memcmp(&cbdesc12.Type, &cbdesc.Type, sizeof(cbdesc) - offsetof(D3D11_SHADER_BUFFER_DESC, Type)),
1965 "CB description does not match. i %u.\n", i);
1966 }
1967 }
1968
1969 /* variables */
1971 {
1973
1975 v11 = ref11->lpVtbl->GetVariableByName(ref11, pvdesc->Name);
1976 else
1977 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, pvdesc->Name);
1978 ok(v11_dummy != v11, "Test %u, got unexpected variable %p.\n", i, v11);
1979
1981 {
1982 vdesc.StartTexture = 0xdeadbeef;
1983 vdesc.TextureSize = 0xdeadbeef;
1984 vdesc.StartSampler = 0xdeadbeef;
1985 vdesc.SamplerSize = 0xdeadbeef;
1986 }
1987 else
1988 {
1989 vdesc.StartTexture = 0xffffffff;
1990 vdesc.StartSampler = 0xffffffff;
1991 }
1992
1993 hr = v11->lpVtbl->GetDesc(v11, &vdesc);
1994 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1995
1996 ok(!strcmp(vdesc.Name, pvdesc->Name), "Got unexpected name \"%s\", i %u", vdesc.Name, i);
1997 ok(vdesc.StartOffset == pvdesc->StartOffset, "Got unexpected StartOffset %u, i %u.\n",
1998 vdesc.StartOffset, i);
1999 ok(vdesc.Size == pvdesc->Size, "Got unexpected Size %u, i %u.\n", vdesc.Size, i);
2000 ok(vdesc.uFlags == pvdesc->uFlags, "Got unexpected uFlags %#x, i %u.\n", vdesc.uFlags, i);
2001 ok(vdesc.DefaultValue == pvdesc->DefaultValue, "Got unexpected DefaultValue %p, i %u.\n",
2002 vdesc.DefaultValue, i);
2003 ok(vdesc.StartTexture == 0xffffffff, "Got unexpected StartTexture %#x, i %u.\n", vdesc.StartTexture, i);
2004 ok(!vdesc.TextureSize, "Got unexpected TextureSize %u, i %u.\n", vdesc.TextureSize, i);
2005 ok(vdesc.StartSampler == 0xffffffff, "Got unexpected StartSampler %u, i %u.\n", vdesc.StartSampler, i);
2006 ok(!vdesc.SamplerSize, "Got unexpected SamplerSize %u, i %u.\n", vdesc.SamplerSize, i);
2007
2008 if (ref12)
2009 {
2010 v12 = ref12->lpVtbl->GetVariableByName(ref12, pvdesc->Name);
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);
2014 ok(!strcmp(vdesc12.Name, pvdesc->Name), "Got unexpected name \"%s\", i %u", vdesc12.Name, i);
2015 ok(!memcmp(&vdesc12.StartOffset, &vdesc.StartOffset,
2016 sizeof(vdesc) - offsetof(D3D11_SHADER_VARIABLE_DESC, StartOffset)),
2017 "D3D11 and D3D12 descs do not match.\n");
2018 }
2019 else
2020 {
2021 /* Silence compiler warning. */
2022 v12 = NULL;
2023 }
2024
2025 /* types */
2027
2028 t11 = v11->lpVtbl->GetType(v11);
2029 ok(t11_dummy != t11, "Got unexpected type %p, i %u.\n", t11, i);
2030
2031 hr = t11->lpVtbl->GetDesc(t11, &tdesc);
2032 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
2033
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);
2037 ok(tdesc.Columns == ptdesc->Columns, "Got unexpected Columns %u, i %u.\n", tdesc.Columns, i);
2038 ok(tdesc.Elements == ptdesc->Elements, "Got unexpected Elements %u, i %u.\n", tdesc.Elements, i);
2039 ok(tdesc.Offset == ptdesc->Offset, "Got unexpected Offset %u, i %u.\n", tdesc.Offset, i);
2041 ok(!strcmp(tdesc.Name, ptdesc->Name), "Got unexpected Name %s, i %u.\n", debugstr_a(tdesc.Name), i);
2042
2043 if (ref12)
2044 {
2045 t12 = v12->lpVtbl->GetType(v12);
2046 ok(t12_dummy != t12, "Got unexpected type %p, i %u.\n", t12, i);
2047
2048 hr = t12->lpVtbl->GetDesc(t12, &tdesc12);
2049 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
2050 ok(!memcmp(&tdesc12, &tdesc, offsetof(D3D11_SHADER_TYPE_DESC, Name)),
2051 "D3D11 and D3D12 descs do not match.\n");
2052 ok(!strcmp(tdesc12.Name, ptdesc->Name), "Got unexpected Name %s, i %u.\n", debugstr_a(tdesc12.Name), i);
2053 }
2054 }
2055
2056 /* types */
2058 v11 = ref11->lpVtbl->GetVariableByName(ref11, "t");
2059 else
2060 v11 = cb11_valid->lpVtbl->GetVariableByName(cb11_valid, pvdesc->Name);
2061 ok(v11_dummy != v11, "Got unexpected variable %p.\n", v11);
2062
2063 t11 = v11->lpVtbl->GetType(v11);
2064 ok(t11 != t11_dummy, "Got unexpected type %p.\n", t11);
2065
2066 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 0);
2067 ok(t != t11_dummy, "Got unexpected type %p.\n", t);
2068
2069 t2 = t11->lpVtbl->GetMemberTypeByName(t11, "a");
2070 ok(t == t2, "Got unexpected type %p.\n", t2);
2071
2072 string = t11->lpVtbl->GetMemberTypeName(t11, 0);
2073 ok(!strcmp(string, "a"), "Got unexpected string \"%s\".\n", string);
2074
2075 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 1);
2076 ok(t != t11_dummy, "Got unexpected type %p.\n", t);
2077
2078 t2 = t11->lpVtbl->GetMemberTypeByName(t11, "b");
2079 ok(t == t2, "Got unexpected type %p.\n", t2);
2080
2081 string = t11->lpVtbl->GetMemberTypeName(t11, 1);
2082 ok(!strcmp(string, "b"), "Got unexpected string \"%s\".\n", string);
2083
2084#if D3D_COMPILER_VERSION
2085 /* float vs float (in struct) */
2086 hr = t11->lpVtbl->IsEqual(t11, t11_valid);
2087 ok(hr == S_FALSE, "Got unexpected hr %#lx.\n", hr);
2088
2089 hr = t11_valid->lpVtbl->IsEqual(t11_valid, t11);
2090 ok(hr == S_FALSE, "Got unexpected hr %#lx.\n", hr);
2091
2092 /* float vs float */
2093 t = t11->lpVtbl->GetMemberTypeByIndex(t11, 0);
2094 ok(t != t11_dummy, "Got unexpected type %p.\n", t);
2095
2096 t2 = t11->lpVtbl->GetMemberTypeByIndex(t11, 1);
2097 ok(t2 != t11_dummy, "Got unexpected type %p.\n", t2);
2098
2099 hr = t->lpVtbl->IsEqual(t, t2);
2100 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
2101#endif
2102
2103 if (ref12)
2104 {
2105 v12 = ref12->lpVtbl->GetVariableByName(ref12, "t");
2106 ok(v12_dummy != v12, "Got unexpected variable %p.\n", v12);
2107
2108 t12 = v12->lpVtbl->GetType(v12);
2109 ok(t12 != t12_dummy, "Got unexpected type %p.\n", t12);
2110
2111 mt12 = t12->lpVtbl->GetMemberTypeByIndex(t12, 0);
2112 ok(mt12 != t12_dummy, "Got unexpected type %p.\n", mt12);
2113
2114 mt12_2 = t12->lpVtbl->GetMemberTypeByName(t12, "a");
2115 ok(mt12 == mt12_2, "Got unexpected type %p.\n", mt12_2);
2116
2117 string = t12->lpVtbl->GetMemberTypeName(t12, 0);
2118 ok(!strcmp(string, "a"), "Got unexpected string \"%s\".\n", string);
2119
2120 mt12 = t12->lpVtbl->GetMemberTypeByIndex(t12, 1);
2121 ok(mt12 != t12_dummy, "Got unexpected type %p.\n", mt12);
2122
2123 mt12_2 = t12->lpVtbl->GetMemberTypeByName(t12, "b");
2124 ok(mt12 == mt12_2, "Got unexpected type %p.\n", mt12_2);
2125
2126 string = t12->lpVtbl->GetMemberTypeName(t12, 1);
2127 ok(!strcmp(string, "b"), "Got unexpected string \"%s\".\n", string);
2128
2129 hr = t12->lpVtbl->IsEqual(t12, t12_valid);
2130 ok(hr == S_FALSE, "Got unexpected hr %#lx.\n", hr);
2131
2132 hr = t12_valid->lpVtbl->IsEqual(t12_valid, t12);
2133 ok(hr == S_FALSE, "Got unexpected hr %#lx.\n", hr);
2134
2135 mt12 = t12->lpVtbl->GetMemberTypeByIndex(t12, 0);
2136 ok(mt12 != t12_dummy, "Got unexpected type %p.\n", mt12);
2137
2138 mt12_2 = t12->lpVtbl->GetMemberTypeByIndex(t12, 1);
2139 ok(mt12_2 != t12_dummy, "Got unexpected type %p.\n", mt12_2);
2140
2141 hr = mt12->lpVtbl->IsEqual(mt12, mt12_2);
2142 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
2143
2144 count = ref12->lpVtbl->Release(ref12);
2145 ok(!count, "Got unexpected ref count %lu.\n", count);
2146 }
2147 count = ref11->lpVtbl->Release(ref11);
2148 ok(!count, "Got unexpected ref count %lu.\n", count);
2149}
#define D3D_COMPILER_VERSION
Definition: d3d11shader.h:26
#define E_FAIL
Definition: ddrawi.h:102
LPWSTR Name
Definition: desk.c:124
#define ID3D11ShaderReflectionType
Definition: reflection.c:30
#define ID3D11ShaderReflectionConstantBuffer
Definition: reflection.c:28
#define ID3D11ShaderReflectionVariable
Definition: reflection.c:32
GLdouble GLdouble t
Definition: gl.h:2047
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()
ID3D12ShaderReflectionVariable * GetVariableByName(const char *name)
ID3D12ShaderReflectionConstantBuffer * GetConstantBufferByIndex(UINT index)
#define debugstr_a
Definition: kernel32.h:31
char string[160]
Definition: util.h:11
static const D3D11_SHADER_TYPE_DESC test_reflection_constant_buffer_type_result[]
Definition: reflection.c:1695
static const D3D11_SHADER_BUFFER_DESC test_reflection_constant_buffer_cb_result[]
Definition: reflection.c:1675
static const struct @1914 test_reflection_constant_buffer_variable_result[]
static DWORD shader_creator[]
Definition: reflection.c:50
static DWORD test_reflection_constant_buffer_blob[]
Definition: reflection.c:1639
D3D_CBUFFER_TYPE Type
Definition: d3d11shader.h:120
UINT TextureCompInstructions
Definition: d3d11shader.h:66
D3D_TESSELLATOR_PARTITIONING HSPartitioning
Definition: d3d11shader.h:85
UINT GSMaxOutputVertexCount
Definition: d3d11shader.h:79
UINT TextureGradientInstructions
Definition: d3d11shader.h:68
UINT PatchConstantParameters
Definition: d3d11shader.h:81
const char * Creator
Definition: d3d11shader.h:53
UINT TextureBiasInstructions
Definition: d3d11shader.h:67
UINT StaticFlowControlCount
Definition: d3d11shader.h:72
D3D_PRIMITIVE InputPrimitive
Definition: d3d11shader.h:80
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology
Definition: d3d11shader.h:78
D3D_TESSELLATOR_DOMAIN TessellatorDomain
Definition: d3d11shader.h:86
UINT cInterlockedInstructions
Definition: d3d11shader.h:88
UINT TextureLoadInstructions
Definition: d3d11shader.h:65
UINT DynamicFlowControlCount
Definition: d3d11shader.h:73
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive
Definition: d3d11shader.h:84
UINT cTextureStoreInstructions
Definition: d3d11shader.h:89
UINT TextureNormalInstructions
Definition: d3d11shader.h:64
UINT MacroInstructionCount
Definition: d3d11shader.h:74
UINT FloatInstructionCount
Definition: d3d11shader.h:69
UINT ArrayInstructionCount
Definition: d3d11shader.h:75
D3D_SHADER_VARIABLE_CLASS Class
Definition: d3d11shader.h:107
D3D_SHADER_VARIABLE_TYPE Type
Definition: d3d11shader.h:108
const char * LPCSTR
Definition: typedefs.h:52
#define S_FALSE
Definition: winerror.h:3451

Referenced by START_TEST().

◆ test_reflection_cs()

static void test_reflection_cs ( void  )
static

Definition at line 1200 of file reflection.c.

1201{
1202 /*
1203 * fxc.exe /T cs_4_0 /Fo
1204 */
1205#if 0
1206 [numthreads(16, 8, 4)]
1207 void main( uint3 DTid : SV_DispatchThreadID )
1208 {
1209 }
1210#endif
1211 static const DWORD test_blob_cs_4_0[] =
1212 {
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,
1224 };
1225
1226 /*
1227 * fxc.exe /T cs_5_1 /Fo
1228 */
1229#if 0
1230 [numthreads(16, 8, 4)]
1231 void main( uint3 DTid : SV_DispatchThreadID )
1232 {
1233 }
1234#endif
1235 static const DWORD test_blob[] =
1236 {
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,
1249 0x00000000,
1250 };
1251 UINT size_x, size_y, size_z, size_total;
1254
1256 hr = call_reflect(test_blob_cs_4_0, test_blob_cs_4_0[6], &IID_ID3D11ShaderReflection, (void **)&ref11);
1257 ok(hr == expected, "Unexpected hr %#lx.\n", hr);
1258
1259 if (SUCCEEDED(hr))
1260 ref11->lpVtbl->Release(ref11);
1261
1262 hr = call_reflect(test_blob, test_blob[6], &IID_ID3D11ShaderReflection, (void **)&ref11);
1263 ok(hr == expected, "Unexpected hr %#lx.\n", hr);
1264 if (FAILED(hr))
1265 return;
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);
1271
1272 ref11->lpVtbl->Release(ref11);
1273}
int main()
Definition: test.c:6
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51

Referenced by START_TEST().

◆ test_reflection_desc_ps()

static void test_reflection_desc_ps ( void  )
static

Definition at line 768 of file reflection.c.

769{
770 HRESULT hr;
771 ULONG count;
773 D3D11_SHADER_DESC sdesc11 = {0};
777 unsigned int i;
778#if D3D_COMPILER_VERSION
779 UINT size_x, size_y, size_z, size_total;
780 UINT ret;
781#endif
782
784 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
785
786 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc11);
787 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
788
789 ok(sdesc11.Version == 0x41, "Unexpected Version %#x.\n", sdesc11.Version);
790 ok(!strcmp(sdesc11.Creator, (char *)shader_creator), "Unexpected Creator \"%s\".\n", sdesc11.Creator);
791 ok(sdesc11.Flags == 0x100, "Unexpected Flags %#x.\n", sdesc11.Flags);
792 ok(sdesc11.ConstantBuffers == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.ConstantBuffers, 0);
793 ok(sdesc11.BoundResources == 4, "GetDesc failed, got %u, expected %u\n", sdesc11.BoundResources, 4);
794 ok(sdesc11.InputParameters == 8, "GetDesc failed, got %u, expected %u\n", sdesc11.InputParameters, 8);
795 ok(sdesc11.OutputParameters == 4, "GetDesc failed, got %u, expected %u\n", sdesc11.OutputParameters, 4);
796 ok(sdesc11.InstructionCount == 50, "GetDesc failed, got %u, expected %u\n", sdesc11.InstructionCount, 50);
797 ok(sdesc11.TempRegisterCount == 3, "GetDesc failed, got %u, expected %u\n", sdesc11.TempRegisterCount, 3);
798 ok(sdesc11.TempArrayCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TempArrayCount, 0);
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);
801 ok(sdesc11.TextureNormalInstructions == 1, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureNormalInstructions, 1);
802 ok(sdesc11.TextureLoadInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureLoadInstructions, 0);
803 ok(sdesc11.TextureCompInstructions == 3, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureCompInstructions, 3);
804 ok(sdesc11.TextureBiasInstructions == 4, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureBiasInstructions, 4);
805 ok(sdesc11.TextureGradientInstructions == 5, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureGradientInstructions, 5);
806 ok(sdesc11.FloatInstructionCount == 17, "GetDesc failed, got %u, expected %u\n", sdesc11.FloatInstructionCount, 17);
807 ok(sdesc11.IntInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.IntInstructionCount, 0);
808 ok(sdesc11.UintInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.UintInstructionCount, 0);
809 ok(sdesc11.StaticFlowControlCount == 6, "GetDesc failed, got %u, expected %u\n", sdesc11.StaticFlowControlCount, 6);
810 ok(sdesc11.DynamicFlowControlCount == 5, "GetDesc failed, got %u, expected %u\n", sdesc11.DynamicFlowControlCount, 5);
811 ok(sdesc11.MacroInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.MacroInstructionCount, 0);
812 ok(sdesc11.ArrayInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.ArrayInstructionCount, 0);
813 ok(sdesc11.CutInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.CutInstructionCount, 0);
814 ok(sdesc11.EmitInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.EmitInstructionCount, 0);
815 ok(sdesc11.GSOutputTopology == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.GSOutputTopology, 0);
816 ok(sdesc11.GSMaxOutputVertexCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.GSMaxOutputVertexCount, 0);
817 ok(sdesc11.InputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.InputPrimitive, 0);
818 ok(sdesc11.PatchConstantParameters == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.PatchConstantParameters, 0);
819 ok(sdesc11.cGSInstanceCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cGSInstanceCount, 0);
820 ok(sdesc11.cControlPoints == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cControlPoints, 0);
821 ok(sdesc11.HSOutputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.HSOutputPrimitive, 0);
822 ok(sdesc11.HSPartitioning == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.HSPartitioning, 0);
823 ok(sdesc11.TessellatorDomain == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.TessellatorDomain, 0);
824 ok(sdesc11.cBarrierInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cBarrierInstructions, 0);
825 ok(sdesc11.cInterlockedInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cInterlockedInstructions, 0);
826 ok(sdesc11.cTextureStoreInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cTextureStoreInstructions, 0);
827
828#if D3D_COMPILER_VERSION
829 ret = ref11->lpVtbl->GetBitwiseInstructionCount(ref11);
830 ok(ret == 0, "GetBitwiseInstructionCount failed, got %u, expected %u\n", ret, 0);
831
832 ret = ref11->lpVtbl->GetConversionInstructionCount(ref11);
833 ok(ret == 0, "GetConversionInstructionCount failed, got %u, expected %u\n", ret, 0);
834
835 ret = ref11->lpVtbl->GetMovInstructionCount(ref11);
836 ok(ret == 24, "GetMovInstructionCount failed, got %u, expected %u\n", ret, 24);
837
838 ret = ref11->lpVtbl->GetMovcInstructionCount(ref11);
839 ok(ret == 0, "GetMovcInstructionCount failed, got %u, expected %u\n", ret, 0);
840#endif
841
842 /* check invalid Get*ParameterDesc cases*/
843 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, 0, NULL);
844 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
845
846 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, 0xffffffff, &desc);
847 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
848
849 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0, NULL);
850 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
851
852 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0xffffffff, &desc);
853 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
854
855#if D3D_COMPILER_VERSION
856 hr = ref11->lpVtbl->GetPatchConstantParameterDesc(ref11, 0, &desc);
857 ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
858#endif
859
860 /* GetIn/OutputParameterDesc */
862 {
864
865 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, i, &desc);
866 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
867
868 ok(!strcmp(desc.SemanticName, pdesc->SemanticName), "GetInputParameterDesc(%u) SemanticName failed, got \"%s\", expected \"%s\"\n",
869 i, desc.SemanticName, pdesc->SemanticName);
870 ok(desc.SemanticIndex == pdesc->SemanticIndex, "GetInputParameterDesc(%u) SemanticIndex failed, got %u, expected %u\n",
871 i, desc.SemanticIndex, pdesc->SemanticIndex);
872 ok(desc.Register == pdesc->Register, "GetInputParameterDesc(%u) Register failed, got %u, expected %u\n",
873 i, desc.Register, pdesc->Register);
874 ok(desc.SystemValueType == pdesc->SystemValueType, "GetInputParameterDesc(%u) SystemValueType failed, got %x, expected %x\n",
875 i, desc.SystemValueType, pdesc->SystemValueType);
876 ok(desc.ComponentType == pdesc->ComponentType, "GetInputParameterDesc(%u) ComponentType failed, got %x, expected %x\n",
877 i, desc.ComponentType, pdesc->ComponentType);
878 ok(desc.Mask == pdesc->Mask, "GetInputParameterDesc(%u) Mask failed, got %x, expected %x\n",
879 i, desc.Mask, pdesc->Mask);
880 ok(desc.ReadWriteMask == pdesc->ReadWriteMask, "GetInputParameterDesc(%u) ReadWriteMask failed, got %x, expected %x\n",
881 i, desc.ReadWriteMask, pdesc->ReadWriteMask);
883 ok(desc.Stream == pdesc->Stream, "(%u): got unexpected Stream %u, expected %u.\n",
884 i, desc.Stream, pdesc->Stream);
885 else if (sizeof(void *) == 4)
886 ok(!desc.Stream, "(%u): got unexpected Stream %u.\n", i, desc.Stream);
887 }
888
890 {
892
893 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, i, &desc);
894 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
895
896 ok(!strcmp(desc.SemanticName, pdesc->SemanticName), "GetOutputParameterDesc(%u) SemanticName failed, got \"%s\", expected \"%s\"\n",
897 i, desc.SemanticName, pdesc->SemanticName);
898 ok(desc.SemanticIndex == pdesc->SemanticIndex, "GetOutputParameterDesc(%u) SemanticIndex failed, got %u, expected %u\n",
899 i, desc.SemanticIndex, pdesc->SemanticIndex);
900 ok(desc.Register == pdesc->Register, "GetOutputParameterDesc(%u) Register failed, got %u, expected %u\n",
901 i, desc.Register, pdesc->Register);
902#if D3D_COMPILER_VERSION
903 expected = pdesc->SystemValueType;
904#else
907#endif
908 ok(desc.SystemValueType == expected, "(%u): got unexpected SystemValueType %#x, expected %#x.\n",
909 i, desc.SystemValueType, expected);
910 ok(desc.ComponentType == pdesc->ComponentType, "GetOutputParameterDesc(%u) ComponentType failed, got %x, expected %x\n",
911 i, desc.ComponentType, pdesc->ComponentType);
912 ok(desc.Mask == pdesc->Mask, "GetOutputParameterDesc(%u) Mask failed, got %x, expected %x\n",
913 i, desc.Mask, pdesc->Mask);
914 ok(desc.ReadWriteMask == pdesc->ReadWriteMask, "GetOutputParameterDesc(%u) ReadWriteMask failed, got %x, expected %x\n",
915 i, desc.ReadWriteMask, pdesc->ReadWriteMask);
917 ok(desc.Stream == pdesc->Stream, "(%u): got unexpected Stream %u, expected %u.\n",
918 i, desc.Stream, pdesc->Stream);
919 else if (sizeof(void *) == 4)
920 ok(!desc.Stream, "(%u): got unexpected Stream %u.\n", i, desc.Stream);
921 }
922
923#if D3D_COMPILER_VERSION
924 size_x = 0xdeadbeef;
925 size_y = 0xdeadbeef;
926 size_z = 0xdeadbeef;
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);
932#endif
933
934 count = ref11->lpVtbl->Release(ref11);
935 ok(!count, "Got unexpected count %lu.\n", count);
936}
D3D_NAME
Definition: d3dcommon.idl:635
@ D3D_NAME_UNDEFINED
Definition: d3dcommon.idl:636
return ret
Definition: mutex.c:147
#define todo_wine
Definition: minitest.h:80
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultin[]
Definition: reflection.c:748
static DWORD test_reflection_desc_ps_blob[]
Definition: reflection.c:674
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultout[]
Definition: reflection.c:760
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683
D3D_REGISTER_COMPONENT_TYPE ComponentType
Definition: d3d11shader.h:144

Referenced by START_TEST().

◆ test_reflection_desc_ps_output()

static void test_reflection_desc_ps_output ( void  )
static

Definition at line 1040 of file reflection.c.

1041{
1042 static const struct test_reflection_desc_ps_output_test
1043 {
1044 const DWORD *blob;
1046 }
1047 tests[] =
1048 {
1050 {"SV_Target", 3, 3, D3D_NAME_TARGET, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0, 0}},
1052 {"SV_DepthLessEqual", 0, 0xffffffff, D3D_NAME_DEPTH_LESS_EQUAL, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0}},
1054 {"SV_DepthGreaterEqual", 0, 0xffffffff, D3D11_NAME_DEPTH_GREATER_EQUAL, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0}},
1056 {"sV_DePtH", 0, 0xffffffff, D3D_NAME_DEPTH, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0}},
1058 {"SV_Depth", 0, 0xffffffff, D3D_NAME_DEPTH, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0}},
1060 {"SV_COVERAGE", 0, 0xffffffff, D3D_NAME_COVERAGE, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0xe, 0}},
1061 };
1062 HRESULT hr;
1063 ULONG count;
1066 const D3D11_SIGNATURE_PARAMETER_DESC *pdesc;
1068 unsigned int i;
1069
1070 for (i = 0; i < ARRAY_SIZE(tests); ++i)
1071 {
1072 hr = call_reflect(tests[i].blob, tests[i].blob[6], &IID_ID3D11ShaderReflection, (void **)&ref11);
1074 {
1075 todo_wine ok(hr == E_INVALIDARG, "%u: Got unexpected hr %#lx.\n", i, hr);
1076 if (SUCCEEDED(hr))
1077 ref11->lpVtbl->Release(ref11);
1078 continue;
1079 }
1080 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1081
1082 pdesc = &tests[i].desc;
1083
1084 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, 0, &desc);
1085 ok(hr == S_OK, "%u: Got unexpected hr %#lx.\n", i, hr);
1086
1087 ok(!strcmp(desc.SemanticName, pdesc->SemanticName), "(%u): GetOutputParameterDesc SemanticName failed, got \"%s\", expected \"%s\"\n",
1088 i, desc.SemanticName, pdesc->SemanticName);
1089 ok(desc.SemanticIndex == pdesc->SemanticIndex, "(%u): GetOutputParameterDesc SemanticIndex failed, got %u, expected %u\n",
1090 i, desc.SemanticIndex, pdesc->SemanticIndex);
1091 ok(desc.Register == pdesc->Register, "(%u): GetOutputParameterDesc Register failed, got %u, expected %u\n",
1092 i, desc.Register, pdesc->Register);
1093#if D3D_COMPILER_VERSION
1094 expected = pdesc->SystemValueType;
1095#else
1097 todo_wine
1098#endif
1099 ok(desc.SystemValueType == expected, "(%u): Got unexpected SystemValueType %#x, expected %x.\n",
1100 i, desc.SystemValueType, expected);
1101 ok(desc.ComponentType == pdesc->ComponentType, "(%u): GetOutputParameterDesc ComponentType failed, got %x, expected %x\n",
1102 i, desc.ComponentType, pdesc->ComponentType);
1103 ok(desc.Mask == pdesc->Mask, "(%u): GetOutputParameterDesc Mask failed, got %x, expected %x\n",
1104 i, desc.Mask, pdesc->Mask);
1105 ok(desc.ReadWriteMask == pdesc->ReadWriteMask, "(%u): GetOutputParameterDesc ReadWriteMask failed, got %x, expected %x\n",
1106 i, desc.ReadWriteMask, pdesc->ReadWriteMask);
1108 ok(desc.Stream == pdesc->Stream, "(%u): got unexpected Stream %u, expected %u.\n",
1109 i, desc.Stream, pdesc->Stream);
1110 else if (sizeof(void *) == 4)
1111 ok(!desc.Stream, "(%u): got unexpected Stream %u.\n", i, desc.Stream);
1112
1113 count = ref11->lpVtbl->Release(ref11);
1114 ok(!count, "%u: Got unexpected count %lu.\n", i, count);
1115 }
1116}
@ D3D_NAME_TARGET
Definition: d3dcommon.idl:656
@ D3D_NAME_DEPTH_LESS_EQUAL
Definition: d3dcommon.idl:660
@ D3D11_NAME_DEPTH_GREATER_EQUAL
Definition: d3dcommon.idl:683
@ D3D_NAME_DEPTH
Definition: d3dcommon.idl:657
@ D3D_NAME_COVERAGE
Definition: d3dcommon.idl:658
@ D3D_REGISTER_COMPONENT_FLOAT32
Definition: d3dcommon.idl:601
@ D3D_REGISTER_COMPONENT_UINT32
Definition: d3dcommon.idl:599
static struct test_info tests[]
static const DWORD test_reflection_desc_ps_output_blob_4[]
Definition: reflection.c:1015
static const DWORD test_reflection_desc_ps_output_blob_1[]
Definition: reflection.c:965
static const DWORD test_reflection_desc_ps_output_blob_3[]
Definition: reflection.c:999
static const DWORD test_reflection_desc_ps_output_blob_5[]
Definition: reflection.c:1031
static const DWORD test_reflection_desc_ps_output_blob_0[]
Definition: reflection.c:948
static const DWORD test_reflection_desc_ps_output_blob_2[]
Definition: reflection.c:982

Referenced by START_TEST().

◆ test_reflection_desc_vs()

static void test_reflection_desc_vs ( void  )
static

Definition at line 408 of file reflection.c.

409{
410 struct D3D11_SIGNATURE_PARAMETER_DESC_46 desc_46 = {0};
414 D3D_MIN_PRECISION expected_min_prec;
415 D3D11_SHADER_DESC sdesc11 = {0};
416 D3D12_SHADER_DESC sdesc12 = {0};
419 unsigned int i;
420 ULONG count;
421 HRESULT hr;
422#if D3D_COMPILER_VERSION
423 UINT ret;
424#endif
425
427 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
428
429 ref11->lpVtbl->QueryInterface(ref11, &IID_ID3D12ShaderReflection, (void **)&ref12);
430
431 hr = ref11->lpVtbl->GetDesc(ref11, NULL);
432 ok(hr == E_FAIL, "Got unexpected hr %#lx.\n", hr);
433
434 hr = ref11->lpVtbl->GetDesc(ref11, &sdesc11);
435 ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
436
437 ok(sdesc11.Version == 0x10041, "Unexpected Version %#x.\n", sdesc11.Version);
438 ok(!strcmp(sdesc11.Creator, (char *)shader_creator), "Unexpected Creator \"%s\".\n", sdesc11.Creator);
439 ok(sdesc11.Flags == 0x100, "Unexpected Flags %#x.\n", sdesc11.Flags);
440 ok(sdesc11.ConstantBuffers == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.ConstantBuffers, 0);
441 ok(sdesc11.BoundResources == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.BoundResources, 0);
442 ok(sdesc11.InputParameters == 15, "GetDesc failed, got %u, expected %u\n", sdesc11.InputParameters, 15);
443 ok(sdesc11.OutputParameters == 11, "GetDesc failed, got %u, expected %u\n", sdesc11.OutputParameters, 11);
444 ok(sdesc11.InstructionCount == 21, "GetDesc failed, got %u, expected %u\n", sdesc11.InstructionCount, 21);
445 ok(sdesc11.TempRegisterCount == 1, "GetDesc failed, got %u, expected %u\n", sdesc11.TempRegisterCount, 1);
446 ok(sdesc11.TempArrayCount == 5, "GetDesc failed, got %u, expected %u\n", sdesc11.TempArrayCount, 5);
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);
449 ok(sdesc11.TextureNormalInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureNormalInstructions, 0);
450 ok(sdesc11.TextureLoadInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureLoadInstructions, 0);
451 ok(sdesc11.TextureCompInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureCompInstructions, 0);
452 ok(sdesc11.TextureBiasInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureBiasInstructions, 0);
453 ok(sdesc11.TextureGradientInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.TextureGradientInstructions, 0);
454 ok(sdesc11.FloatInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.FloatInstructionCount, 0);
455 ok(sdesc11.IntInstructionCount == 1, "GetDesc failed, got %u, expected %u\n", sdesc11.IntInstructionCount, 1);
456 ok(sdesc11.UintInstructionCount == 1, "GetDesc failed, got %u, expected %u\n", sdesc11.UintInstructionCount, 1);
457 ok(sdesc11.StaticFlowControlCount == 1, "GetDesc failed, got %u, expected %u\n", sdesc11.StaticFlowControlCount, 1);
458 ok(sdesc11.DynamicFlowControlCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.DynamicFlowControlCount, 0);
459 ok(sdesc11.MacroInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.MacroInstructionCount, 0);
460 ok(sdesc11.ArrayInstructionCount == 6, "GetDesc failed, got %u, expected %u\n", sdesc11.ArrayInstructionCount, 6);
461 ok(sdesc11.CutInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.CutInstructionCount, 0);
462 ok(sdesc11.EmitInstructionCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.EmitInstructionCount, 0);
463 ok(sdesc11.GSOutputTopology == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.GSOutputTopology, 0);
464 ok(sdesc11.GSMaxOutputVertexCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.GSMaxOutputVertexCount, 0);
465 ok(sdesc11.InputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.InputPrimitive, 0);
466 ok(sdesc11.PatchConstantParameters == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.PatchConstantParameters, 0);
467 ok(sdesc11.cGSInstanceCount == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cGSInstanceCount, 0);
468 ok(sdesc11.cControlPoints == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cControlPoints, 0);
469 ok(sdesc11.HSOutputPrimitive == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.HSOutputPrimitive, 0);
470 ok(sdesc11.HSPartitioning == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.HSPartitioning, 0);
471 ok(sdesc11.TessellatorDomain == 0, "GetDesc failed, got %x, expected %x\n", sdesc11.TessellatorDomain, 0);
472 ok(sdesc11.cBarrierInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cBarrierInstructions, 0);
473 ok(sdesc11.cInterlockedInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cInterlockedInstructions, 0);
474 ok(sdesc11.cTextureStoreInstructions == 0, "GetDesc failed, got %u, expected %u\n", sdesc11.cTextureStoreInstructions, 0);
475
476 if (ref12)
477 {
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");
481 }
482
483#if D3D_COMPILER_VERSION
484 ret = ref11->lpVtbl->GetBitwiseInstructionCount(ref11);
485 ok(ret == 0, "Got unexpected ret %u.\n", ret);
486
487 ret = ref11->lpVtbl->GetConversionInstructionCount(ref11);
488 ok(ret == 2, "Got unexpected ret %u.\n", ret);
489
490 ret = ref11->lpVtbl->GetMovInstructionCount(ref11);
491 ok(ret == 10, "Got unexpected ret %u.\n", ret);
492
493 ret = ref11->lpVtbl->GetMovcInstructionCount(ref11);
494 ok(ret == 0, "Got unexpected ret %u.\n", ret);
495
496 if (ref12)
497 {
498 ret = ref12->lpVtbl->GetBitwiseInstructionCount(ref12);
499 ok(ret == 0, "Got unexpected ret %u.\n", ret);
500
501 ret = ref12->lpVtbl->GetConversionInstructionCount(ref12);
502 ok(ret == 2, "Got unexpected ret %u.\n", ret);
503
504 ret = ref12->lpVtbl->GetMovInstructionCount(ref12);
505 ok(ret == 10, "Got unexpected ret %u.\n", ret);
506
507 ret = ref12->lpVtbl->GetMovcInstructionCount(ref12);
508 ok(ret == 0, "Got unexpected ret %u.\n", ret);
509 }
510#endif
511
512 /* GetIn/OutputParameterDesc */
513 desc_46.MinPrecision = ~0u;
514 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, 0, (D3D11_SIGNATURE_PARAMETER_DESC *)&desc_46);
515#if D3D_COMPILER_VERSION >= 46
516 expected_min_prec = 0;
517#else
518 expected_min_prec = ~0u;
519#endif
520 ok(desc_46.MinPrecision == expected_min_prec, "Got MinPrecision %#x, expected %#x.\n",
521 desc_46.MinPrecision, expected_min_prec);
522
524 {
526
527 hr = ref11->lpVtbl->GetInputParameterDesc(ref11, i, &desc11);
528 ok(hr == S_OK, "Got unexpected hr %#lx, i %u.\n", hr, i);
529
530 ok(!strcmp(desc11.SemanticName, pdesc->SemanticName), "Got unexpected SemanticName \"%s\", i %u.\n",
531 desc11.SemanticName, i);
532 ok(desc11.SemanticIndex == pdesc->SemanticIndex, "Got unexpected SemanticIndex %u, i %u.\n",
533 desc11.SemanticIndex, i);
534 ok(desc11.Register == pdesc->Register, "Got unexpected Register %u, i %u.\n", desc11.Register, i);
535 ok(desc11.SystemValueType == pdesc->SystemValueType, "Got unexpected SystemValueType %u, i %u.\n",
536 desc11.SystemValueType, i);
537 ok(desc11.ComponentType == pdesc->ComponentType, "Got unexpected ComponentType %u, i %u.\n",
538 desc11.ComponentType, i);
539 ok(desc11.Mask == pdesc->Mask, "Got unexpected SystemValueType %#x, i %u.\n", desc11.Mask, i);
540 ok(desc11.ReadWriteMask == pdesc->ReadWriteMask, "Got unexpected ReadWriteMask %#x, i %u.\n",
541 desc11.ReadWriteMask, i);
542 /* The Stream field of D3D11_SIGNATURE_PARAMETER_DESC is in the
543 * trailing padding of the D3D10_SIGNATURE_PARAMETER_DESC struct on
544 * 64-bits and thus undefined. Don't test it. */
546 ok(desc11.Stream == pdesc->Stream, "Got unexpected Stream %u, i %u.\n",
547 desc11.Stream, i);
548 else if (sizeof(void *) == 4)
549 ok(!desc11.Stream, "Got unexpected Stream %u, i %u.\n", desc11.Stream, i);
550
551 if (ref12)
552 {
553 hr = ref12->lpVtbl->GetInputParameterDesc(ref12, i, &desc12);
554 ok(hr == S_OK, "Got unexpected hr %#lx, i %u.\n", hr, i);
555
556 ok(!memcmp(&desc12, &desc11, sizeof(desc11)), "D3D11 and D3D12 descs do not match.\n");
557 }
558 }
559
561 {
563
564 hr = ref11->lpVtbl->GetOutputParameterDesc(ref11, i, &desc11);
565 ok(hr == S_OK, "Got unexpected hr %#lx, i %u.\n", hr, i);
566
567 ok(!strcmp(desc11.SemanticName, pdesc->SemanticName), "Got unexpected SemanticName \"%s\", i %u.\n",
568 desc11.SemanticName, i);
569 ok(desc11.SemanticIndex == pdesc->SemanticIndex, "Got unexpected SemanticIndex %u, i %u.\n",
570 desc11.SemanticIndex, i);
571 ok(desc11.Register == pdesc->Register, "Got unexpected Register %u, i %u.\n", desc11.Register, i);
572 ok(desc11.SystemValueType == pdesc->SystemValueType, "Got unexpected SystemValueType %u, i %u.\n",
573 desc11.SystemValueType, i);
574 ok(desc11.ComponentType == pdesc->ComponentType, "Got unexpected ComponentType %u, i %u.\n",
575 desc11.ComponentType, i);
576 ok(desc11.Mask == pdesc->Mask, "Got unexpected SystemValueType %#x, i %u.\n", desc11.Mask, i);
577 ok(desc11.ReadWriteMask == pdesc->ReadWriteMask, "Got unexpected ReadWriteMask %#x, i %u.\n",
578 desc11.ReadWriteMask, i);
579 /* The Stream field of D3D11_SIGNATURE_PARAMETER_DESC is in the
580 * trailing padding of the D3D10_SIGNATURE_PARAMETER_DESC struct on
581 * 64-bits and thus undefined. Don't test it. */
583 ok(desc11.Stream == pdesc->Stream, "Got unexpected Stream %u, i %u.\n",
584 desc11.Stream, i);
585 else if (sizeof(void *) == 4)
586 ok(!desc11.Stream, "Got unexpected Stream %u, i %u.\n", desc11.Stream, i);
587
588 if (ref12)
589 {
590 hr = ref12->lpVtbl->GetOutputParameterDesc(ref12, i, &desc12);
591 ok(hr == S_OK, "Got unexpected hr %#lx, i %u.\n", hr, i);
592
593 ok(!memcmp(&desc12, &desc11, sizeof(desc11)), "D3D11 and D3D12 descs do not match.\n");
594 }
595 }
596
597 if (ref12)
598 {
599 count = ref12->lpVtbl->Release(ref12);
600 ok(count == 1, "Got unexpected ref count %lu.\n", count);
601 }
602
603 count = ref11->lpVtbl->Release(ref11);
604 ok(count == 0, "Got unexpected ref count %lu.\n", count);
605}
D3D_MIN_PRECISION
Definition: d3dcommon.idl:522
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
Definition: glfuncs.h:240
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultout[]
Definition: reflection.c:380
static DWORD test_reflection_desc_vs_blob[]
Definition: reflection.c:298
static const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultin[]
Definition: reflection.c:361
D3D_MIN_PRECISION MinPrecision
Definition: reflection.c:405
D3D_MIN_PRECISION MinPrecision
Definition: d3d11shader.h:149

Referenced by START_TEST().

Variable Documentation

◆ desc

Definition at line 1683 of file reflection.c.

Referenced by adapter_gl_create_buffer(), adapter_gl_create_rendertarget_view(), adapter_gl_create_sampler(), adapter_gl_create_shader_resource_view(), adapter_gl_create_swapchain(), adapter_gl_create_texture(), adapter_gl_create_unordered_access_view(), adapter_no3d_create_buffer(), adapter_no3d_create_rendertarget_view(), adapter_no3d_create_sampler(), adapter_no3d_create_shader_resource_view(), adapter_no3d_create_swapchain(), adapter_no3d_create_texture(), adapter_no3d_create_unordered_access_view(), adapter_vk_create_buffer(), adapter_vk_create_rendertarget_view(), adapter_vk_create_sampler(), adapter_vk_create_shader_resource_view(), adapter_vk_create_swapchain(), adapter_vk_create_texture(), adapter_vk_create_unordered_access_view(), add_ffp_frag_shader(), add_func_info(), add_nested_provider_desc(), add_provider_desc(), alloc_user_queue(), Arguments_lookup_prop(), Arguments_next_prop(), BackgroundCopyJob_GetDescription(), BackgroundCopyJob_SetDescription(), band_object_ParseDescriptor(), BCryptDeriveKey(), BCryptKeyDerivation(), buffer_resource_sub_resource_get_desc(), build_tree(), ATL::CImage::BuildCodecFilterString(), FxCmResList::BuildPortResourceTable(), FxCmResList::BuildRegisterResourceTable(), check_access(), check_bitmap_surface_(), check_constant_desc(), check_cube_texture_level_desc_(), check_emfplus(), check_lnk_(), check_metafile(), check_parameter_desc(), check_record(), check_resource_binding(), check_sharing(), check_surface_desc(), check_texture_level_desc_(), check_tga_surface_load_(), check_transform_applicable(), check_volume_texture_level_desc_(), chord_IDirectMusicObject_ParseDescriptor(), ciffile_GetDescription(), collection_add_font_entry(), collection_object_ParseDescriptor(), compare_cube_texture_(), compare_emf_bits(), compare_mf_bits(), compare_mf_disk_bits(), compile_procedure(), ComplexBufferSize(), ComplexFree(), ComplexMarshall(), ComplexStructMemorySize(), ComplexStructSize(), ComplexUnmarshall(), component_GetDescription(), compute_image_subresource_size_in_tiles(), cont_IDirectMusicObject_ParseDescriptor(), convert_registers_to_gas(), create_buffer_view(), create_class_funcprop(), create_ddraw(), create_font_collection(), create_font_collection_from_set(), create_fontface(), create_glyphrunanalysis(), create_host_function(), create_lnk_(), create_moniker_from_desc(), create_moniker_parse_desc(), create_picture(), create_render_target(), create_render_target_desc(), create_swapchain(), create_textlayout(), create_texture_view(), create_vbdisp(), CRYPT_AsnEncodePKCSAttributes(), CRYPT_DEREncodeItemsAsSet(), d2d_bitmap_create(), d2d_bitmap_create_from_wic_bitmap(), d2d_bitmap_create_shared(), d2d_bitmap_init(), d2d_bitmap_render_target_CreateBitmap(), d2d_bitmap_render_target_CreateBitmapFromWicBitmap(), d2d_bitmap_render_target_CreateSharedBitmap(), d2d_bitmap_render_target_CreateSolidColorBrush(), d2d_bitmap_render_target_IsSupported(), d2d_brush_init(), d2d_d3d_create_render_target(), d2d_dc_render_target_CreateBitmap(), d2d_dc_render_target_CreateBitmapFromWicBitmap(), d2d_dc_render_target_CreateSharedBitmap(), d2d_dc_render_target_CreateSolidColorBrush(), d2d_dc_render_target_init(), d2d_dc_render_target_IsSupported(), d2d_device_context_CreateBitmap(), d2d_device_context_CreateBitmapFromDxgiSurface(), d2d_device_context_CreateBitmapFromWicBitmap(), d2d_device_context_CreateSharedBitmap(), d2d_device_context_CreateSolidColorBrush(), d2d_device_context_GetEffectRequiredInputRectangles(), d2d_device_context_ID2D1DeviceContext_CreateBitmap(), d2d_device_context_ID2D1DeviceContext_CreateBitmapFromWicBitmap(), d2d_device_context_IsSupported(), d2d_device_CreatePrintControl(), d2d_factory_CreateDCRenderTarget(), d2d_factory_CreateDrawingStateBlock(), d2d_factory_CreateDrawingStateBlock1(), d2d_factory_CreateDxgiSurfaceRenderTarget(), d2d_factory_CreateHwndRenderTarget(), d2d_factory_CreateStrokeStyle(), d2d_factory_CreateStrokeStyle1(), d2d_factory_CreateWicBitmapRenderTarget(), d2d_get_bitmap_options_for_surface(), d2d_hwnd_render_target_CreateBitmap(), d2d_hwnd_render_target_CreateBitmapFromWicBitmap(), d2d_hwnd_render_target_CreateSharedBitmap(), d2d_hwnd_render_target_CreateSolidColorBrush(), d2d_hwnd_render_target_init(), d2d_hwnd_render_target_IsSupported(), d2d_solid_color_brush_create(), d2d_state_block_GetDescription(), d2d_state_block_GetDescription1(), d2d_state_block_init(), d2d_state_block_SetDescription(), d2d_state_block_SetDescription1(), d2d_stroke_style_init(), d2d_wic_render_target_init(), d3d10_blend_state_GetDesc(), d3d10_blend_state_GetDesc1(), d3d10_buffer_GetDesc(), d3d10_depthstencil_state_GetDesc(), d3d10_depthstencil_view_GetDesc(), d3d10_device_CheckCounter(), d3d10_device_CreateBlendState(), d3d10_device_CreateBlendState1(), d3d10_device_CreateBuffer(), d3d10_device_CreateCounter(), d3d10_device_CreateDepthStencilState(), d3d10_device_CreateDepthStencilView(), d3d10_device_CreatePredicate(), d3d10_device_CreateQuery(), d3d10_device_CreateRasterizerState(), d3d10_device_CreateRenderTargetView(), d3d10_device_CreateSamplerState(), d3d10_device_CreateShaderResourceView(), d3d10_device_CreateShaderResourceView1(), d3d10_device_CreateTexture1D(), d3d10_device_CreateTexture2D(), d3d10_device_CreateTexture3D(), d3d10_effect_blend_variable_GetBackingStore(), d3d10_effect_blend_variable_GetDesc(), d3d10_effect_constant_buffer_GetDesc(), d3d10_effect_depth_stencil_variable_GetBackingStore(), d3d10_effect_depth_stencil_variable_GetDesc(), d3d10_effect_depth_stencil_view_variable_GetDesc(), d3d10_effect_get_desc(), d3d10_effect_GetDesc(), d3d10_effect_matrix_variable_GetDesc(), d3d10_effect_pass_GetDesc(), d3d10_effect_pass_GetGeometryShaderDesc(), d3d10_effect_pass_GetPixelShaderDesc(), d3d10_effect_pass_GetVertexShaderDesc(), d3d10_effect_rasterizer_variable_GetBackingStore(), d3d10_effect_rasterizer_variable_GetDesc(), d3d10_effect_render_target_view_variable_GetDesc(), d3d10_effect_sampler_variable_GetBackingStore(), d3d10_effect_sampler_variable_GetDesc(), d3d10_effect_scalar_variable_GetDesc(), d3d10_effect_shader_resource_variable_GetDesc(), d3d10_effect_shader_variable_GetDesc(), d3d10_effect_shader_variable_GetInputSignatureElementDesc(), d3d10_effect_shader_variable_GetOutputSignatureElementDesc(), d3d10_effect_shader_variable_GetShaderDesc(), d3d10_effect_string_variable_GetDesc(), d3d10_effect_technique_GetDesc(), d3d10_effect_type_GetDesc(), d3d10_effect_variable_GetDesc(), d3d10_effect_vector_variable_GetDesc(), d3d10_get_shader_variable_signature(), d3d10_query_GetDesc(), d3d10_rasterizer_state_GetDesc(), d3d10_rendertarget_view_GetDesc(), d3d10_sampler_state_GetDesc(), d3d10_shader_resource_view_GetDesc(), d3d10_shader_resource_view_GetDesc1(), d3d10_texture1d_GetDesc(), d3d10_texture2d_GetDesc(), d3d10_texture3d_GetDesc(), d3d11_blend_state_GetDesc(), d3d11_blend_state_GetDesc1(), d3d11_buffer_GetDesc(), d3d11_compute_shader_init(), d3d11_depthstencil_state_GetDesc(), d3d11_depthstencil_view_GetDesc(), d3d11_device_CheckCounter(), d3d11_device_CreateBlendState(), d3d11_device_CreateBlendState1(), d3d11_device_CreateBuffer(), d3d11_device_CreateCounter(), d3d11_device_CreateDepthStencilState(), d3d11_device_CreateDepthStencilView(), d3d11_device_CreatePredicate(), d3d11_device_CreateQuery(), d3d11_device_CreateRasterizerState(), d3d11_device_CreateRasterizerState1(), d3d11_device_CreateRenderTargetView(), d3d11_device_CreateSamplerState(), d3d11_device_CreateShaderResourceView(), d3d11_device_CreateTexture1D(), d3d11_device_CreateTexture2D(), d3d11_device_CreateTexture3D(), d3d11_device_CreateUnorderedAccessView(), d3d11_domain_shader_init(), d3d11_hull_shader_init(), d3d11_query_GetDesc(), d3d11_rasterizer_state_GetDesc(), d3d11_rasterizer_state_GetDesc1(), d3d11_rendertarget_view_GetDesc(), d3d11_sampler_state_GetDesc(), d3d11_shader_resource_view_GetDesc(), d3d11_swapchain_create_d3d11_textures(), d3d11_swapchain_GetDesc(), d3d11_swapchain_GetDesc1(), d3d11_swapchain_GetFullscreenDesc(), d3d11_swapchain_init(), d3d11_texture1d_GetDesc(), d3d11_texture2d_GetDesc(), d3d11_texture3d_GetDesc(), d3d11_unordered_access_view_create(), d3d11_unordered_access_view_GetDesc(), d3d11_unordered_access_view_init(), d3d11_video_decoder_GetCreationParameters(), d3d11_video_decoder_output_view_GetDesc(), d3d11_video_device_CreateVideoDecoder(), d3d11_video_device_CreateVideoDecoderOutputView(), d3d11_video_device_CreateVideoProcessorEnumerator(), d3d11_video_device_CreateVideoProcessorInputView(), d3d11_video_device_CreateVideoProcessorOutputView(), d3d11_video_device_GetVideoDecoderConfig(), d3d11_video_device_GetVideoDecoderConfigCount(), D3D11CreateDeviceAndSwapChain(), d3d12_cache_session_GetDesc(), d3d12_cache_session_init(), d3d12_command_list_bind_descriptor_table(), d3d12_command_list_BuildRaytracingAccelerationStructure(), d3d12_command_list_DispatchRays(), d3d12_command_list_EmitRaytracingAccelerationStructurePostbuildInfo(), d3d12_command_list_set_descriptor_table(), d3d12_command_queue_create(), d3d12_command_queue_GetDesc(), d3d12_command_queue_init(), d3d12_command_signature_create(), d3d12_committed_resource_create(), d3d12_desc_create_cbv(), d3d12_desc_create_sampler(), d3d12_desc_create_srv(), d3d12_desc_create_uav(), d3d12_descriptor_heap_create(), d3d12_descriptor_heap_create_descriptor_pool(), d3d12_descriptor_heap_GetDesc(), d3d12_descriptor_heap_init(), d3d12_descriptor_heap_vk_descriptor_sets_init(), d3d12_device_CreateCommandQueue(), d3d12_device_CreateCommandQueue1(), d3d12_device_CreateCommandSignature(), d3d12_device_CreateCommittedResource(), d3d12_device_CreateCommittedResource1(), d3d12_device_CreateCommittedResource2(), d3d12_device_CreateComputePipelineState(), d3d12_device_CreateConstantBufferView(), d3d12_device_CreateDepthStencilView(), d3d12_device_CreateDescriptorHeap(), d3d12_device_CreateGraphicsPipelineState(), d3d12_device_CreateHeap(), d3d12_device_CreateHeap1(), d3d12_device_CreatePipelineState(), d3d12_device_CreatePlacedResource(), d3d12_device_CreateProtectedResourceSession(), d3d12_device_CreateProtectedResourceSession1(), d3d12_device_CreateQueryHeap(), d3d12_device_CreateRenderTargetView(), d3d12_device_CreateReservedResource(), d3d12_device_CreateReservedResource1(), d3d12_device_CreateSampler(), d3d12_device_CreateShaderCacheSession(), d3d12_device_CreateShaderResourceView(), d3d12_device_CreateStateObject(), d3d12_device_CreateUnorderedAccessView(), d3d12_device_get_copyable_footprints(), d3d12_device_get_resource1_allocation_info(), d3d12_device_GetCopyableFootprints(), d3d12_device_GetCopyableFootprints1(), d3d12_device_GetRaytracingAccelerationStructurePrebuildInfo(), d3d12_dsv_desc_create_dsv(), d3d12_heap_create(), d3d12_heap_GetDesc(), d3d12_heap_init(), d3d12_init_pipeline_state_desc(), d3d12_pipeline_state_create(), d3d12_pipeline_state_create_compute(), d3d12_pipeline_state_create_graphics(), d3d12_pipeline_state_init_compute(), d3d12_pipeline_state_init_graphics(), d3d12_placed_resource_create(), d3d12_query_heap_create(), d3d12_reserved_resource_create(), d3d12_resource_create(), d3d12_resource_desc1_from_desc(), d3d12_resource_desc_get_depth(), d3d12_resource_desc_get_height(), d3d12_resource_desc_get_layer_count(), d3d12_resource_desc_get_sub_resource_count(), d3d12_resource_desc_get_width(), d3d12_resource_init(), d3d12_resource_validate_desc(), d3d12_resource_validate_texture_alignment(), d3d12_resource_validate_texture_format(), d3d12_root_signature_info_from_desc(), d3d12_root_signature_init(), d3d12_root_signature_init_push_constants(), d3d12_root_signature_init_root_descriptor_tables(), d3d12_root_signature_init_root_descriptors(), d3d12_root_signature_init_static_samplers(), d3d12_rtv_desc_create_rtv(), d3d12_swapchain_GetDesc(), d3d12_swapchain_GetDesc1(), d3d12_swapchain_GetFullscreenDesc(), d3d12_swapchain_resize_buffers(), d3d12_versioned_root_signature_deserializer_GetRootSignatureDescAtVersion(), D3D12SerializeVersionedRootSignature(), d3d3_CreateVertexBuffer(), d3d7_CreateVertexBuffer(), d3d8_device_create_surface(), d3d8_device_CreateAdditionalSwapChain(), d3d8_device_upload_sysmem_vertex_buffers(), d3d8_GetAdapterMonitor(), d3d8_indexbuffer_GetDesc(), d3d8_pixel_shader_init(), d3d8_surface_GetDesc(), d3d8_surface_LockRect(), d3d8_swapchain_create(), d3d8_texture_2d_GetLevelDesc(), d3d8_texture_2d_init(), d3d8_texture_3d_GetLevelDesc(), d3d8_texture_3d_init(), d3d8_texture_cube_GetLevelDesc(), d3d8_texture_cube_init(), d3d8_texture_init(), d3d8_vertex_shader_init(), d3d8_vertexbuffer_GetDesc(), d3d8_volume_GetDesc(), d3d9_device_ColorFill(), d3d9_device_create_surface(), d3d9_device_CreateAdditionalSwapChain(), d3d9_device_upload_sysmem_vertex_buffers(), d3d9_GetAdapterMonitor(), d3d9_indexbuffer_GetDesc(), d3d9_surface_GetDesc(), d3d9_swapchain_create(), d3d9_swapchain_GetPresentParameters(), d3d9_texture_2d_GetLevelDesc(), d3d9_texture_2d_init(), d3d9_texture_3d_GetLevelDesc(), d3d9_texture_3d_init(), d3d9_texture_cube_GetLevelDesc(), d3d9_texture_cube_init(), d3d9_texture_init(), d3d9_vertexbuffer_GetDesc(), d3d9_volume_GetDesc(), d3d_blend_state_create(), d3d_buffer_create(), d3d_buffer_init(), d3d_depthstencil_state_create(), d3d_depthstencil_view_create(), d3d_depthstencil_view_init(), d3d_device7_GetCaps_FPUPreserve(), d3d_device7_GetCaps_FPUSetup(), d3d_execute_buffer_init(), d3d_execute_buffer_Initialize(), d3d_execute_buffer_Lock(), d3d_execute_buffer_SetExecuteData(), d3d_geometry_shader_init(), d3d_pixel_shader_init(), d3d_query_create(), d3d_query_init(), d3d_rasterizer_state_create(), d3d_rasterizer_state_init(), d3d_rendertarget_view_create(), d3d_rendertarget_view_init(), d3d_sampler_state_create(), d3d_sampler_state_init(), d3d_shader_resource_view_create(), d3d_shader_resource_view_init(), d3d_texture1d_create(), d3d_texture2d_create(), d3d_texture3d_create(), d3d_texture3d_init(), d3d_vertex_buffer7_GetVertexBufferDesc(), d3d_vertex_buffer_create(), d3d_vertex_buffer_create_wined3d_buffer(), d3d_vertex_shader_init(), d3d_video_decoder_output_view_create(), d3dcompiler_parse_rdef(), d3dcompiler_parse_type(), d3dcompiler_shader_reflection_constant_buffer_GetDesc(), d3dcompiler_shader_reflection_GetDesc(), d3dcompiler_shader_reflection_GetInputParameterDesc(), d3dcompiler_shader_reflection_GetOutputParameterDesc(), d3dcompiler_shader_reflection_GetResourceBindingDesc(), d3dcompiler_shader_reflection_type_GetDesc(), d3dcompiler_shader_reflection_variable_GetDesc(), D3DKMTCreateDCFromMemory(), D3DKMTDestroyDCFromMemory(), d3drm_device_init(), d3drm_device_set_ddraw_device_d3d(), d3dx10_mesh_CloneMesh(), d3dx10_mesh_GetVertexDescription(), D3DX10CreateDeviceAndSwapChain(), D3DX10CreateFontA(), D3DX10CreateFontIndirectA(), D3DX10CreateFontIndirectW(), D3DX10CreateFontW(), d3dx9_animation_controller_GetEventDesc(), d3dx9_animation_controller_GetTrackDesc(), d3dx9_animation_controller_SetTrackDesc(), d3dx9_fragment_linker_GetFragmentDesc(), d3dx9_texture_shader_GetDesc(), d3dx_effect_GetDesc(), d3dx_effect_GetFunctionDesc(), d3dx_effect_GetParameterDesc(), d3dx_effect_GetPassDesc(), d3dx_effect_GetTechniqueDesc(), d3dx_font_GetDescA(), d3dx_font_GetDescW(), d3dx_load_surface_from_memory(), d3dx_load_volume_from_memory(), d3dx_pixels_decompress(), D3DXCreateFontA(), D3DXCreateFontIndirectA(), D3DXCreateFontIndirectW(), D3DXCreateFontW(), D3DXFillCubeTexture(), D3DXFillTexture(), D3DXFillVolumeTexture(), D3DXFilterTexture(), D3DXLoadVolumeFromVolume(), D3DXRenderToEnvMap_GetDesc(), D3DXRenderToSurface_GetDesc(), D3DXSHProjectCubeMap(), ddraw7_EnumSurfaces(), ddraw7_GetAvailableVidMem(), ddraw_surface7_EnumAttachedSurfaces(), ddraw_surface_create(), ddraw_surface_reserve_memory(), ddraw_surface_sync_color_keys(), ddraw_texture_init(), ddrawex1_CreateSurface(), ddrawex1_EnumDisplayModes(), ddrawex1_EnumSurfaces(), ddrawex1_GetDisplayMode(), ddrawex2_CreateSurface(), ddrawex2_EnumDisplayModes(), ddrawex2_EnumSurfaces(), ddrawex2_GetDisplayMode(), ddrawex3_CreateSurface(), ddrawex3_EnumDisplayModes(), ddrawex3_EnumSurfaces(), ddrawex3_GetDisplayMode(), ddrawex4_CreateSurface(), ddrawex4_EnumDisplayModes(), ddrawex4_EnumSurfaces(), ddrawex4_GetDisplayMode(), ddrawex_surface3_GetSurfaceDesc(), ddrawex_surface3_Initialize(), ddrawex_surface3_Lock(), ddrawex_surface3_SetSurfaceDesc(), ddrawex_surface4_GetSurfaceDesc(), ddrawex_surface4_Initialize(), ddrawex_surface4_Lock(), ddrawex_surface4_SetSurfaceDesc(), ddrawstreamsample_create(), debug_dxgi_mode(), debug_dxgi_mode1(), debugcontrol_GetLastEventInformationWide(), DECLARE_INTERFACE(), DECLARE_INTERFACE_(), default_device_cb(), depth_stencil_state_desc_writes_ds(), derive_key_hash(), determine_patch_sequence(), device_load_logo(), dmobj_IDirectMusicObject_GetDescriptor(), dmobj_IDirectMusicObject_SetDescriptor(), dmobj_IPersistStream_GetClassID(), dmobj_parsedescriptor(), dmobj_parsereference(), DMUSIC_CreateDirectMusicBufferImpl(), do_memp_free_pool(), do_memp_malloc_pool(), does_dsound_support_format(), dsound_enum(), DSPROPERTY_DescriptionW(), dump_DMUS_OBJECTDESC(), dump_emf_bits(), dump_emf_record(), dump_emf_records(), dump_mf_bits(), dwritefactory_CreateFontFace(), dwritefactory_CreateGdiCompatibleTextLayout(), dwritefactory_CreateGlyphRunAnalysis(), dwritefactory_CreateTextLayout(), dwritefontsetbuilder_AddFontFaceReference(), dxgi_adapter_get_desc(), dxgi_adapter_GetDesc(), dxgi_adapter_GetDesc1(), dxgi_adapter_GetDesc2(), dxgi_adapter_GetDesc3(), dxgi_device_CreateSurface(), dxgi_device_parent_register_swapchain_texture(), dxgi_factory_CreateSwapChain(), dxgi_factory_CreateSwapChainForComposition(), dxgi_factory_CreateSwapChainForCoreWindow(), dxgi_factory_CreateSwapChainForHwnd(), dxgi_factory_EnumAdapterByLuid(), dxgi_get_output_from_window(), dxgi_output_get_display_mode_list(), dxgi_output_GetDesc(), dxgi_output_GetDesc1(), dxgi_resource_init(), dxgi_sample_desc_from_wined3d(), dxgi_surface_GetDesc(), dxgi_swapchain_factory_create_swapchain(), dxgi_validate_swapchain_desc(), DXVAHD_CreateDevice(), ensure_prop_name(), enum_monitor_proc(), enum_surface_mode_callback(), EnumDisplayModesCallbackThunk(), enumsurfaces_thunk_cb(), enumsurfaces_wrap_cb(), eudc_collection_add_family(), Ext2NewInode(), ext4_get_group_desc(), factory_create_glyphrun_analysis(), fill_props(), fill_videocontroller(), find_cache_object(), find_external_prop(), fixup_texture_alpha_op(), fontset_builder_add_entry(), fontset_builder_add_file(), for_each_dxbc_section(), free_buffers(), free_dxbc_shader_desc(), free_transform_desc(), ft_service_list_lookup(), func_restricted(), GdipRecordMetafile(), GdipRecordMetafileFileName(), GdipRecordMetafileFileNameI(), GdipRecordMetafileI(), GdipRecordMetafileStream(), GdipRecordMetafileStreamI(), gen_bitlen(), geometry_shader_init(), get_array_fc(), get_basetype(), get_buffer_view_range(), get_constant_by_name(), get_constants_desc(), get_ctab_constant_desc(), get_ddrawstream_create_sample_desc_(), get_ffp_pixel_shader(), get_font_info_strings(), get_fontface_from_font(), get_fx10_shader_resources(), get_pnpdeviceid(), get_stack_size(), get_struct_fc(), get_surface_readback(), get_texture_view_target(), get_texture_volume_readback_(), GetBltStatus_Test(), CFunctionProviderBase::GetDescription(), GetPixel(), GetPrivateObjectSecurity(), glsl_blitter_blit(), grab_queue(), graph_IDirectMusicObject_ParseDescriptor(), group_GetDescription(), handle_switch(), handle_switch_str(), HostConstructor_lookup_prop(), HostObject_lookup_prop(), HostObject_next_prop(), ICInstall(), ID3DXConstantTableImpl_GetConstant(), ID3DXConstantTableImpl_GetConstantDesc(), ID3DXConstantTableImpl_GetConstantElement(), ID3DXConstantTableImpl_GetDesc(), ID3DXConstantTableImpl_SetDefaults(), ID3DXConstantTableImpl_SetValue(), ID3DXEffectCompilerImpl_GetDesc(), ID3DXEffectCompilerImpl_GetFunctionDesc(), ID3DXEffectCompilerImpl_GetParameterDesc(), ID3DXEffectCompilerImpl_GetPassDesc(), ID3DXEffectCompilerImpl_GetTechniqueDesc(), ID3DXFontImpl_GetDescA(), ID3DXFontImpl_GetDescW(), indexbuffer_init(), info_get_name(), init_arraybuf_constructors(), init_buffers(), init_default_texture_view_desc(), init_font_data(), init_node_provider_desc(), init_object_prototype_accessors(), init_readback(), init_set_constants_param(), init_stub_desc(), init_system_queues(), init_test(), init_textlayout(), init_work_queue(), instrument_create_from_chunk(), instrument_create_from_soundfont(), interp_obj_prop(), IPersistStreamImpl_Load(), is_dual_source_blending(), is_gdi_compatible_texture(), ITERATE_InstallODBCDataSource(), ITERATE_InstallODBCDriver(), ITERATE_InstallODBCTranslator(), ITERATE_RemoveODBCDataSource(), ITERATE_RemoveODBCDriver(), ITERATE_RemoveODBCTranslator(), ITypeInfo2_fnGetFuncCustData(), jsdisp_define_property(), jsdisp_get_own_property(), jsdisp_index_lookup(), jsdisp_next_index(), link_notify_test(), loader_CacheObject(), loader_ReleaseObject(), lock_surface(), match_emf_record(), max_miplevel_count(), MCICDA_Play(), memp_free_pool(), memp_init_pool(), memp_malloc_pool(), MSI_ApplicablePatchXML(), MSI_ProvideQualifiedComponentEx(), netfw_rule_get_Description(), netfw_rule_put_Description(), normalize_dsv_desc(), normalize_rtv_desc(), normalize_srv_desc(), normalize_uav_desc(), NtGdiDdDDICreateDCFromMemory(), NtGdiDdDDIDestroyDCFromMemory(), Object_defineGetter(), Object_defineSetter(), ODBC_ReplicateODBCInstToRegistry(), ODBC_ReplicateODBCToRegistry(), of_type(), ok_msg_result_(), OnTarget(), parse_dxbc(), parse_ins_chunk(), parse_part_list(), parse_pref_list(), parse_pttn_list(), path_config_get_audio_path_params(), path_config_IDirectMusicObject_ParseDescriptor(), performance_CreateAudioPath(), performance_CreateStandardAudioPath(), performance_tool_ProcessPMsg(), pipeline_state_desc_from_d3d12_compute_desc(), pipeline_state_desc_from_d3d12_graphics_desc(), pipeline_state_desc_from_d3d12_stream_desc(), pixel_shader_init(), pixelshader_init(), play_metafile(), PointerBufferSize(), PointerFree(), PointerMarshall(), PointerMemorySize(), PointerUnmarshall(), pool_queue_init(), prepare_push_constant_buffer(), process_update(), ranges_assert(), rasterizer_state_from_wined3d(), rdssl_hmac_md5(), rdssl_rc4_set_key(), rdssl_rkey_get_exp_mod(), register_dsound_devices(), release_property_descriptor(), reset_buffers(), reset_enum_callback(), resolve_depth_buffer(), RtlQuerySecurityObject(), rts0_handler(), RtwqAllocateSerialWorkQueue(), RtwqAllocateWorkQueue(), RtwqLockSharedWorkQueue(), sampler_desc_from_sampler_states(), scope_lookup_prop(), script_IDirectMusicObject_ParseDescriptor(), ScriptTypeInfo_GetFuncDesc(), ScriptTypeInfo_GetVarDesc(), segment_object_ParseDescriptor(), serial_queue_init(), set(), set_dsv_desc_from_resource(), set_elem_desc(), set_rtv_desc_from_resource(), set_srv_desc_from_resource(), set_uav_desc_from_resource(), SHAddToRecentDocs(), shader_extract_from_dxbc(), shader_glsl_find_ffp_fragment_shader(), shader_glsl_find_ffp_vertex_shader(), shader_glsl_free_ffp_vertex_shader(), shader_parse_root_signature(), shader_set_function(), shader_write_root_parameters(), shader_write_root_signature(), shader_write_static_samplers(), shdr_handler(), src_get_description(), src_get_name(), sspi_get_mic(), sspi_verify_mic(), stencil_op_writes_ds(), stream_get_object(), String_lookup_prop(), String_next_prop(), style_GetBand(), style_IDirectMusicObject_ParseDescriptor(), surface_callback(), surface_convert_format(), surface_validate_lock_desc(), swapchain_init(), test_allocate_surface_helper(), test_bitmap_target(), test_button_data(), test_button_messages(), test_constant_table(), test_ConvertSecurityDescriptorToString(), test_create_device_from_clipper1(), test_create_device_from_clipper2(), test_create_device_from_clipper3(), test_create_device_from_d3d1(), test_create_device_from_d3d2(), test_create_device_from_d3d3(), test_create_device_from_surface1(), test_create_device_from_surface2(), test_create_device_from_surface3(), test_create_effect_and_pool(), test_create_target(), test_create_texture_from_surface(), test_D3DXCreateCubeTextureFromFileInMemoryEx(), test_D3DXCreateRenderToEnvMap(), test_D3DXCreateRenderToSurface(), test_D3DXCreateTexture(), test_D3DXCreateTextureFromFileInMemory(), test_D3DXCreateTextureFromFileInMemoryEx(), test_D3DXCreateVolumeTextureFromFileInMemoryEx(), test_D3DXLoadVolumeFromFileInMemory(), test_dc_target(), test_dc_target_gdi_interop(), test_dc_target_is_supported(), test_ddrawstream_create_sample(), test_ddrawstreamsample_update(), test_default_presenter_allocate(), test_draw_text_layout(), test_dsound(), test_dump_typelib(), test_dxgi_surface_target_gdi_interop(), test_effect_commitchanges(), test_effect_find_next_valid_technique(), test_effect_get_pass_desc(), test_effect_isparameterused(), test_effect_null_shader(), test_effect_out_of_bounds_selector(), test_effect_parameter_block(), test_effect_preshader(), test_effect_preshader_ops(), test_effect_setvalue_object(), test_effect_shared_parameters(), test_effect_skip_constants(), test_effect_states(), test_effect_variable_names(), test_encoders(), test_get_shader_constant_table_ex(), test_get_shader_constant_variables(), test_GetFileVersionInfoEx(), test_himetric(), test_hwnd_target(), test_hwnd_target_gdi_interop(), test_hwnd_target_is_supported(), test_ID3DXFont(), test_incombinedregion(), test_isparameterused_children(), test_load_save(), test_load_save_bmp(), test_load_save_dib(), test_load_save_empty_picture(), test_load_save_icon(), test_majority(), test_max_bitmap_size(), test_msidecomposedesc(), test_MsiProvideQualifiedComponentEx(), test_node_provider_desc_(), test_NtGdiDdCanCreateSurface(), test_OleCreatePictureIndirect(), test_reflection(), test_reflection_desc_ps(), test_reflection_desc_ps_output(), test_registerset(), test_Render(), test_semantic_reflection(), test_SetDocString(), test_SetVarHelpContext(), test_shared_bitmap(), test_stroke_style(), test_thread_description(), test_uia_element_arr_(), test_wic_gdi_interop(), texture2d_blt_fbo(), texture_gl_apply_base_level(), texture_resource_sub_resource_get_desc(), to_property_descriptor(), type_is_non_iface_pointer(), type_memsize(), type_needs_pointer_deref(), unfo_get_name(), union_arm_buffer_size(), union_arm_free(), union_arm_marshall(), union_arm_memory_size(), union_arm_unmarshall(), update_external_prop(), validate_buffer_desc(), validate_heap_desc(), validate_resource_view(), validate_root_signature_desc(), validate_texture2d_desc(), VBScriptParseProcedure_ParseProcedureText(), versioned_root_signature_get_flags(), versioned_root_signature_get_parameter_count(), versioned_root_signature_get_parameter_shader_visibility(), versioned_root_signature_get_parameter_type(), versioned_root_signature_get_root_constants(), versioned_root_signature_get_static_sampler_count(), versioned_root_signature_get_static_samplers(), vertex_shader_init(), vertexbuffer_init(), vertexshader_init(), VfdImageTip(), virtqueue_add_buf_packed(), virtqueue_add_buf_split(), vk_samples_from_dxgi_sample_desc(), vkd3d_cbuffer_desc_create(), vkd3d_create_buffer(), vkd3d_create_buffer_srv(), vkd3d_create_buffer_uav(), vkd3d_create_image(), vkd3d_create_null_srv(), vkd3d_create_null_uav(), vkd3d_create_static_sampler(), vkd3d_create_texture_uav(), vkd3d_create_texture_view(), vkd3d_format_from_d3d12_resource_desc(), vkd3d_get_image_allocation_info(), vkd3d_parse_root_signature_v_1_0(), vkd3d_serialize_root_signature(), vkd3d_serialize_versioned_root_signature(), vkd3d_shader_free_root_signature(), vkd3d_shader_parse_dxbc(), vkd3d_shader_parse_dxbc_source_type(), vkd3d_texture_view_desc_normalise(), vkd3d_view_incref(), VMR9SurfaceAllocatorNotify_AllocateSurfaceHelper(), vsir_validate_instruction(), wave_download_to_dsound(), wave_object_ParseDescriptor(), wined3d_blend_state_create(), wined3d_buffer_create(), wined3d_buffer_gl_init(), wined3d_buffer_init(), wined3d_buffer_no3d_init(), wined3d_buffer_vk_init(), wined3d_context_vk_set_dynamic_rasterizer_state(), wined3d_context_vk_update_blend_state(), wined3d_cs_exec_present(), wined3d_depth_stencil_state_create(), wined3d_depth_stencil_view_desc_from_d3d11(), wined3d_device_apply_stateblock(), wined3d_device_context_map(), wined3d_device_context_update_sub_resource(), wined3d_device_create_cursor_texture(), wined3d_device_create_default_samplers(), wined3d_output_get_desc(), wined3d_rasterizer_state_create(), wined3d_render_target_view_gl_cs_init(), wined3d_render_target_view_vk_cs_init(), wined3d_rendertarget_view_create(), wined3d_rendertarget_view_create_from_sub_resource(), wined3d_rendertarget_view_desc_from_d3d11(), wined3d_rendertarget_view_gl_init(), wined3d_rendertarget_view_init(), wined3d_rendertarget_view_no3d_init(), wined3d_rendertarget_view_vk_init(), wined3d_resource_check_box_dimensions(), wined3d_resource_desc_from_ddraw(), wined3d_resource_get_desc(), wined3d_resource_get_sub_resource_desc(), wined3d_sampler_create(), wined3d_sampler_gl_cs_init(), wined3d_sampler_gl_init(), wined3d_sampler_init(), wined3d_sampler_vk_cs_init(), wined3d_sampler_vk_init(), wined3d_shader_create_cs(), wined3d_shader_create_ds(), wined3d_shader_create_gs(), wined3d_shader_create_hs(), wined3d_shader_create_ps(), wined3d_shader_create_vs(), wined3d_shader_init_object(), wined3d_shader_resource_view_create(), wined3d_shader_resource_view_desc_from_d3d11(), wined3d_shader_resource_view_gl_cs_init(), wined3d_shader_resource_view_gl_init(), wined3d_shader_resource_view_init(), wined3d_shader_resource_view_vk_cs_init(), wined3d_shader_resource_view_vk_init(), wined3d_shader_resource_view_vk_update_buffer(), wined3d_so_desc_compare(), wined3d_stateblock_apply_clear_state(), wined3d_streaming_buffer_prepare(), wined3d_swapchain_create(), wined3d_swapchain_get_desc(), wined3d_swapchain_gl_init(), wined3d_swapchain_init(), wined3d_swapchain_no3d_init(), wined3d_swapchain_resize_buffers(), wined3d_swapchain_state_create(), wined3d_swapchain_state_init(), wined3d_swapchain_vk_blit(), wined3d_swapchain_vk_create_vulkan_swapchain(), wined3d_swapchain_vk_init(), wined3d_swapchain_vk_select_vk_format(), wined3d_texture_acquire_identity_srv(), wined3d_texture_create(), wined3d_texture_create_dc(), wined3d_texture_get_sub_resource_desc(), wined3d_texture_gl_init(), wined3d_texture_init(), wined3d_texture_no3d_init(), wined3d_texture_vk_init(), wined3d_unordered_access_view_create(), wined3d_unordered_access_view_desc_from_d3d11(), wined3d_unordered_access_view_gl_cs_init(), wined3d_unordered_access_view_gl_init(), wined3d_unordered_access_view_init(), wined3d_unordered_access_view_vk_cs_init(), wined3d_unordered_access_view_vk_init(), wined3d_unordered_access_view_vk_update(), wined3d_view_invalidate_location(), wined3d_view_load_location(), wined3d_view_vk_create_vk_buffer_view(), wined3d_view_vk_create_vk_image_view(), WMSFT_append_arraydesc(), WMSFT_append_typedesc(), WMSFT_compile_typeinfo_aux(), write_array_tfs(), write_complex_struct_pointer_layout(), write_complex_struct_pointer_ref(), write_complex_struct_tfs(), write_iface_fs(), write_param_fs(), write_pointer_tfs(), write_proc_func_header(), write_struct_members(), write_type_tfs(), and xsltDefaultSortFunction().

◆ shader_creator

DWORD shader_creator[]
static
Initial value:
= {
0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d,
0x39207265, 0x2e39322e, 0x2e323539, 0x31313133, 0xababab00,
}

Definition at line 50 of file reflection.c.

Referenced by test_reflection_constant_buffer(), test_reflection_desc_ps(), and test_reflection_desc_vs().

◆ test_reflection_blob

DWORD test_reflection_blob[]
static
Initial value:
= {
0x43425844, 0x77c6324f, 0xfd27948a, 0xe6958d31, 0x53361cba, 0x00000001, 0x000001d8, 0x00000005,
0x00000034, 0x0000008c, 0x000000e4, 0x00000118, 0x0000015c, 0x46454452, 0x00000050, 0x00000000,
0x00000000, 0x00000000, 0x0000001c, 0xfffe0400, 0x00000100, 0x0000001c, 0x7263694d, 0x666f736f,
0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39322e,
0x2e323539, 0x31313133, 0xababab00, 0x4e475349, 0x00000050, 0x00000002, 0x00000008, 0x00000038,
0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000f0f, 0x00000041, 0x00000000, 0x00000000,
0x00000003, 0x00000001, 0x0000000f, 0x49534f50, 0x4e4f4954, 0x5f565300, 0x49534f50, 0x4e4f4954,
0xababab00, 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000001,
0x00000003, 0x00000000, 0x0000000f, 0x505f5653, 0x5449534f, 0x004e4f49, 0x52444853, 0x0000003c,
0x00010040, 0x0000000f, 0x0300005f, 0x001010f2, 0x00000000, 0x04000067, 0x001020f2, 0x00000000,
0x00000001, 0x05000036, 0x001020f2, 0x00000000, 0x00101e46, 0x00000000, 0x0100003e, 0x54415453,
0x00000074, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000,
0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
}

Definition at line 64 of file reflection.c.

Referenced by test_d3d10_interfaces().

◆ test_reflection_bound_resources_blob

const DWORD test_reflection_bound_resources_blob[]
static

Definition at line 1149 of file reflection.c.

Referenced by START_TEST().

◆ test_reflection_bound_resources_result

const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_result[]
static
Initial value:
=
{
{"sam", D3D_SIT_SAMPLER, 0, 1, 0, 0, D3D_SRV_DIMENSION_UNKNOWN, 0},
{"tex2", D3D_SIT_TEXTURE, 2, 1, 12, D3D_RETURN_TYPE_FLOAT, D3D_SRV_DIMENSION_TEXTURE2D, 0xffffffff, 0, 2},
{"c1", D3D_SIT_CBUFFER, 0, 1, 0, 0, D3D_SRV_DIMENSION_UNKNOWN, 0},
{"c2", D3D_SIT_CBUFFER, 1, 1, 0, 0, D3D_SRV_DIMENSION_UNKNOWN, 0, 0, 1},
}
@ D3D_SRV_DIMENSION_TEXTURE2D
Definition: d3dcommon.idl:553
@ D3D_SRV_DIMENSION_UNKNOWN
Definition: d3dcommon.idl:549
@ D3D_RETURN_TYPE_FLOAT
Definition: d3dcommon.idl:614
@ D3D_SIT_SAMPLER
Definition: d3dcommon.idl:697
@ D3D_SIT_TEXTURE
Definition: d3dcommon.idl:696
@ D3D_SIT_CBUFFER
Definition: d3dcommon.idl:694

Definition at line 1191 of file reflection.c.

Referenced by START_TEST().

◆ test_reflection_bound_resources_sm51_blob

const DWORD test_reflection_bound_resources_sm51_blob[]
static

Definition at line 2181 of file reflection.c.

Referenced by START_TEST().

◆ test_reflection_bound_resources_sm51_result

const D3D12_SHADER_INPUT_BIND_DESC test_reflection_bound_resources_sm51_result[]
static
Initial value:

Definition at line 2226 of file reflection.c.

Referenced by START_TEST().

◆ test_reflection_constant_buffer_blob

DWORD test_reflection_constant_buffer_blob[]
static

Definition at line 1639 of file reflection.c.

Referenced by test_reflection_constant_buffer().

◆ test_reflection_constant_buffer_cb_result

const D3D11_SHADER_BUFFER_DESC test_reflection_constant_buffer_cb_result[]
static
Initial value:
=
{
{"$Globals", D3D_CT_CBUFFER, 1, 16, 0},
{"c1", D3D_CT_CBUFFER, 4, 64, 0},
}
@ D3D_CT_CBUFFER
Definition: d3dcommon.idl:535

Definition at line 1675 of file reflection.c.

Referenced by test_reflection_constant_buffer().

◆ test_reflection_constant_buffer_type_result

const D3D11_SHADER_TYPE_DESC test_reflection_constant_buffer_type_result[]
static
Initial value:
=
{
{D3D_SVC_SCALAR, D3D_SVT_FLOAT, 1, 1, 0, 1, 0, "float"},
{D3D_SVC_SCALAR, D3D_SVT_FLOAT, 1, 1, 2, 1, 0, "float"},
{D3D_SVC_SCALAR, D3D_SVT_INT, 1, 1, 0, 1, 0, "int"},
{D3D_SVC_STRUCT, D3D_SVT_VOID, 1, 2, 0, 1, 0, "s"},
}
@ D3D11_SVC_INTERFACE_POINTER
Definition: d3dcommon.idl:149
@ D3D_SVC_SCALAR
Definition: d3dcommon.idl:134
@ D3D_SVC_STRUCT
Definition: d3dcommon.idl:139
@ D3D_SVT_INT
Definition: d3dcommon.idl:170
@ D3D_SVT_VOID
Definition: d3dcommon.idl:168
@ D3D_SVT_FLOAT
Definition: d3dcommon.idl:171
@ D3D11_SVT_INTERFACE_POINTER
Definition: d3dcommon.idl:263

Definition at line 1695 of file reflection.c.

Referenced by test_reflection_constant_buffer().

◆ 

const struct { ... } test_reflection_constant_buffer_variable_result[]
Initial value:
=
{
{{"a", 0, 4, 0, 0}, 1},
{{"b", 16, 20, 0, 0}, 2},
{{"i", 36, 4, 0, 0}, 3},
{{"t", 48, 8, 2, 0}, 4},
}

Referenced by test_reflection_constant_buffer().

◆ test_reflection_desc_ps_blob

DWORD test_reflection_desc_ps_blob[]
static

Definition at line 674 of file reflection.c.

Referenced by test_reflection_desc_ps().

◆ test_reflection_desc_ps_output_blob_0

const DWORD test_reflection_desc_ps_output_blob_0[]
static
Initial value:
=
{
0x43425844, 0xc3773602, 0x04f86bdc, 0x715f33b2, 0x9c063cae, 0x00000001, 0x000000b4, 0x00000003,
0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000003, 0x00000000, 0x00000003, 0x00000003,
0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x0000003c, 0x00000050, 0x0000000f,
0x0100086a, 0x03000065, 0x001020f2, 0x00000003, 0x08000036, 0x001020f2, 0x00000003, 0x00004002,
0x3f99999a, 0x3f800000, 0x3e4ccccd, 0x00000000, 0x0100003e,
}

Definition at line 948 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_output_blob_1

const DWORD test_reflection_desc_ps_output_blob_1[]
static
Initial value:
=
{
0x43425844, 0xc45db587, 0xdb0601fb, 0x7370900b, 0x219464be, 0x00000001, 0x000000a8, 0x00000003,
0x0000002c, 0x0000003c, 0x00000078, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x00000034, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
0x00000e01, 0x445f5653, 0x68747065, 0x7373654c, 0x61757145, 0xabab006c, 0x58454853, 0x00000028,
0x00000050, 0x0000000a, 0x0100086a, 0x02000065, 0x00027001, 0x04000036, 0x00027001, 0x00004001,
0x3f99999a, 0x0100003e,
}

Definition at line 965 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_output_blob_2

const DWORD test_reflection_desc_ps_output_blob_2[]
static
Initial value:
=
{
0x43425844, 0x13cce144, 0x3628f322, 0xa8ea9b7d, 0xbbf9f8d7, 0x00000001, 0x000000ac, 0x00000003,
0x0000002c, 0x0000003c, 0x0000007c, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x00000038, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
0x00000e01, 0x445f5653, 0x68747065, 0x61657247, 0x45726574, 0x6c617571, 0xababab00, 0x58454853,
0x00000028, 0x00000050, 0x0000000a, 0x0100086a, 0x02000065, 0x00026001, 0x04000036, 0x00026001,
0x00004001, 0x3f99999a, 0x0100003e,
}

Definition at line 982 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_output_blob_3

const DWORD test_reflection_desc_ps_output_blob_3[]
static
Initial value:
=
{
0x43425844, 0x31c891d1, 0xcbb9d935, 0xa199e1d5, 0x70205254, 0x00000001, 0x000000a0, 0x00000003,
0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
0x00000e01, 0x445f5673, 0x48745065, 0xababab00, 0x58454853, 0x00000028, 0x00000050, 0x0000000a,
0x0100086a, 0x02000065, 0x0000c001, 0x04000036, 0x0000c001, 0x00004001, 0x3f99999a, 0x0100003e,
}

Definition at line 999 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_output_blob_4

const DWORD test_reflection_desc_ps_output_blob_4[]
static
Initial value:
=
{
0x43425844, 0x1d404736, 0x00e4a4aa, 0x5fcdad54, 0x5abd13f8, 0x00000001, 0x0000009c, 0x00000003,
0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0xffffffff,
0x00000e01, 0x445f5653, 0x68747065, 0xababab00, 0x52444853, 0x00000024, 0x00000040, 0x00000009,
0x02000065, 0x0000c001, 0x04000036, 0x0000c001, 0x00004001, 0x3f99999a, 0x0100003e,
}

Definition at line 1015 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_output_blob_5

const DWORD test_reflection_desc_ps_output_blob_5[]
static
Initial value:
=
{
0x43425844, 0x6127612d, 0x09e2bb9a, 0xbba3889a, 0x987dafc2, 0x00000001, 0x000000a0, 0x00000003,
0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000001, 0xffffffff,
0x00000e01, 0x435f5653, 0x5245564f, 0x00454741, 0x52444853, 0x00000028, 0x00000041, 0x0000000a,
0x0100086a, 0x02000065, 0x0000f000, 0x04000036, 0x0000f001, 0x00004001, 0xffffffff, 0x0100003e,
}

Definition at line 1031 of file reflection.c.

Referenced by test_reflection_desc_ps_output().

◆ test_reflection_desc_ps_resultin

const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultin[]
static
Initial value:
=
{
{"SV_RenderTargetArrayIndex", 0, 0, D3D_NAME_RENDER_TARGET_ARRAY_INDEX, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0x0, 0},
{"SV_InstanceID", 0, 0, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_UINT32, 0x2, 0x0, 0},
{"SV_PrimitiveID", 0, 0, D3D_NAME_PRIMITIVE_ID, D3D_REGISTER_COMPONENT_UINT32, 0x4, 0x0, 0},
{"SV_IsFrontFace", 0, 0, D3D_NAME_IS_FRONT_FACE, D3D_REGISTER_COMPONENT_UINT32, 0x8, 0x0, 0},
{"TEXCOORD", 0, 1, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x3, 0x3, 0},
{"VFACE", 0, 1, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x4, 0x0, 0},
{"COLOR", 3, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"SV_position", 0, 3, D3D_NAME_POSITION, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
}
@ D3D_NAME_POSITION
Definition: d3dcommon.idl:637
@ D3D_NAME_IS_FRONT_FACE
Definition: d3dcommon.idl:645
@ D3D_NAME_PRIMITIVE_ID
Definition: d3dcommon.idl:643
@ D3D_NAME_RENDER_TARGET_ARRAY_INDEX
Definition: d3dcommon.idl:640

Definition at line 748 of file reflection.c.

Referenced by test_reflection_desc_ps().

◆ test_reflection_desc_ps_resultout

const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_ps_resultout[]
static
Initial value:
=
{
{"SV_Target", 0, 0, D3D_NAME_TARGET, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0},
{"SV_Target", 1, 1, D3D_NAME_TARGET, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0},
{"SV_Coverage", 0, 0xffffffff, D3D_NAME_COVERAGE, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0xe, 0},
{"SV_Depth", 0, 0xffffffff, D3D_NAME_DEPTH, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0},
}

Definition at line 760 of file reflection.c.

Referenced by test_reflection_desc_ps().

◆ test_reflection_desc_vs_blob

DWORD test_reflection_desc_vs_blob[]
static

Definition at line 298 of file reflection.c.

Referenced by test_reflection_desc_vs().

◆ test_reflection_desc_vs_resultin

const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultin[]
static
Initial value:
=
{
{"SV_position", 0, 0, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x1, 0},
{"BINORMAL", 0, 1, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"BLENDINDICES", 0, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0x0, 0},
{"BLENDWEIGHT", 0, 3, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0x1, 0},
{"COLOR", 0, 4, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0xf, 0},
{"COLOR", 1, 5, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"NORMAL", 0, 6, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"POSITION", 0, 7, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0xf, 0},
{"POSITIONT", 0, 8, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"PSIZE", 0, 9, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0x1, 0},
{"TANGENT", 0, 10, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"TEXCOORD", 0, 11, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0xf, 0},
{"SV_VertexID", 0, 12, D3D_NAME_VERTEX_ID, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0x0, 0},
{"SV_InstanceID", 0, 13, D3D_NAME_INSTANCE_ID, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0x0, 0},
{"testin", 0, 14, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0x1, 0},
}
@ D3D_NAME_INSTANCE_ID
Definition: d3dcommon.idl:644
@ D3D_NAME_VERTEX_ID
Definition: d3dcommon.idl:642

Definition at line 361 of file reflection.c.

Referenced by test_reflection_desc_vs().

◆ test_reflection_desc_vs_resultout

const D3D11_SIGNATURE_PARAMETER_DESC test_reflection_desc_vs_resultout[]
static
Initial value:
=
{
{"SV_position", 0, 0, D3D_NAME_POSITION, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"COLOR", 0, 1, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"FOG", 0, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0},
{"PSIZE", 0, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x2, 0xd, 0},
{"TESSFACTOR", 0, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x4, 0xb, 0},
{"testout", 0, 2, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0x8, 0x7, 0},
{"POSITION", 0, 3, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"TEXCOORD", 0, 4, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_FLOAT32, 0xf, 0x0, 0},
{"SV_ClipDistance", 0, 5, D3D_NAME_CLIP_DISTANCE, D3D_REGISTER_COMPONENT_FLOAT32, 0x1, 0xe, 0},
{"SV_CullDistance", 0, 5, D3D_NAME_CULL_DISTANCE, D3D_REGISTER_COMPONENT_FLOAT32, 0x2, 0xd, 0},
{"SV_InstanceID", 0, 6, D3D_NAME_UNDEFINED, D3D_REGISTER_COMPONENT_UINT32, 0x1, 0xe, 0},
}
@ D3D_NAME_CLIP_DISTANCE
Definition: d3dcommon.idl:638
@ D3D_NAME_CULL_DISTANCE
Definition: d3dcommon.idl:639

Definition at line 380 of file reflection.c.

Referenced by test_reflection_desc_vs().

◆ type

Definition at line 1684 of file reflection.c.