[PATCH vkd3d 1/2] include: Add ID3D12DebugDevice interface declarations in vkd3d_d3d12sdklayers.idl.

Biswapriyo Nath nathbappai at gmail.com
Thu Jun 9 00:00:15 CDT 2022


-------------- next part --------------
From d6a8343f4779b8c3d7ca7a679c7db6d3ed26710d Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbappai at gmail.com>
Date: Thu, 9 Jun 2022 10:22:28 +0530
Subject: [PATCH vkd3d 1/2] include: Add ID3D12DebugDevice interface declarations in vkd3d_d3d12sdklayers.idl.

Signed-off-by: Biswapriyo Nath <nathbappai at gmail.com>
---
 include/vkd3d_d3d12sdklayers.idl | 86 ++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/include/vkd3d_d3d12sdklayers.idl b/include/vkd3d_d3d12sdklayers.idl
index 785aba7..194cce0 100644
--- a/include/vkd3d_d3d12sdklayers.idl
+++ b/include/vkd3d_d3d12sdklayers.idl
@@ -906,6 +906,54 @@ typedef enum D3D12_GPU_BASED_VALIDATION_FLAGS
 } D3D12_GPU_BASED_VALIDATION_FLAGS;
 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)")
 
+typedef enum D3D12_RLDO_FLAGS
+{
+    D3D12_RLDO_NONE = 0x0,
+    D3D12_RLDO_SUMMARY = 0x1,
+    D3D12_RLDO_DETAIL = 0x2,
+    D3D12_RLDO_IGNORE_INTERNAL = 0x4,
+} D3D12_RLDO_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)")
+
+typedef enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
+{
+    D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS,
+    D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS,
+    D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR,
+} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
+
+typedef enum D3D12_DEBUG_FEATURE
+{
+    D3D12_DEBUG_FEATURE_NONE = 0x00,
+    D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x01,
+    D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x02,
+    D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x04,
+    D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x08,
+} D3D12_DEBUG_FEATURE;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)")
+
+typedef enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
+{
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x00,
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x01,
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x02,
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x04,
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x07
+} D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)")
+
+typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
+{
+    UINT MaxMessagesPerCommandList;
+    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
+    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
+} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
+
+typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
+{
+    FLOAT SlowdownFactor;
+} D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
+
 typedef struct D3D12_MESSAGE
 {
     D3D12_MESSAGE_CATEGORY Category;
@@ -1001,6 +1049,44 @@ interface ID3D12Debug5 : ID3D12Debug4
     void SetEnableAutoName(BOOL enable);
 }
 
+[
+    uuid(3febd6dd-4973-4787-8194-e45f9e28923e),
+    object,
+    local,
+    pointer_default(unique)
+]
+interface ID3D12DebugDevice : IUnknown
+{
+    HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE mask);
+    D3D12_DEBUG_FEATURE GetFeatureMask();
+    HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS flags);
+}
+
+[
+    uuid(a9b71770-d099-4a65-a698-3dee10020f88),
+    object,
+    local,
+    pointer_default(unique)
+]
+interface ID3D12DebugDevice1 : IUnknown
+{
+    HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE type, const void *data, UINT size);
+    HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE type, void *data, UINT size);
+    HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS flags);
+}
+
+[
+    uuid(60eccbc1-378d-4df1-894c-f8ac5ce4d7dd),
+    object,
+    local,
+    pointer_default(unique)
+]
+interface ID3D12DebugDevice2 : ID3D12DebugDevice
+{
+    HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE type, const void *data, UINT size);
+    HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE type, void *data, UINT size);
+}
+
 [
     uuid(0742a90b-c387-483f-b946-30a7e4e61458),
     object,
-- 
2.36.1



More information about the wine-devel mailing list