headers: import d3d12shader.idl from wine

d3d12shader.h is included in d3dcompiler.h file

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
Biswapriyo Nath 2020-08-15 19:56:11 +05:30 committed by Jacek Caban
parent 0f6395bdd2
commit d9a9ccd8cb
8 changed files with 1466 additions and 0 deletions

View File

@ -93,6 +93,7 @@ IDL_SRCS = \
include/d3d11_3.idl \
include/d3d11_4.idl \
include/d3d11sdklayers.idl \
include/d3d12shader.idl \
include/d3dcommon.idl \
include/dbgprop.idl \
include/dcompanimation.idl \

View File

@ -393,6 +393,7 @@ EXTRA_HEADERS = \
@HAVE_WIDL_TRUE@ include/d3d11_3.idl \
@HAVE_WIDL_TRUE@ include/d3d11_4.idl \
@HAVE_WIDL_TRUE@ include/d3d11sdklayers.idl \
@HAVE_WIDL_TRUE@ include/d3d12shader.idl \
@HAVE_WIDL_TRUE@ include/d3dcommon.idl \
@HAVE_WIDL_TRUE@ include/dbgprop.idl \
@HAVE_WIDL_TRUE@ include/dcompanimation.idl \

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,296 @@
/*
* 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;
interface ID3D12ShaderReflectionConstantBuffer;
[
uuid(e913c351-783d-48ca-a1d1-4f306284ad56),
object,
local,
]
interface ID3D12ShaderReflectionType
{
HRESULT GetDesc(D3D12_SHADER_TYPE_DESC *desc);
ID3D12ShaderReflectionType *GetMemberTypeByIndex(UINT index);
ID3D12ShaderReflectionType *GetMemberTypeByName(const char *name);
const char *GetMemberTypeName(UINT index);
HRESULT IsEqual(ID3D12ShaderReflectionType *type);
ID3D12ShaderReflectionType *GetSubType();
ID3D12ShaderReflectionType *GetBaseClass();
UINT GetNumInterfaces();
ID3D12ShaderReflectionType *GetInterfaceByIndex(UINT index);
HRESULT IsOfType(ID3D12ShaderReflectionType *type);
HRESULT ImplementsInterface(ID3D12ShaderReflectionType *base);
}
[
uuid(8337a8a6-a216-444a-b2f4-314733a73aea),
object,
local,
]
interface ID3D12ShaderReflectionVariable
{
HRESULT GetDesc(D3D12_SHADER_VARIABLE_DESC *desc);
ID3D12ShaderReflectionType *GetType();
ID3D12ShaderReflectionConstantBuffer *GetBuffer();
UINT GetInterfaceSlot(UINT index);
}
[
uuid(c59598b4-48b3-4869-b9b1-b1618b14a8b7),
object,
local,
]
interface ID3D12ShaderReflectionConstantBuffer
{
HRESULT GetDesc(D3D12_SHADER_BUFFER_DESC *desc);
ID3D12ShaderReflectionVariable *GetVariableByIndex(UINT index);
ID3D12ShaderReflectionVariable *GetVariableByName(const char *name);
}
[
uuid(5a58797d-a72c-478d-8ba2-efc6b0efe88e),
object,
local,
]
interface ID3D12ShaderReflection : IUnknown
{
HRESULT GetDesc(D3D12_SHADER_DESC *desc);
ID3D12ShaderReflectionConstantBuffer *GetConstantBufferByIndex(UINT index);
ID3D12ShaderReflectionConstantBuffer *GetConstantBufferByName(const char *name);
HRESULT GetResourceBindingDesc(UINT index, D3D12_SHADER_INPUT_BIND_DESC *desc);
HRESULT GetInputParameterDesc(UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc);
HRESULT GetOutputParameterDesc(UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc);
HRESULT GetPatchConstantParameterDesc(UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc);
ID3D12ShaderReflectionVariable *GetVariableByName(const char *name);
HRESULT GetResourceBindingDescByName(const char *name, D3D12_SHADER_INPUT_BIND_DESC *desc);
UINT GetMovInstructionCount();
UINT GetMovcInstructionCount();
UINT GetConversionInstructionCount();
UINT GetBitwiseInstructionCount();
D3D_PRIMITIVE GetGSInputPrimitive();
BOOL IsSampleFrequencyShader();
UINT GetNumInterfaceSlots();
HRESULT GetMinFeatureLevel(D3D_FEATURE_LEVEL *level);
UINT GetThreadGroupSize(UINT *sizex, UINT *sizey, UINT *sizez);
UINT64 GetRequiresFlags();
}
[
uuid(ec25f42d-7006-4f2b-b33e-02cc3375733f),
object,
local,
]
interface ID3D12FunctionParameterReflection
{
HRESULT GetDesc(D3D12_PARAMETER_DESC *desc);
}
[
uuid(1108795c-2772-4ba9-b2a8-d464dc7e2799),
object,
local,
]
interface ID3D12FunctionReflection
{
HRESULT GetDesc(D3D12_FUNCTION_DESC *desc);
ID3D12ShaderReflectionConstantBuffer *GetConstantBufferByIndex(UINT index);
ID3D12ShaderReflectionConstantBuffer *GetConstantBufferByName(const char *name);
HRESULT GetResourceBindingDesc(UINT index, D3D12_SHADER_INPUT_BIND_DESC *desc);
ID3D12ShaderReflectionVariable *GetVariableByName(const char *name);
HRESULT GetResourceBindingDescByName(const char *name, D3D12_SHADER_INPUT_BIND_DESC *desc);
ID3D12FunctionParameterReflection *GetFunctionParameter(INT index);
}
[
uuid(8e349d19-54db-4a56-9dc9-119d87bdb804),
object,
local,
]
interface ID3D12LibraryReflection : IUnknown
{
HRESULT GetDesc(D3D12_LIBRARY_DESC *desc);
ID3D12FunctionReflection *GetFunctionByIndex(INT index);
}

View File

@ -795,6 +795,22 @@ typedef enum _D3D_SHADER_CBUFFER_FLAGS {
D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
D3D_CBF_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_CBUFFER_FLAGS;
typedef enum _D3D_PARAMETER_FLAGS {
D3D_PF_NONE = 0,
D3D_PF_IN = 1,
D3D_PF_OUT = 2,
D3D_PF_FORCE_DWORD = 0x7fffffff
} D3D_PARAMETER_FLAGS;
typedef enum _D3D_INTERPOLATION_MODE {
D3D_INTERPOLATION_UNDEFINED = 0,
D3D_INTERPOLATION_CONSTANT = 1,
D3D_INTERPOLATION_LINEAR = 2,
D3D_INTERPOLATION_LINEAR_CENTROID = 3,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
D3D_INTERPOLATION_LINEAR_SAMPLE = 6,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7
} D3D_INTERPOLATION_MODE;
DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
/* Begin additional prototypes for all interfaces */

