diff --git a/include/d3d10shader.h b/include/d3d10shader.h index 3fc1b6b2f25..862810f34f1 100644 --- a/include/d3d10shader.h +++ b/include/d3d10shader.h @@ -130,6 +130,15 @@ typedef struct _D3D10_SIGNATURE_PARAMETER_DESC BYTE ReadWriteMask; } D3D10_SIGNATURE_PARAMETER_DESC; +typedef struct _D3D10_SHADER_VARIABLE_DESC +{ + LPCSTR Name; + UINT StartOffset; + UINT Size; + UINT uFlags; + LPVOID DefaultValue; +} D3D10_SHADER_VARIABLE_DESC; + typedef struct _D3D10_SHADER_TYPE_DESC { D3D10_SHADER_VARIABLE_CLASS Class; @@ -153,6 +162,16 @@ DECLARE_INTERFACE(ID3D10ShaderReflectionType) }; #undef INTERFACE +DEFINE_GUID(IID_ID3D10ShaderReflectionVariable, 0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1); + +#define INTERFACE ID3D10ShaderReflectionVariable +DECLARE_INTERFACE(ID3D10ShaderReflectionVariable) +{ + STDMETHOD(GetDesc)(THIS_ D3D10_SHADER_VARIABLE_DESC *desc) PURE; + STDMETHOD_(struct ID3D10ShaderReflectionType *, GetType)(THIS) PURE; +}; +#undef INTERFACE + LPCSTR WINAPI D3D10GetVertexShaderProfile(ID3D10Device *device); LPCSTR WINAPI D3D10GetGeometryShaderProfile(ID3D10Device *device); LPCSTR WINAPI D3D10GetPixelShaderProfile(ID3D10Device *device);