ReactOS 0.4.17-dev-934-g091855f
d3d10shader.idl File Reference

Go to the source code of this file.

Classes

struct  _D3D10_SHADER_INPUT_BIND_DESC
 
struct  _D3D10_SIGNATURE_PARAMETER_DESC
 
struct  _D3D10_SHADER_DESC
 
struct  _D3D10_SHADER_BUFFER_DESC
 
struct  _D3D10_SHADER_VARIABLE_DESC
 
struct  _D3D10_SHADER_TYPE_DESC
 
interface  ID3D10ShaderReflectionType
 
interface  ID3D10ShaderReflectionVariable
 
interface  ID3D10ShaderReflectionConstantBuffer
 
interface  ID3D10ShaderReflection
 

Typedefs

typedef D3D_SHADER_MACRO D3D10_SHADER_MACRO
 
typedef D3D_SHADER_MACRO * LPD3D10_SHADER_MACRO
 
typedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS
 
typedef D3D_SHADER_VARIABLE_CLASS * LPD3D10_SHADER_VARIABLE_CLASS
 
typedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE
 
typedef D3D_CBUFFER_TYPE * LPD3D10_CBUFFER_TYPE
 
typedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE
 
typedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE
 
typedef D3D_NAME D3D10_NAME
 
typedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE
 
typedef D3D_SHADER_INPUT_TYPE * LPD3D10_SHADER_INPUT_TYPE
 
typedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE
 
typedef D3D_SHADER_VARIABLE_TYPE * LPD3D10_SHADER_VARIABLE_TYPE
 
typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE
 
typedef ID3DInclude ID3D10Include
 
typedef ID3DInclude * LPD3D10INCLUDE
 
typedef struct _D3D10_SHADER_INPUT_BIND_DESC D3D10_SHADER_INPUT_BIND_DESC
 
typedef struct _D3D10_SIGNATURE_PARAMETER_DESC D3D10_SIGNATURE_PARAMETER_DESC
 
typedef struct _D3D10_SHADER_DESC D3D10_SHADER_DESC
 
typedef struct _D3D10_SHADER_BUFFER_DESC D3D10_SHADER_BUFFER_DESC
 
typedef struct _D3D10_SHADER_VARIABLE_DESC D3D10_SHADER_VARIABLE_DESC
 
typedef struct _D3D10_SHADER_TYPE_DESC D3D10_SHADER_TYPE_DESC
 

Functions

HRESULT __stdcall D3D10CompileShader (const char *data, SIZE_T data_size, const char *filename, const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entrypoint, const char *profile, UINT flags, ID3D10Blob **shader, ID3D10Blob **error_messages)
 
HRESULT __stdcall D3D10DisassembleShader (const void *data, SIZE_T data_size, BOOL color_code, const char *comments, ID3D10Blob **disassembly)
 
const char *__stdcall D3D10GetVertexShaderProfile (ID3D10Device *device)
 
const char *__stdcall D3D10GetGeometryShaderProfile (ID3D10Device *device)
 
const char *__stdcall D3D10GetPixelShaderProfile (ID3D10Device *device)
 
HRESULT __stdcall D3D10ReflectShader (const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector)
 
HRESULT __stdcall D3D10GetInputSignatureBlob (const void *data, SIZE_T data_size, ID3D10Blob **blob)
 
HRESULT __stdcall D3D10GetOutputSignatureBlob (const void *data, SIZE_T data_size, ID3D10Blob **blob)
 
HRESULT __stdcall D3D10GetInputAndOutputSignatureBlob (const void *data, SIZE_T data_size, ID3D10Blob **blob)
 
HRESULT __stdcall D3D10GetShaderDebugInfo (const void *data, SIZE_T data_size, ID3D10Blob **blob)
 

Variables

const unsigned int D3D10_SHADER_DEBUG = 0x00001
 
const unsigned int D3D10_SHADER_SKIP_VALIDATION = 0x00002
 
const unsigned int D3D10_SHADER_SKIP_OPTIMIZATION = 0x00004
 
