[PATCH v2 vkd3d 3/4] include: Add definitions for versioned root signatures.
Józef Kucia
joseph.kucia at gmail.com
Wed Apr 10 10:48:51 CDT 2019
From: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
include/vkd3d_d3d12.idl | 34 ++++++++++++++++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)
diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl
index e3f9df0f7127..3cefd1fdb33f 100644
--- a/include/vkd3d_d3d12.idl
+++ b/include/vkd3d_d3d12.idl
@@ -590,7 +590,11 @@ typedef struct D3D12_DESCRIPTOR_RANGE
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS
{
- D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
+ D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0x0,
+ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
+ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
+ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
+ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
} D3D12_DESCRIPTOR_RANGE_FLAGS;
typedef struct D3D12_DESCRIPTOR_RANGE1
@@ -630,7 +634,10 @@ typedef struct D3D12_ROOT_DESCRIPTOR
typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS
{
- D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
+ D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0x0,
+ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
+ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
+ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8,
} D3D12_ROOT_DESCRIPTOR_FLAGS;
typedef struct D3D12_ROOT_DESCRIPTOR1
@@ -2298,13 +2305,36 @@ interface ID3D12RootSignatureDeserializer : IUnknown
const D3D12_ROOT_SIGNATURE_DESC *GetRootSignatureDesc();
}
+[
+ uuid(7f91ce67-090c-4bb7-b78e-ed8ff2e31da0),
+ object,
+ local,
+ pointer_default(unique)
+]
+interface ID3D12VersionedRootSignatureDeserializer : IUnknown
+{
+ HRESULT GetRootSignatureDescAtVersion(D3D_ROOT_SIGNATURE_VERSION version,
+ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc);
+
+ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *GetUnconvertedRootSignatureDesc();
+};
+
[local] HRESULT __stdcall D3D12CreateRootSignatureDeserializer(
const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
+typedef HRESULT (__stdcall *PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(
+ const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
+
+[local] HRESULT __stdcall D3D12CreateVersionedRootSignatureDeserializer(
+ const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
+
[local] HRESULT __stdcall D3D12SerializeRootSignature(
const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob);
+typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
+ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc, ID3DBlob **blob, ID3DBlob **error_blob);
+
[local] HRESULT __stdcall D3D12SerializeVersionedRootSignature(
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *root_signature_desc,
ID3DBlob **blob, ID3DBlob **error_blob);
--
2.21.0
More information about the wine-devel
mailing list