Paul Gofman : include: Add d3d12 reflection structures.
Alexandre Julliard
julliard at winehq.org
Fri Aug 7 16:31:21 CDT 2020
Module: wine
Branch: master
Commit: ab0cc959cc47ee2002f1d980c6dee787123b9a5d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ab0cc959cc47ee2002f1d980c6dee787123b9a5d
Author: Paul Gofman <pgofman at codeweavers.com>
Date: Fri Aug 7 16:20:09 2020 +0300
include: Add d3d12 reflection structures.
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/Makefile.in | 1 +
include/d3d12shader.idl | 184 ++++++++++++++++++++++++++++++++++++++++++++++++
include/d3dcommon.idl | 20 ++++++
include/d3dcompiler.h | 1 +
4 files changed, 206 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in
index 216adf0d7a..1713f0b627 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -109,6 +109,7 @@ SOURCES = \
d3d11sdklayers.idl \
d3d11shader.h \
d3d12.idl \
+ d3d12shader.idl \
d3d8.h \
d3d8caps.h \
d3d8types.h \
diff --git a/include/d3d12shader.idl b/include/d3d12shader.idl
new file mode 100644
index 0000000000..61a285bf17
--- /dev/null
+++ b/include/d3d12shader.idl
@@ -0,0 +1,184 @@
+/*
+ * 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;
diff --git a/include/d3dcommon.idl b/include/d3dcommon.idl
index 29404efd69..7d1c0d25cf 100644
--- a/include/d3dcommon.idl
+++ b/include/d3dcommon.idl
@@ -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);")
diff --git a/include/d3dcompiler.h b/include/d3dcompiler.h
index bd1b3d1d44..f11251e9db 100644
--- a/include/d3dcompiler.h
+++ b/include/d3dcompiler.h
@@ -20,6 +20,7 @@
#define __D3DCOMPILER_H__
#include "d3d11shader.h"
+#include "d3d12shader.h"
#ifdef __cplusplus
extern "C" {
More information about the wine-cvs
mailing list