const unsigned int D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = 0x00008
 
const unsigned int D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = 0x00010
 
const unsigned int D3D10_SHADER_PARTIAL_PRECISION = 0x00020
 
const unsigned int D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = 0x00040
 
const unsigned int D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = 0x00080
 
const unsigned int D3D10_SHADER_NO_PRESHADER = 0x00100
 
const unsigned int D3D10_SHADER_AVOID_FLOW_CONTROL = 0x00200
 
const unsigned int D3D10_SHADER_PREFER_FLOW_CONTROL = 0x00400
 
const unsigned int D3D10_SHADER_ENABLE_STRICTNESS = 0x00800
 
const unsigned int D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = 0x01000
 
const unsigned int D3D10_SHADER_IEEE_STRICTNESS = 0x02000
 
const unsigned int D3D10_SHADER_WARNINGS_ARE_ERRORS = 0x40000
 
const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL0 = 0x04000
 
const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0x00000
 
const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL2 = 0x0c000
 
const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL3 = 0x08000
 

Typedef Documentation

◆ D3D10_CBUFFER_TYPE

Definition at line 48 of file d3d10shader.idl.

◆ D3D10_INCLUDE_TYPE

typedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE

Definition at line 63 of file d3d10shader.idl.

◆ D3D10_NAME

Definition at line 55 of file d3d10shader.idl.

◆ D3D10_REGISTER_COMPONENT_TYPE

◆ D3D10_RESOURCE_RETURN_TYPE

◆ D3D10_SHADER_BUFFER_DESC

◆ D3D10_SHADER_DESC

◆ D3D10_SHADER_INPUT_BIND_DESC

◆ D3D10_SHADER_INPUT_TYPE

Definition at line 57 of file d3d10shader.idl.

◆ D3D10_SHADER_MACRO

Definition at line 42 of file d3d10shader.idl.

◆ D3D10_SHADER_TYPE_DESC

◆ D3D10_SHADER_VARIABLE_CLASS

◆ D3D10_SHADER_VARIABLE_DESC

◆ D3D10_SHADER_VARIABLE_TYPE

◆ D3D10_SIGNATURE_PARAMETER_DESC

◆ ID3D10Include

Definition at line 64 of file d3d10shader.idl.

◆ LPD3D10_CBUFFER_TYPE

Definition at line 49 of file d3d10shader.idl.

◆ LPD3D10_SHADER_INPUT_TYPE

Definition at line 58 of file d3d10shader.idl.

◆ LPD3D10_SHADER_MACRO

Definition at line 43 of file d3d10shader.idl.

◆ LPD3D10_SHADER_VARIABLE_CLASS

◆ LPD3D10_SHADER_VARIABLE_TYPE

◆ LPD3D10INCLUDE

Definition at line 65 of file d3d10shader.idl.

Function Documentation

◆ D3D10CompileShader()

HRESULT __stdcall D3D10CompileShader ( const char *  data,
SIZE_T  data_size,
const char *  filename,
const D3D10_SHADER_MACRO *  defines,
ID3D10Include *  include,
const char *  entrypoint,
const char *  profile,
UINT  flags,
ID3D10Blob **  shader,
ID3D10Blob **  error_messages 
)

Definition at line 25 of file shader.c.

28{
30 entrypoint, profile, flags, 0, shader, error_messages);
31}
HRESULT WINAPI D3DCompileFromMemory(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)
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
Definition: asm.c:31
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude UINT ID3DBlob ID3DBlob ** error_messages
Definition: asm.c:32
static SIZE_T const char const D3D_SHADER_MACRO * defines
Definition: asm.c:31
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint shader
Definition: glext.h:6030
GLbitfield flags
Definition: glext.h:7161
const char * filename
Definition: ioapi.h:137
#define profile
Definition: kernel32.h:12

◆ D3D10DisassembleShader()

HRESULT __stdcall D3D10DisassembleShader ( const void *  data,
SIZE_T  data_size,
BOOL  color_code,
const char *  comments,
ID3D10Blob **  disassembly 
)

