185 lines
4.9 KiB
Plaintext
185 lines
4.9 KiB
Plaintext
/*
|
|
* Copyright 2020 Paul Gofman for CodeWeavers
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
import "d3dcommon.idl";
|
|
|
|
typedef struct _D3D12_SHADER_DESC
|
|
{
|
|
UINT Version;
|
|
const char *Creator;
|
|
UINT Flags;
|
|
UINT ConstantBuffers;
|
|
UINT BoundResources;
|
|
UINT InputParameters;
|
|
UINT OutputParameters;
|
|
UINT InstructionCount;
|
|
UINT TempRegisterCount;
|
|
UINT TempArrayCount;
|
|
UINT DefCount;
|
|
UINT DclCount;
|
|
UINT TextureNormalInstructions;
|
|
UINT TextureLoadInstructions;
|
|
UINT TextureCompInstructions;
|
|
UINT TextureBiasInstructions;
|
|
UINT TextureGradientInstructions;
|
|
UINT FloatInstructionCount;
|
|
UINT IntInstructionCount;
|
|
UINT UintInstructionCount;
|
|
UINT StaticFlowControlCount;
|
|
UINT DynamicFlowControlCount;
|
|
UINT MacroInstructionCount;
|
|
UINT ArrayInstructionCount;
|
|
UINT CutInstructionCount;
|
|
UINT EmitInstructionCount;
|
|
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology;
|
|
UINT GSMaxOutputVertexCount;
|
|
D3D_PRIMITIVE InputPrimitive;
|
|
UINT PatchConstantParameters;
|
|
UINT cGSInstanceCount;
|
|
UINT cControlPoints;
|
|
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive;
|
|
D3D_TESSELLATOR_PARTITIONING HSPartitioning;
|
|
D3D_TESSELLATOR_DOMAIN TessellatorDomain;
|
|
UINT cBarrierInstructions;
|
|
UINT cInterlockedInstructions;
|
|
UINT cTextureStoreInstructions;
|
|
} D3D12_SHADER_DESC;
|
|
|
|
typedef struct _D3D12_SHADER_VARIABLE_DESC
|
|
{
|
|
const char *Name;
|
|
UINT StartOffset;
|
|
UINT Size;
|
|
UINT uFlags;
|
|
void *DefaultValue;
|
|
UINT StartTexture;
|
|
UINT TextureSize;
|
|
UINT StartSampler;
|
|
UINT SamplerSize;
|
|
} D3D12_SHADER_VARIABLE_DESC;
|
|
|
|
typedef struct _D3D12_SHADER_TYPE_DESC
|
|
{
|
|
D3D_SHADER_VARIABLE_CLASS Class;
|
|
D3D_SHADER_VARIABLE_TYPE Type;
|
|
UINT Rows;
|
|
UINT Columns;
|
|
UINT Elements;
|
|
UINT Members;
|
|
UINT Offset;
|
|
const char *Name;
|
|
} D3D12_SHADER_TYPE_DESC;
|
|
|
|
typedef struct _D3D12_SHADER_BUFFER_DESC
|
|
{
|
|
const char *Name;
|
|
D3D_CBUFFER_TYPE Type;
|
|
UINT Variables;
|
|
UINT Size;
|
|
UINT uFlags;
|
|
} D3D12_SHADER_BUFFER_DESC;
|
|
|
|
typedef struct _D3D12_SHADER_INPUT_BIND_DESC
|
|
{
|
|
const char *Name;
|
|
D3D_SHADER_INPUT_TYPE Type;
|
|
UINT BindPoint;
|
|
UINT BindCount;
|
|
UINT uFlags;
|
|
D3D_RESOURCE_RETURN_TYPE ReturnType;
|
|
D3D_SRV_DIMENSION Dimension;
|
|
UINT NumSamples;
|
|
UINT Space;
|
|
UINT uID;
|
|
} D3D12_SHADER_INPUT_BIND_DESC;
|
|
|
|
typedef struct _D3D12_SIGNATURE_PARAMETER_DESC
|
|
{
|
|
const char *SemanticName;
|
|
UINT SemanticIndex;
|
|
UINT Register;
|
|
D3D_NAME SystemValueType;
|
|
D3D_REGISTER_COMPONENT_TYPE ComponentType;
|
|
BYTE Mask;
|
|
BYTE ReadWriteMask;
|
|
UINT Stream;
|
|
D3D_MIN_PRECISION MinPrecision;
|
|
} D3D12_SIGNATURE_PARAMETER_DESC;
|
|
|
|
typedef struct _D3D12_PARAMETER_DESC
|
|
{
|
|
const char *Name;
|
|
const char *SemanticName;
|
|
D3D_SHADER_VARIABLE_TYPE Type;
|
|
D3D_SHADER_VARIABLE_CLASS Class;
|
|
UINT Rows;
|
|
UINT Columns;
|
|
D3D_INTERPOLATION_MODE InterpolationMode;
|
|
D3D_PARAMETER_FLAGS Flags;
|
|
UINT FirstInRegister;
|
|
UINT FirstInComponent;
|
|
UINT FirstOutRegister;
|
|
UINT FirstOutComponent;
|
|
} D3D12_PARAMETER_DESC;
|
|
|
|
typedef struct _D3D12_FUNCTION_DESC
|
|
{
|
|
UINT Version;
|
|
const char *Creator;
|
|
UINT Flags;
|
|
UINT ConstantBuffers;
|
|
UINT BoundResources;
|
|
UINT InstructionCount;
|
|
UINT TempRegisterCount;
|
|
UINT TempArrayCount;
|
|
UINT DefCount;
|
|
UINT DclCount;
|
|
UINT TextureNormalInstructions;
|
|
UINT TextureLoadInstructions;
|
|
UINT TextureCompInstructions;
|
|
UINT TextureBiasInstructions;
|
|
UINT TextureGradientInstructions;
|
|
UINT FloatInstructionCount;
|
|
UINT IntInstructionCount;
|
|
UINT UintInstructionCount;
|
|
UINT StaticFlowControlCount;
|
|
UINT DynamicFlowControlCount;
|
|
UINT MacroInstructionCount;
|
|
UINT ArrayInstructionCount;
|
|
UINT MovInstructionCount;
|
|
UINT MovcInstructionCount;
|
|
UINT ConversionInstructionCount;
|
|
UINT BitwiseInstructionCount;
|
|
D3D_FEATURE_LEVEL MinFeatureLevel;
|
|
UINT64 RequiredFeatureFlags;
|
|
const char *Name;
|
|
INT FunctionParameterCount;
|
|
BOOL HasReturn;
|
|
BOOL Has10Level9VertexShader;
|
|
BOOL Has10Level9PixelShader;
|
|
} D3D12_FUNCTION_DESC;
|
|
|
|
typedef struct _D3D12_LIBRARY_DESC
|
|
{
|
|
const char *Creator;
|
|
UINT Flags;
|
|
UINT FunctionCount;
|
|
} D3D12_LIBRARY_DESC;
|