40 return (
token & 0xfffe0000) == 0xfffe0000;
95 TRACE(
"byte_code %p\n", byte_code);
111 return (
ptr - byte_code) *
sizeof(*ptr);
116 TRACE(
"byte_code %p\n", byte_code);
118 return byte_code ? *byte_code : 0;
155 TRACE(
"byte_code %p, fourcc %x, data %p, size %p\n", byte_code, fourcc,
data,
size);
170 WARN(
"Invalid data supplied\n");
182 if (*(
ptr + 1) == fourcc)
184 UINT ctab_size = (comment_size - 1) *
sizeof(
DWORD);
185 const void *ctab_data =
ptr + 2;
190 TRACE(
"Returning comment data at %p with size %d\n", ctab_data, ctab_size);
205 TRACE(
"data %p, data_len %u, defines %p, include %p, flags %#x, shader %p, error_messages %p\n",
227 0, 0, {(
DWORD_PTR)(__FILE__
": from_file_mutex")}
239 const char *
p, *parent_name =
"";
247 parent_name = *((
const char **)parent_data - 1);
257 if ((
p =
strrchr(parent_name,
'\\')))
328 TRACE(
"filename %s, defines %p, include %p, flags %#x, shader %p, error_messages %p.\n",
353 TRACE(
"filename %s, defines %p, include %p, flags %#x, shader %p, error_messages %p.\n",
392 TRACE(
"module %p, resource %s, defines %p, include %p, flags %#x, shader %p, error_messages %p.\n",
410 TRACE(
"module %p, resource %s, defines %p, include %p, flags %#x, shader %p, error_messages %p.\n",
427 TRACE(
"data %s, length %u, defines %p, include %p, function %s, profile %s, "
428 "flags %#x, shader %p, error_msgs %p, constant_table %p.\n",
467 while (prev >
messages && *(prev - 1) !=
'\n') prev--;
494 TRACE(
"filename %s, defines %p, include %p, entrypoint %s, profile %s, "
495 "flags %#x, shader %p, error_messages %p, constant_table %p.\n",
524 TRACE(
"filename %s, defines %p, include %p, entrypoint %s, profile %s, "
525 "flags %#x, shader %p, error_messages %p, constant_table %p.\n",
575 TRACE(
"module %p, resource %s, defines %p, include %p, entrypoint %s, profile %s, "
576 "flags %#x, shader %p, error_messages %p, constant_table %p.\n",
596 TRACE(
"module %p, resource %s, defines %p, include %p, entrypoint %s, profile %s, "
597 "flags %#x, shader %p, error_messages %p, constant_table %p.\n",
612 TRACE(
"data %s, data_len %u, defines %p, include %p, shader %p, error_messages %p.\n",
627 TRACE(
"filename %s, defines %p, include %p, shader %p, error_messages %p.\n",
652 TRACE(
"filename %s, defines %p, include %p, shader %p, error_messages %p.\n",
694 TRACE(
"module %p, resource %s, defines %p, include %p, shader %p, error_messages %p.\n",
712 TRACE(
"module %p, resource %s, defines %p, include %p, shader %p, error_messages %p.\n",
749 if (
table->constants)
753 for (
i = 0;
i <
table->desc.Constants; ++
i)
769 return (
version & 0xffff0000) == 0xfffe0000;
805 TRACE(
"Returning parameter %p\n",
c);
809 FIXME(
"Unhandled case \"%c\"\n", *--part);
814 TRACE(
"Constant not found\n");
862 TRACE(
"Constant not found\n");
894 for (
i = 0;
i <
table->desc.Constants; ++
i)
897 return &
table->constants[
i];
955 TRACE(
"iface %p.\n", iface);
1001 WARN(
"Invalid argument specified\n");
1020 WARN(
"Invalid argument specified\n");
1024 TRACE(
"Returning RegisterIndex %u\n",
c->desc.RegisterIndex);
1025 return c->desc.RegisterIndex;
1038 if (
c && index < c->
desc.StructMembers)
1041 TRACE(
"Returning constant %p\n",
c);
1047 if (index < This->
desc.Constants)
1050 TRACE(
"Returning constant %p\n",
c);
1055 WARN(
"Index out of range\n");
1068 TRACE(
"Returning constant %p\n",
c);
1080 if (
c && index < c->
desc.Elements)
1082 if (
c->desc.Elements > 1)
c = &
c->constants[
index];
1083 TRACE(
"Returning constant %p\n",
c);
1087 WARN(
"Invalid argument specified\n");
1111 if (*size < desc->
Rows *
desc->Columns)
1129 if (
desc->Elements > 1)
1164 for (
i = 0;
i <
desc->StructMembers; ++
i)
1181 for (
i = 1;
i <
desc->StructMembers; ++
i)
1188 for (
i = 0;
i <
desc->StructMembers; ++
i)
1200 if (
desc->Elements > 1)
1218 switch (
desc->Class)
1226 regsize =
desc->Columns;
1230 regcount =
min(
desc->RegisterCount,
desc->Columns);
1233 regsize =
desc->Rows;
1250 switch (
desc->Class)
1253 if (*
size < regcount * 4)
1259 *
size -= 4 * regcount;
1264 *
size -= 4 * regcount;
1284 switch (
desc->Class)
1312 switch (
desc->Class)
1345 switch (
desc->RegisterSet)
1350 for (
i = 0;
i < regcount; ++
i)
1362 if (++
l >= regsize)
l = 0;
1367 for (
i = 0;
i < regcount; ++
i)
1369 INT vec[4] = {0, 0, 1, 0};
1371 for (
l = 0;
l < regsize; ++
l)
1386 for (
i = 0;
i < regcount; ++
i)
1390 for (
l = 0;
l < regsize; ++
l)
1418 WARN(
"Invalid argument specified\n");
1422 switch (
c->desc.Class)
1447 WARN(
"Invalid argument specified\n");
1451 switch (
c->desc.Class)
1475 WARN(
"Invalid argument specified\n");
1479 switch (
c->desc.Class)
1504 WARN(
"Invalid argument specified\n");
1508 switch (
c->desc.Class)
1532 WARN(
"Invalid argument specified\n");
1536 switch (
c->desc.Class)
1561 WARN(
"Invalid argument specified\n");
1565 switch (
c->desc.Class)
1584 struct IDirect3DDevice9 *
device)
1593 WARN(
"Invalid argument specified\n");
1597 for (
i = 0;
i <
This->desc.Constants;
i++)
1602 if (!
desc->DefaultValue)
1605 switch (
desc->RegisterSet)
1610 desc->RegisterCount);
1613 desc->RegisterCount);
1619 desc->RegisterCount);
1622 desc->RegisterCount);
1628 desc->RegisterCount);
1631 desc->RegisterCount);
1658 WARN(
"Invalid argument specified\n");
1664 switch (
desc->Class)
1869 constant->desc.Elements = is_element ? 1 :
type->Elements;
1871 constant->desc.Name = ctab + nameoffset;
1875 TRACE(
"name %s, elements %u, index %u, defaultvalue %p, regset %s\n",
constant->desc.Name,
1878 TRACE(
"class %s, type %s, rows %d, columns %d, elements %d, struct_members %d\n",
1882 if (
type->Elements > 1 && !is_element)
1897 ERR(
"Out of memory\n");
1906 memberinfo ? memberinfo[
i].
Name : nameoffset,
regset);
1929 switch (
type->Class)
1935 offsetdiff =
type->Rows * 4;
1939 offsetdiff =
type->Rows * 4;
1944 offsetdiff =
type->Columns * 4;
2003 TRACE(
"byte_code %p, flags %x, constant_table %p\n", byte_code,
flags, constant_table);
2005 if (constant_table) *constant_table =
NULL;
2007 if (!byte_code || !constant_table)
2009 WARN(
"Invalid argument specified.\n");
2015 WARN(
"Invalid byte_code specified.\n");
2024 WARN(
"CTAB not found.\n");
2028 if (
size <
sizeof(*ctab_header))
2030 WARN(
"Invalid CTAB size.\n");
2035 if (ctab_header->
Size !=
sizeof(*ctab_header))
2037 WARN(
"Invalid D3DXSHADER_CONSTANTTABLE size.\n");
2051 ERR(
"Out of memory\n");
2055 object->size =
size;
2058 object->desc.Creator = ctab_header->
Creator ?
object->ctab + ctab_header->
Creator :
NULL;
2059 object->desc.Version = ctab_header->
Version;
2060 object->desc.Constants = ctab_header->
Constants;
2061 TRACE(
"Creator %s, Version %x, Constants %u, Target %s\n",
2069 ERR(
"Out of memory\n");
2095 object->constants[
i].desc.RegisterCount = constant_info[
i].
RegisterCount;
2097 object->constants[
i].constantinfo_reserved = constant_info[
i].
Reserved;
2100 *constant_table = &
object->ID3DXConstantTable_iface;
2113 TRACE(
"(%p, %p): Forwarded to D3DXGetShaderConstantTableEx\n", byte_code, constant_table);
2139 iface->lpVtbl->AddRef(iface);
2154 TRACE(
"%p increasing refcount to %u.\n", linker, refcount);
2164 TRACE(
"%p decreasing refcount to %u.\n", linker, refcount);
2183 WARN(
"Invalid argument supplied.\n");
2196 FIXME(
"iface %p: stub.\n", iface);
2203 FIXME(
"iface %p, index %u: stub.\n", iface,
index);
2219 FIXME(
"iface %p, name %p, desc %p: stub.\n", iface,
name,
desc);
2226 FIXME(
"iface %p, fragments %p: stub.\n", iface, fragments);
2233 FIXME(
"iface %p, buffer %p: stub.\n", iface,
buffer);
2250 FIXME(
"iface %p, profile %s, flags %#x, handles %p, fragment_count %u, buffer %p, errors %p: stub.\n",
2260 FIXME(
"iface %p, profile %s, flags %#x, handles %p, fragment_count %u, shader %p, errors %p: stub.\n",
2270 FIXME(
"iface %p, profile %s, flags %#x, handles %p, fragment_count %u, shader %p, errors %p: stub.\n",
2278 FIXME(
"iface %p: stub.\n", iface);
2303 ID3DXFragmentLinker **linker)
2318 object->flags =
flags;
2320 *linker = &
object->ID3DXFragmentLinker_iface;
2334 UINT i, sampler_count = 0;
2347 if (
size <
sizeof(*ctab_header))
return D3D_OK;
2350 if (ctab_header->
Size !=
sizeof(*ctab_header))
return D3D_OK;
2373 TRACE(
"Found %u samplers\n", sampler_count);
2381static const char *
decl_usage[] = {
"position",
"blendweight",
"blendindices",
"normal",
"psize",
"texcoord",
2382 "tangent",
"binormal",
"tessfactor",
"positiont",
"color" };
2384static const char *
tex_type[] = {
"",
"1d",
"2d",
"cube",
"volume" };
2478 (
double)*(
float*)(*
ptr+2), (
double)*(
float*)(*
ptr+3),
2479 (
double)*(
float*)(*
ptr+4), (
double)*(
float*)(*
ptr+5));
2526 for (
j = 0;
j <
info->length;
j++)
2649 UINT capacity = 4096;
2656 if (!
shader || !disassembly)
2663 ps = (*
ptr >> 16) & 1;
2698 while (*++
ptr & (1u << 31));
2728 iface->lpVtbl->AddRef(iface);
2743 TRACE(
"%p increasing refcount to %u.\n", texture_shader, refcount);
2753 TRACE(
"%p decreasing refcount to %u.\n", texture_shader, refcount);
2765 FIXME(
"iface %p, function %p stub.\n", iface, function);
2772 FIXME(
"iface %p, constant_buffer %p stub.\n", iface, constant_buffer);
2779 FIXME(
"iface %p, desc %p stub.\n", iface,
desc);
2786 FIXME(
"iface %p, constant %p, constant_desc %p, count %p stub.\n", iface,
constant, constant_desc,
count);
2814 FIXME(
"iface %p stub.\n", iface);
2828 FIXME(
"iface %p, constant %p, b %u stub.\n", iface,
constant,
b);
2842 FIXME(
"iface %p, constant %p, n %d stub.\n", iface,
constant,
n);
2856 FIXME(
"iface %p, constant %p, f %f stub.\n", iface,
constant,
f);
2960 TRACE(
"function %p, texture_shader %p.\n", function, texture_shader);
2962 if (!function || !texture_shader)
2972 *texture_shader = &
object->ID3DXTextureShader_iface;
2979 DWORD opcode = *byte_code & 0xffff;
2980 unsigned int len = 0;
2991 ERR(
"Unexpected END token.\n");
3000 while (*byte_code & 0x80000000)
3032 BOOL is_ps = version_token >> 16 == 0xffff;
3034 BYTE colors = 0, rastout = 0;
3038 if ((version_token & 0xffff0000) != 0xfffe0000 && (version_token & 0xffff0000) != 0xffff0000)
3041 major = version_token >> 8 & 0xff;
3042 minor = version_token & 0xff;
3044 TRACE(
"%s shader, version %u.%u.\n", is_ps ?
"Pixel" :
"Vertex",
major,
minor);
3047 has_dcl = (!is_ps && (!output ||
major == 3)) || (is_ps && !output &&
major >= 2);
3051 if (has_dcl && (*byte_code & 0xffff) ==
D3DSIO_DCL)
3053 DWORD usage_token = byte_code[1];
3059 if (is_ps && !output &&
major == 2)
3095 switch (*byte_code & 0xffff)
3105 while (*byte_code & 0x80000000)
3120 rastout |= 1u <<
index;
3124 texcoords |= 1u <<
index;
3126 colors |= 1u <<
index;
3177 WARN(
"Invalid RASTOUT register index.\n");
3213 TRACE(
"byte_code %p, semantics %p, count %p.\n", byte_code, semantics,
count);
3220 TRACE(
"byte_code %p, semantics %p, count %p.\n", byte_code, semantics,
count);
char * strstr(char *String1, char *String2)
ACPI_SIZE strlen(const char *String)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
char * strchr(const char *String, int ch)
static unsigned char bytes[4]
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, ID3DBlob **shader, ID3DBlob **error_messages)
HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint, const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages)
#define D3DXERR_INVALIDDATA
#define D3DSP_WRITEMASK_ALL
#define D3DSP_WRITEMASK_2
#define D3DPS_VERSION(major, minor)
#define D3DVS_SWIZZLE_MASK
#define D3DSP_WRITEMASK_3
#define D3DSP_SWIZZLE_MASK
#define D3DSP_DSTMOD_MASK
#define D3DSI_OPCODE_MASK
#define D3DSP_WRITEMASK_0
#define D3DSHADER_VERSION_MAJOR(version)
#define D3DSI_COMMENTSIZE_SHIFT
#define D3DSP_SRCMOD_MASK
#define D3DSP_WRITEMASK_1
#define D3DVS_SWIZZLE_SHIFT
#define D3DVS_ADDRESSMODE_MASK
#define D3DSHADER_VERSION_MINOR(version)
#define D3DSI_COMMENTSIZE_MASK
#define D3DSP_REGTYPE_MASK
#define D3DVS_VERSION(major, minor)
#define D3DSP_REGTYPE_SHIFT
#define IDirect3DDevice9_GetDeviceCaps(p, a)
#define IDirect3DDevice9_SetPixelShaderConstantI(p, a, b, c)
#define IDirect3DDevice9_SetVertexShaderConstantF(p, a, b, c)
#define IDirect3DDevice9_SetPixelShaderConstantF(p, a, b, c)
#define IDirect3DDevice9_Release(p)
#define IDirect3DDevice9_SetVertexShaderConstantI(p, a, b, c)
#define IDirect3DDevice9_SetPixelShaderConstantB(p, a, b, c)
#define IDirect3DDevice9_SetVertexShaderConstantB(p, a, b, c)
#define IDirect3DDevice9_AddRef(p)
#define D3DPS20CAPS_NODEPENDENTREADLIMIT
#define D3DPS20CAPS_GRADIENTINSTRUCTIONS
#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT
#define D3DPS20CAPS_PREDICATION
#define D3DPS20CAPS_ARBITRARYSWIZZLE
#define D3DSP_REGTYPE_MASK2
#define D3DSP_TEXTURETYPE_SHIFT
#define D3DSI_INSTLENGTH_SHIFT
@ D3DSPDM_PARTIALPRECISION
#define D3DSP_DCL_USAGE_MASK
#define D3DSP_REGTYPE_SHIFT2
enum _D3DDECLUSAGE D3DDECLUSAGE
#define D3DSP_DCL_USAGE_SHIFT
#define D3DSI_INSTLENGTH_MASK
#define D3DSP_REGNUM_MASK
#define D3DSP_TEXTURETYPE_MASK
#define D3DSP_DCL_USAGEINDEX_MASK
#define D3DSP_DCL_USAGEINDEX_SHIFT
#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude UINT ID3DBlob ID3DBlob ** error_messages
static SIZE_T const char const D3D_SHADER_MACRO * defines
#define D3DERR_INVALIDCALL
struct ID3DXBuffer ID3DXBuffer
const char * debug_d3dxparameter_type(D3DXPARAMETER_TYPE t) DECLSPEC_HIDDEN
static void set_number(void *outdata, D3DXPARAMETER_TYPE outtype, const void *indata, D3DXPARAMETER_TYPE intype)
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, void **buffer, DWORD *length) DECLSPEC_HIDDEN
const char * debug_d3dxparameter_class(D3DXPARAMETER_CLASS c) DECLSPEC_HIDDEN
const char * debug_d3dxparameter_registerset(D3DXREGISTER_SET r) DECLSPEC_HIDDEN
#define ID3DXBuffer_GetBufferSize(p)
#define ID3DXBuffer_GetBufferPointer(p)
#define ID3DXBuffer_Release(p)
#define ID3DXInclude_Close(p, a)
struct _D3DXSHADER_TYPEINFO * LPD3DXSHADER_TYPEINFO
enum _D3DXINCLUDE_TYPE D3DXINCLUDE_TYPE
#define ID3DXInclude_Open(p, a, b, c, d, e)
#define ID3DXConstantTable_AddRef(p)
HRESULT WINAPI D3DXCreateBuffer(DWORD size, ID3DXBuffer **buffer)
D3DXMATRIX *WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm)
static HRESULT WINAPI d3dx9_texture_shader_QueryInterface(ID3DXTextureShader *iface, REFIID riid, void **out)
const struct ctab_constant * d3dx_shader_get_ctab_constant(ID3DXConstantTable *iface, D3DXHANDLE constant)
static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstant(ID3DXConstantTable *iface, D3DXHANDLE constant, UINT index)
static HRESULT WINAPI d3dx9_texture_shader_GetFunction(ID3DXTextureShader *iface, struct ID3DXBuffer **function)
static HRESULT set_scalar_array(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void *indata, UINT count, D3DXPARAMETER_TYPE intype)
static HRESULT WINAPI d3dx9_fragment_linker_GetDevice(ID3DXFragmentLinker *iface, struct IDirect3DDevice9 **device)
HRESULT WINAPI D3DXAssembleShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
HRESULT WINAPI D3DXPreprocessShader(const char *data, UINT data_len, const D3DXMACRO *defines, ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static struct d3dx9_fragment_linker * impl_from_ID3DXFragmentLinker(ID3DXFragmentLinker *iface)
HRESULT WINAPI D3DXGetShaderConstantTableEx(const DWORD *byte_code, DWORD flags, ID3DXConstantTable **constant_table)
static HRESULT WINAPI ID3DXConstantTableImpl_SetVector(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXVECTOR4 *vector)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrix(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX *matrix)
static UINT WINAPI ID3DXConstantTableImpl_GetSamplerIndex(ID3DXConstantTable *iface, D3DXHANDLE constant)
static void free_constant_table(struct ID3DXConstantTableImpl *table)
static HRESULT WINAPI d3dx9_texture_shader_SetValue(ID3DXTextureShader *iface, D3DXHANDLE constant, const void *data, UINT bytes)
static BOOL is_vertex_shader(DWORD version)
static struct ctab_constant * get_constant_element_by_name(struct ctab_constant *constant, const char *name)
static D3DXHANDLE handle_from_constant(struct ctab_constant *constant)
HRESULT WINAPI D3DXCreateFragmentLinkerEx(IDirect3DDevice9 *device, UINT size, DWORD flags, ID3DXFragmentLinker **linker)
HRESULT WINAPI D3DXPreprocessShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines, ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI ID3DXConstantTableImpl_SetFloatArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const float *f, UINT count)
CRITICAL_SECTION from_file_mutex
UINT WINAPI D3DXGetShaderSize(const DWORD *byte_code)
static HRESULT WINAPI d3dx9_texture_shader_SetBoolArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const BOOL *b, UINT count)
const char *WINAPI D3DXGetPixelShaderProfile(struct IDirect3DDevice9 *device)
static HRESULT WINAPI d3dx_include_from_file_close(ID3DXInclude *iface, const void *data)
HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static struct ctab_constant * get_constant_by_name(struct ID3DXConstantTableImpl *table, struct ctab_constant *constant, const char *name)
HRESULT WINAPI D3DXPreprocessShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines, ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static struct ctab_constant * get_valid_constant(struct ID3DXConstantTableImpl *table, D3DXHANDLE handle)
static UINT WINAPI d3dx9_fragment_linker_GetNumberOfFragments(ID3DXFragmentLinker *iface)
HRESULT WINAPI D3DXCompileShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines, ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table)
static D3DXHANDLE WINAPI d3dx9_texture_shader_GetConstantElement(ID3DXTextureShader *iface, D3DXHANDLE constant, UINT index)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrix(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX *matrix)
static HRESULT WINAPI d3dx9_texture_shader_SetDefaults(ID3DXTextureShader *iface)
HRESULT WINAPI D3DXPreprocessShaderFromFileW(const WCHAR *filename, const D3DXMACRO *defines, ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI d3dx9_texture_shader_SetFloat(ID3DXTextureShader *iface, D3DXHANDLE constant, FLOAT f)
static ULONG WINAPI d3dx9_fragment_linker_Release(ID3DXFragmentLinker *iface)
static HRESULT WINAPI d3dx9_fragment_linker_LinkPixelShader(ID3DXFragmentLinker *iface, const char *profile, DWORD flags, const D3DXHANDLE *handles, UINT fragment_count, IDirect3DPixelShader9 **shader, ID3DXBuffer **errors)
static HRESULT WINAPI d3dx9_fragment_linker_ClearCache(ID3DXFragmentLinker *iface)
static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstantElement(ID3DXConstantTable *iface, D3DXHANDLE constant, UINT index)
static int instr_generic(const struct instr_info *info, DWORD **ptr, char *buffer, BOOL ps)
static HRESULT WINAPI d3dx9_fragment_linker_LinkShader(ID3DXFragmentLinker *iface, const char *profile, DWORD flags, const D3DXHANDLE *handles, UINT fragment_count, ID3DXBuffer **buffer, ID3DXBuffer **errors)
static D3DXHANDLE WINAPI d3dx9_texture_shader_GetConstantByName(ID3DXTextureShader *iface, D3DXHANDLE constant, const char *name)
static HRESULT WINAPI d3dx9_fragment_linker_GetFragmentDesc(ID3DXFragmentLinker *iface, D3DXHANDLE name, D3DXFRAGMENT_DESC *desc)
static CRITICAL_SECTION_DEBUG from_file_mutex_debug
static HRESULT WINAPI ID3DXConstantTableImpl_SetInt(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, INT n)
static int add_modifier(char *buffer, DWORD param)
static HRESULT WINAPI ID3DXConstantTableImpl_SetDefaults(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device)
static HRESULT WINAPI ID3DXConstantTableImpl_SetVectorArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXVECTOR4 *vector, UINT count)
static DWORD WINAPI ID3DXConstantTableImpl_GetBufferSize(ID3DXConstantTable *iface)
static struct d3dx9_texture_shader * impl_from_ID3DXTextureShader(ID3DXTextureShader *iface)
HRESULT WINAPI D3DXGetShaderOutputSemantics(const DWORD *byte_code, D3DXSEMANTIC *semantics, UINT *count)
HRESULT WINAPI D3DXFindShaderComment(const DWORD *byte_code, DWORD fourcc, const void **data, UINT *size)
static HRESULT WINAPI ID3DXConstantTableImpl_SetBoolArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const BOOL *b, UINT count)
static HRESULT set_matrix_pointer_array(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void **indata, UINT count, BOOL transpose)
HRESULT WINAPI D3DXCompileShaderFromResourceW(HMODULE module, const WCHAR *resource, const D3DXMACRO *defines, ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table)
HRESULT WINAPI D3DXPreprocessShaderFromFileA(const char *filename, const D3DXMACRO *defines, ID3DXInclude *include, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrixPointerArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX **matrix, UINT count)
static HRESULT WINAPI d3dx9_fragment_linker_GetFragment(ID3DXFragmentLinker *iface, D3DXHANDLE name, ID3DXBuffer **buffer)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrixTranspose(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX *matrix)
DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code)
static HRESULT WINAPI d3dx9_texture_shader_SetVector(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXVECTOR4 *vector)
HRESULT WINAPI D3DXAssembleShader(const char *data, UINT data_len, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrixArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX *matrix, UINT count)
static const char * tex_type[]
static struct ctab_constant * is_valid_sub_constant(struct ctab_constant *parent, D3DXHANDLE handle)
HRESULT WINAPI D3DAssemble(const void *data, SIZE_T datasize, const char *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, UINT flags, ID3DBlob **shader, ID3DBlob **error_messages)
static D3DXHANDLE WINAPI d3dx9_fragment_linker_GetFragmentHandleByIndex(ID3DXFragmentLinker *iface, UINT index)
static HRESULT set_vector(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void *indata, D3DXPARAMETER_TYPE intype)
static ULONG WINAPI d3dx9_texture_shader_AddRef(ID3DXTextureShader *iface)
HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **samplers, UINT *count)
static HRESULT set_vector_array(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void *indata, UINT count, D3DXPARAMETER_TYPE intype)
static const char * decl_usage[]
HRESULT WINAPI D3DXCompileShader(const char *data, UINT length, const D3DXMACRO *defines, ID3DXInclude *include, const char *function, const char *profile, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_msgs, ID3DXConstantTable **constant_table)
HRESULT WINAPI D3DXCompileShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines, ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table)
static ULONG WINAPI d3dx9_fragment_linker_AddRef(ID3DXFragmentLinker *iface)
static HRESULT WINAPI ID3DXConstantTableImpl_SetIntArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const INT *n, UINT count)
static HRESULT WINAPI d3dx_include_from_file_open(ID3DXInclude *iface, D3DXINCLUDE_TYPE include_type, const char *filename, const void *parent_data, const void **data, UINT *bytes)
static BOOL is_valid_bytecode(DWORD token)
static HRESULT WINAPI d3dx9_fragment_linker_AddFragments(ID3DXFragmentLinker *iface, const DWORD *fragments)
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrixArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX *matrix, UINT count)
HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const char *comments, ID3DXBuffer **disassembly)
static HRESULT WINAPI ID3DXConstantTableImpl_SetFloat(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, float f)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrixTransposePointerArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX **matrix, UINT count)
static struct ID3DXConstantTableImpl * impl_from_ID3DXConstantTable(ID3DXConstantTable *iface)
HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module, const char *resource, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages)
static HRESULT WINAPI d3dx9_texture_shader_SetFloatArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const FLOAT *f, UINT count)
static HRESULT parse_ctab_constant_type(const char *ctab, DWORD typeoffset, struct ctab_constant *constant, BOOL is_element, WORD index, WORD max_index, DWORD *offset, DWORD nameoffset, UINT regset)
static const struct ID3DXTextureShaderVtbl d3dx9_texture_shader_vtbl
static HRESULT WINAPI ID3DXConstantTableImpl_GetDesc(ID3DXConstantTable *iface, D3DXCONSTANTTABLE_DESC *desc)
static DWORD get_index(const void **indata, UINT index, BOOL is_pointer)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrixTransposePointerArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX **matrix, UINT count)
static int instr_comment(const struct instr_info *info, DWORD **ptr, char *buffer, BOOL ps)
static HRESULT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics, UINT *count, BOOL output)
static const struct ID3DXFragmentLinkerVtbl d3dx9_fragment_linker_vtbl
static void *WINAPI ID3DXConstantTableImpl_GetBufferPointer(ID3DXConstantTable *iface)
const char *WINAPI D3DXGetVertexShaderProfile(struct IDirect3DDevice9 *device)
static const void * main_file_data
static HRESULT WINAPI d3dx9_fragment_linker_LinkVertexShader(ID3DXFragmentLinker *iface, const char *profile, DWORD flags, const D3DXHANDLE *handles, UINT fragment_count, IDirect3DVertexShader9 **shader, ID3DXBuffer **errors)
static void free_constant(struct ctab_constant *constant)
HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC *semantics, UINT *count)
HRESULT WINAPI D3DXCreateTextureShader(const DWORD *function, ID3DXTextureShader **texture_shader)
static HRESULT WINAPI d3dx9_fragment_linker_QueryInterface(ID3DXFragmentLinker *iface, REFIID riid, void **out)
const struct ID3DXIncludeVtbl d3dx_include_from_file_vtbl
static HRESULT WINAPI d3dx9_texture_shader_SetIntArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const INT *n, UINT count)
static ULONG WINAPI ID3DXConstantTableImpl_AddRef(ID3DXConstantTable *iface)
static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstantByName(ID3DXConstantTable *iface, D3DXHANDLE constant, const char *name)
static HRESULT WINAPI ID3DXConstantTableImpl_SetMatrixTransposeArray(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const D3DXMATRIX *matrix, UINT count)
static ULONG WINAPI ID3DXConstantTableImpl_Release(ID3DXConstantTable *iface)
static HRESULT WINAPI ID3DXConstantTableImpl_QueryInterface(ID3DXConstantTable *iface, REFIID riid, void **out)
static HRESULT WINAPI d3dx9_texture_shader_SetInt(ID3DXTextureShader *iface, D3DXHANDLE constant, INT n)
HRESULT WINAPI D3DXGetShaderConstantTable(const DWORD *byte_code, ID3DXConstantTable **constant_table)
static int instr_def(const struct instr_info *info, DWORD **ptr, char *buffer, BOOL ps)
static HRESULT WINAPI d3dx9_texture_shader_SetVectorArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXVECTOR4 *vector, UINT count)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrixTransposeArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX *matrix, UINT count)
static HRESULT WINAPI d3dx9_texture_shader_GetConstantDesc(ID3DXTextureShader *iface, D3DXHANDLE constant, D3DXCONSTANT_DESC *constant_desc, UINT *count)
static HRESULT WINAPI ID3DXConstantTableImpl_GetConstantDesc(ID3DXConstantTable *iface, D3DXHANDLE constant, D3DXCONSTANT_DESC *desc, UINT *count)
static D3DXHANDLE WINAPI d3dx9_fragment_linker_GetFragmentHandleByName(ID3DXFragmentLinker *iface, const char *name)
static int add_register(char *buffer, DWORD param, BOOL dst, BOOL ps)
static HRESULT WINAPI d3dx9_texture_shader_GetDesc(ID3DXTextureShader *iface, D3DXCONSTANTTABLE_DESC *desc)
static ULONG WINAPI d3dx9_texture_shader_Release(ID3DXTextureShader *iface)
static int instr_dcl(const struct instr_info *info, DWORD **ptr, char *buffer, BOOL ps)
static D3DXHANDLE WINAPI d3dx9_texture_shader_GetConstant(ID3DXTextureShader *iface, D3DXHANDLE constant, UINT index)
static HRESULT WINAPI d3dx9_texture_shader_GetConstantBuffer(ID3DXTextureShader *iface, struct ID3DXBuffer **constant_buffer)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrixTranspose(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX *matrix)
HRESULT WINAPI D3DXCreateFragmentLinker(IDirect3DDevice9 *device, UINT size, ID3DXFragmentLinker **linker)
static HRESULT WINAPI d3dx9_fragment_linker_GetAllFragments(ID3DXFragmentLinker *iface, ID3DXBuffer **buffer)
static HRESULT WINAPI d3dx9_texture_shader_SetMatrixPointerArray(ID3DXTextureShader *iface, D3DXHANDLE constant, const D3DXMATRIX **matrix, UINT count)
static HRESULT set_scalar(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void *indata, D3DXPARAMETER_TYPE intype)
static unsigned int get_instr_length(const DWORD *byte_code, unsigned int major, unsigned int minor)
static HRESULT set_matrix_array(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, D3DXHANDLE constant, const void *indata, UINT count, BOOL transpose)
static HRESULT WINAPI d3dx9_texture_shader_SetBool(ID3DXTextureShader *iface, D3DXHANDLE constant, BOOL b)
const struct instr_info instructions[]
static HRESULT WINAPI ID3DXConstantTableImpl_SetBool(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, BOOL b)
HRESULT WINAPI D3DXCompileShaderFromFileA(const char *filename, const D3DXMACRO *defines, ID3DXInclude *include, const char *entrypoint, const char *profile, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages, ID3DXConstantTable **constant_table)
static HRESULT WINAPI ID3DXConstantTableImpl_SetValue(struct ID3DXConstantTable *iface, struct IDirect3DDevice9 *device, D3DXHANDLE constant, const void *data, unsigned int bytes)
static const struct ID3DXConstantTableVtbl ID3DXConstantTable_Vtbl
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define HeapFree(x, y, z)
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR version[]
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLsizei GLsizei GLsizei depth
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLboolean GLboolean GLboolean b
GLsizei GLboolean transpose
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLsizeiptr const GLvoid GLenum usage
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
__in WDFOBJECT __in PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define sprintf(buf, format,...)
static const WCHAR desc[]
#define IsEqualGUID(rguid1, rguid2)
static unsigned __int64 next
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
_Check_return_ _CRTIMP size_t __cdecl strcspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
ID3DXConstantTable ID3DXConstantTable_iface
struct ctab_constant * constants
D3DXCONSTANTTABLE_DESC desc
LIST_ENTRY ProcessLocksList
D3DVSHADERCAPS2_0 VS20Caps
DWORD VertexShaderVersion
D3DPSHADERCAPS2_0 PS20Caps
INT DynamicFlowControlDepth
struct IDirect3DDevice9 * device
ID3DXFragmentLinker ID3DXFragmentLinker_iface
ID3DXTextureShader ID3DXTextureShader_iface
ID3DXInclude ID3DXInclude_iface
int(* function)(const struct instr_info *info, DWORD **ptr, char *buffer, BOOL ps)
#define CONTAINING_RECORD(address, type, field)
static EFI_HANDLE * handles
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
type_t * reg_type(type_t *type, const char *name, struct namespace *namespace, int t)
DWORD WINAPI GetLastError(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define INVALID_FILE_SIZE
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define HRESULT_FROM_WIN32(x)