Definition at line 33 of file shader.c.

35{
36 TRACE("data %p, data_size %#Ix, color_code %#x, comments %p, disassembly %p.\n",
37 data, data_size, color_code, comments, disassembly);
38
39 return D3DDisassembleCode(data, data_size, color_code ? D3D_DISASM_ENABLE_COLOR_CODE : 0, comments, disassembly);
40}
HRESULT WINAPI D3DDisassembleCode(const void *data, SIZE_T data_size, UINT flags, const char *comments, ID3DBlob **disassembly)
#define D3D_DISASM_ENABLE_COLOR_CODE
Definition: d3dcompiler.h:76
char comments[4096]
#define TRACE(s)
Definition: solgame.cpp:4

◆ D3D10GetGeometryShaderProfile()

const char *__stdcall D3D10GetGeometryShaderProfile ( ID3D10Device *  device)

Definition at line 253 of file d3d10_main.c.

254{
255 FIXME("device %p stub!\n", device);
256
257 return "gs_4_0";
258}
#define FIXME(fmt,...)
Definition: precomp.h:53
Definition: devices.h:37

◆ D3D10GetInputAndOutputSignatureBlob()

HRESULT __stdcall D3D10GetInputAndOutputSignatureBlob ( const void *  data,
SIZE_T  data_size,
ID3D10Blob **  blob 
)

◆ D3D10GetInputSignatureBlob()

HRESULT __stdcall D3D10GetInputSignatureBlob ( const void *  data,
SIZE_T  data_size,
ID3D10Blob **  blob 
)

◆ D3D10GetOutputSignatureBlob()

HRESULT __stdcall D3D10GetOutputSignatureBlob ( const void *  data,
SIZE_T  data_size,
ID3D10Blob **  blob 
)

◆ D3D10GetPixelShaderProfile()

const char *__stdcall D3D10GetPixelShaderProfile ( ID3D10Device *  device)

Definition at line 260 of file d3d10_main.c.

261{
262 FIXME("device %p stub!\n", device);
263
264 return "ps_4_0";
265}

◆ D3D10GetShaderDebugInfo()

HRESULT __stdcall D3D10GetShaderDebugInfo ( const void *  data,
SIZE_T  data_size,
ID3D10Blob **  blob 
)

◆ D3D10GetVertexShaderProfile()

const char *__stdcall D3D10GetVertexShaderProfile ( ID3D10Device *  device)

Definition at line 246 of file d3d10_main.c.

247{
248 FIXME("device %p stub!\n", device);
249
250 return "vs_4_0";
251}

◆ D3D10ReflectShader()

HRESULT __stdcall D3D10ReflectShader ( const void *  data,
SIZE_T  data_size,
ID3D10ShaderReflection **  reflector 
)

Definition at line 1969 of file reflection.c.

1970{
1972 HRESULT hr;
1973
1974 TRACE("data %p, data_size %Iu, reflector %p.\n", data, data_size, reflector);
1975
1976 if (!(object = calloc(1, sizeof(*object))))
1977 {
1978 ERR("Failed to allocate D3D10 shader reflection object memory.\n");
1979 return E_OUTOFMEMORY;
1980 }
1981
1982 object->ID3D11ShaderReflection_iface.lpVtbl = &d3dcompiler_shader_reflection_vtbl;
1983 object->interface_version = D3DCOMPILER_REFLECTION_VERSION_D3D10;
1984 object->refcount = 1;
1985
1986 hr = d3dcompiler_shader_reflection_init(object, data, data_size);
1987 if (FAILED(hr))
1988 {
1989 WARN("Failed to initialize shader reflection.\n");
1990 free(object);
1991 return hr;
1992 }
1993
1994 *reflector = (ID3D10ShaderReflection *)&object->ID3D11ShaderReflection_iface;
1995
1996 TRACE("Created ID3D10ShaderReflection %p.\n", object);
1997
1998 return S_OK;
1999}
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define free
Definition: debug_ros.c:5
HRESULT hr
Definition: delayimp.cpp:582
static const struct ID3D11ShaderReflectionVtbl d3dcompiler_shader_reflection_vtbl
Definition: reflection.c:737
@ D3DCOMPILER_REFLECTION_VERSION_D3D10
Definition: reflection.c:121
static HRESULT d3dcompiler_shader_reflection_init(struct d3dcompiler_shader_reflection *reflection, const void *data, SIZE_T data_size)
Definition: reflection.c:1847
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
#define calloc
Definition: rosglue.h:14

