[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