View File

@ -686,4 +686,24 @@ typedef enum _D3D_SHADER_CBUFFER_FLAGS
D3D_CBF_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_CBUFFER_FLAGS;
typedef enum _D3D_PARAMETER_FLAGS
{
D3D_PF_NONE,
D3D_PF_IN,
D3D_PF_OUT,
D3D_PF_FORCE_DWORD = 0x7fffffff
} D3D_PARAMETER_FLAGS;
typedef enum _D3D_INTERPOLATION_MODE
{
D3D_INTERPOLATION_UNDEFINED,
D3D_INTERPOLATION_CONSTANT,
D3D_INTERPOLATION_LINEAR,
D3D_INTERPOLATION_LINEAR_CENTROID,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID,
D3D_INTERPOLATION_LINEAR_SAMPLE,
D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE,
} D3D_INTERPOLATION_MODE;
cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);")

View File

@ -21,6 +21,7 @@
#define __D3DCOMPILER_H__
#include "d3d11shader.h"
#include "d3d12shader.h"
#ifdef __cplusplus
extern "C" {
@ -82,6 +83,8 @@ static const WCHAR D3DCOMPILER_DLL_W[] = {'d','3','d','c','o','m','p','i','l','e
#define D3D_DISASM_INSTRUCTION_ONLY 0x00000040
#define D3D_DISASM_PRINT_HEX_LITERALS 0x00000080
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude *)(UINT_PTR)1)
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);

View File

@ -139,6 +139,7 @@ for f in \
d3d11_3 \
d3d11_4 \
d3d11sdklayers \
d3d12shader \
d3dcommon \
ddstream \
devicetopology \