Referenced by call_reflect(), parse_fx10_shader(), and test_d3d10_interfaces().

Variable Documentation

◆ D3D10_SHADER_AVOID_FLOW_CONTROL

const unsigned int D3D10_SHADER_AVOID_FLOW_CONTROL = 0x00200

Definition at line 30 of file d3d10shader.idl.

◆ D3D10_SHADER_DEBUG

const unsigned int D3D10_SHADER_DEBUG = 0x00001

Definition at line 21 of file d3d10shader.idl.

◆ D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY

const unsigned int D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = 0x01000

Definition at line 33 of file d3d10shader.idl.

◆ D3D10_SHADER_ENABLE_STRICTNESS

const unsigned int D3D10_SHADER_ENABLE_STRICTNESS = 0x00800

Definition at line 32 of file d3d10shader.idl.

◆ D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT

const unsigned int D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = 0x00080

Definition at line 28 of file d3d10shader.idl.

◆ D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT

const unsigned int D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = 0x00040

Definition at line 27 of file d3d10shader.idl.

◆ D3D10_SHADER_IEEE_STRICTNESS

const unsigned int D3D10_SHADER_IEEE_STRICTNESS = 0x02000

Definition at line 34 of file d3d10shader.idl.

◆ D3D10_SHADER_NO_PRESHADER

const unsigned int D3D10_SHADER_NO_PRESHADER = 0x00100

Definition at line 29 of file d3d10shader.idl.

◆ D3D10_SHADER_OPTIMIZATION_LEVEL0

const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL0 = 0x04000

Definition at line 37 of file d3d10shader.idl.

◆ D3D10_SHADER_OPTIMIZATION_LEVEL1

const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0x00000

Definition at line 38 of file d3d10shader.idl.

◆ D3D10_SHADER_OPTIMIZATION_LEVEL2

const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL2 = 0x0c000

Definition at line 39 of file d3d10shader.idl.

◆ D3D10_SHADER_OPTIMIZATION_LEVEL3

const unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL3 = 0x08000

Definition at line 40 of file d3d10shader.idl.

◆ D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR

const unsigned int D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = 0x00010

Definition at line 25 of file d3d10shader.idl.

◆ D3D10_SHADER_PACK_MATRIX_ROW_MAJOR

const unsigned int D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = 0x00008

Definition at line 24 of file d3d10shader.idl.

◆ D3D10_SHADER_PARTIAL_PRECISION

const unsigned int D3D10_SHADER_PARTIAL_PRECISION = 0x00020

Definition at line 26 of file d3d10shader.idl.

◆ D3D10_SHADER_PREFER_FLOW_CONTROL

const unsigned int D3D10_SHADER_PREFER_FLOW_CONTROL = 0x00400

Definition at line 31 of file d3d10shader.idl.

◆ D3D10_SHADER_SKIP_OPTIMIZATION

const unsigned int D3D10_SHADER_SKIP_OPTIMIZATION = 0x00004

Definition at line 23 of file d3d10shader.idl.

◆ D3D10_SHADER_SKIP_VALIDATION

const unsigned int D3D10_SHADER_SKIP_VALIDATION = 0x00002

Definition at line 22 of file d3d10shader.idl.

◆ D3D10_SHADER_WARNINGS_ARE_ERRORS

const unsigned int D3D10_SHADER_WARNINGS_ARE_ERRORS = 0x40000

Definition at line 35 of file d3d10shader.idl.