1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/************************************************************************** 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2010 Luca Barbieri 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * a copy of this software and associated documentation files (the 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * "Software"), to deal in the Software without restriction, including 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * without limitation the rights to use, copy, modify, merge, publish, 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * distribute, sublicense, and/or sell copies of the Software, and to 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * permit persons to whom the Software is furnished to do so, subject to 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the following conditions: 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice (including the 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * next paragraph) shall be included in all copies or substantial 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * portions of the Software. 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org **************************************************************************/ 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgimport "d3d10.idl"; 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcpp_quote("#define D3D10_TX_VERSION(a, b) (('T' << 24) | ('X' << 16) | ((a) << 8) | (b)))") 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_DEBUG = (1 << 0); 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_SKIP_VALIDATION = (1 << 1); 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_SKIP_OPTIMIZATION = (1 << 2); 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = (1 << 3); 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = (1 << 4); 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_PARTIAL_PRECISION = (1 << 5); 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = (1 << 6); 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = (1 << 7); 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_NO_PRESHADER = (1 << 8); 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_AVOID_FLOW_CONTROL = (1 << 9); 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_PREFER_FLOW_CONTROL = (1 << 10); 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_ENABLE_STRICTNESS = (1 << 11); 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = (1 << 12); 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_IEEE_STRICTNESS = (1 << 13); 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_WARNINGS_ARE_ERRORS = (1 << 18); 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL0 = (1 << 14); 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0; 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL2 = ((1 << 14) | (1 << 15)); 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL3 = (1 << 15); 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_MACRO D3D10_SHADER_MACRO; 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO; 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS; 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS; 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_VARIABLE_FLAGS D3D10_SHADER_VARIABLE_FLAGS; 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS; 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE; 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE; 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_INPUT_FLAGS D3D10_SHADER_INPUT_FLAGS; 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS; 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE; 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE; 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_SHADER_CBUFFER_FLAGS D3D10_SHADER_CBUFFER_FLAGS; 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS; 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE; 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE; 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_NAME D3D10_NAME; 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE; 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE; 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE; 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef ID3DInclude* LPD3D10INCLUDE; 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcpp_quote("#define D3D10_SHVER_GET_TYPE(v) (((v) >> 16) & 0xffff)") 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcpp_quote("#define D3D10_SHVER_GET_MAJOR(v) (((v) >> 4) & 0xf)") 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcpp_quote("#define D3D10_SHVER_GET_MINOR(v) (((v) >> 0) & 0xf)") 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SIGNATURE_PARAMETER_DESC 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR SemanticName; 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT SemanticIndex; 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Register; 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_NAME SystemValueType; 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_REGISTER_COMPONENT_TYPE ComponentType; 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE Mask; 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE ReadWriteMask; 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SIGNATURE_PARAMETER_DESC; 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SHADER_BUFFER_DESC 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR Name; 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_CBUFFER_TYPE Type; 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Variables; 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Size; 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT uFlags; 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SHADER_BUFFER_DESC; 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SHADER_VARIABLE_DESC 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR Name; 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT StartOffset; 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Size; 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT uFlags; 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPVOID DefaultValue; 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT StartTexture; 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureSize; 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT StartSampler; 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT SamplerSize; 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SHADER_VARIABLE_DESC; 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SHADER_TYPE_DESC 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_SHADER_VARIABLE_CLASS Class; 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_SHADER_VARIABLE_TYPE Type; 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Rows; 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Columns; 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Elements; 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Members; 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Offset; 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR Name; 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SHADER_TYPE_DESC; 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_TESSELLATOR_DOMAIN D3D10_TESSELLATOR_DOMAIN; 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_TESSELLATOR_PARTITIONING D3D10_TESSELLATOR_PARTITIONING; 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D10_TESSELLATOR_OUTPUT_PRIMITIVE; 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SHADER_DESC 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Version; 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR Creator; 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT Flags; 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT ConstantBuffers; 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT BoundResources; 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT InputParameters; 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT OutputParameters; 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT InstructionCount; 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TempRegisterCount; 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TempArrayCount; 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT DefCount; 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT DclCount; 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureNormalInstructions; 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureLoadInstructions; 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureCompInstructions; 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureBiasInstructions; 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT TextureGradientInstructions; 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT FloatInstructionCount; 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT IntInstructionCount; 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT UintInstructionCount; 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT StaticFlowControlCount; 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT DynamicFlowControlCount; 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT MacroInstructionCount; 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT ArrayInstructionCount; 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT CutInstructionCount; 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT EmitInstructionCount; 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_PRIMITIVE_TOPOLOGY GSOutputTopology; 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT GSMaxOutputVertexCount; 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SHADER_DESC; 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _D3D10_SHADER_INPUT_BIND_DESC 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR Name; 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_SHADER_INPUT_TYPE Type; 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT BindPoint; 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT BindCount; 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT uFlags; 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_RESOURCE_RETURN_TYPE ReturnType; 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org D3D_SRV_DIMENSION Dimension; 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT NumSamples; 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_SHADER_INPUT_BIND_DESC; 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org[local, object, uuid("C530AD7D-9B16-4395-A979-BA2ECFF83ADD")] 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginterface ID3D10ShaderReflectionType 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetDesc( 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SHADER_TYPE_DESC *a 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionType* GetMemberTypeByIndex( 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionType* GetMemberTypeByName( 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] LPCSTR a 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR GetMemberTypeName( 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginterface ID3D10ShaderReflectionConstantBuffer; 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org[object, local, uuid("1BF63C95-2650-405d-99C1-3636BD1DA0A1")] 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginterface ID3D10ShaderReflectionVariable 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetDesc( 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SHADER_VARIABLE_DESC *a 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionType* GetType(); 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org[object, local, uuid("66C66A94-DDDD-4b62-A66A-F0DA33C2B4D0")] 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginterface ID3D10ShaderReflectionConstantBuffer 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetDesc( 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SHADER_BUFFER_DESC *a 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionVariable* GetVariableByIndex( 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionVariable* GetVariableByName( 221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] LPCSTR a 222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org[object,local,uuid("D40E20B6-F8F7-42ad-AB20-4BAF8F15DFAA")] 226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orginterface ID3D10ShaderReflection : IUnknown 227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetDesc( 229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SHADER_DESC *a 230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex( 233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a 234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName( 237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] LPCSTR a 238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetResourceBindingDesc( 241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a, 242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SHADER_INPUT_BIND_DESC *b 243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetInputParameterDesc( 246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a, 247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SIGNATURE_PARAMETER_DESC *b 248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org HRESULT GetOutputParameterDesc 251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ( 252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [in] UINT a, 253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [out] D3D10_SIGNATURE_PARAMETER_DESC *b 254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ); 255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10CompileShader(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, const D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, 258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs); 259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10DisassembleShader(const void *pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob** ppDisassembly); 260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLPCSTR D3D10GetPixelShaderProfile(ID3D10Device *pDevice); 261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLPCSTR D3D10GetVertexShaderProfile(ID3D10Device *pDevice); 262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgLPCSTR D3D10GetGeometryShaderProfile(ID3D10Device *pDevice); 263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10ReflectShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection **ppReflector); 264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10PreprocessShader(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, const D3D10_SHADER_MACRO* pDefines, 265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org LPD3D10INCLUDE pInclude, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs); 266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10GetInputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob); 267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10GetOutputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob); 268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10GetInputAndOutputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob); 269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT D3D10GetShaderDebugInfo(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppDebugInfo); 270