winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
September 2023
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
1 participants
920 discussions
Start a n
N
ew thread
Giovanni Mascellani : tests: Compile HLSL shaders at runtime in test_multiple_render_targets().
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: b1cae0dd1e96fa901e8bed062a507837b2a508eb URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/b1cae0dd1e96fa901e8bed062a507…
Author: Giovanni Mascellani <gmascellani(a)codeweavers.com> Date: Sat Sep 9 22:52:34 2023 +0200 tests: Compile HLSL shaders at runtime in test_multiple_render_targets(). --- tests/d3d12.c | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/tests/d3d12.c b/tests/d3d12.c index d23e4fbb..7b12e0e0 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -5474,39 +5474,32 @@ static void test_multiple_render_targets(void) struct test_context_desc desc; struct test_context context; ID3D12CommandQueue *queue; + D3D12_SHADER_BYTECODE ps; + ID3D10Blob *bytecode; unsigned int i; HRESULT hr; - static const DWORD ps_code[] = - { -#if 0 - void main(out float4 target0 : SV_Target0, out float4 target1 : SV_Target1, - out float4 target2 : SV_Target2) - { - target0 = float4(1.0f, 0.0f, 0.0f, 1.0f); - target1 = float4(2.0f, 0.0f, 0.0f, 1.0f); - target2 = float4(3.0f, 0.0f, 0.0f, 1.0f); - } -#endif - 0x43425844, 0xc4325131, 0x8ba4a693, 0x08d15431, 0xcb990885, 0x00000001, 0x0000013c, 0x00000003, - 0x0000002c, 0x0000003c, 0x000000a0, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f, - 0x0000005c, 0x00000003, 0x00000008, 0x00000050, 0x00000000, 0x00000000, 0x00000003, 0x00000000, - 0x0000000f, 0x00000050, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x0000000f, 0x00000050, - 0x00000002, 0x00000000, 0x00000003, 0x00000002, 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, - 0x58454853, 0x00000094, 0x00000050, 0x00000025, 0x0100086a, 0x03000065, 0x001020f2, 0x00000000, - 0x03000065, 0x001020f2, 0x00000001, 0x03000065, 0x001020f2, 0x00000002, 0x08000036, 0x001020f2, - 0x00000000, 0x00004002, 0x3f800000, 0x00000000, 0x00000000, 0x3f800000, 0x08000036, 0x001020f2, - 0x00000001, 0x00004002, 0x40000000, 0x00000000, 0x00000000, 0x3f800000, 0x08000036, 0x001020f2, - 0x00000002, 0x00004002, 0x40400000, 0x00000000, 0x00000000, 0x3f800000, 0x0100003e, - }; - static const D3D12_SHADER_BYTECODE ps = {ps_code, sizeof(ps_code)}; + static const char ps_code[] = + "void main(out float4 target0 : SV_Target0, out float4 target1 : SV_Target1,\n" + " out float4 target2 : SV_Target2)\n" + "{\n" + " target0 = float4(1.0f, 0.0f, 0.0f, 1.0f);\n" + " target1 = float4(2.0f, 0.0f, 0.0f, 1.0f);\n" + " target2 = float4(3.0f, 0.0f, 0.0f, 1.0f);\n" + "}\n"; + + bytecode = compile_shader(ps_code, sizeof(ps_code) - 1, "ps_4_0"); + ps = shader_bytecode_from_blob(bytecode); memset(&desc, 0, sizeof(desc)); desc.rt_format = DXGI_FORMAT_R32G32B32A32_FLOAT; desc.rt_descriptor_count = ARRAY_SIZE(rtvs); desc.no_pipeline = true; if (!init_test_context(&context, &desc)) + { + ID3D10Blob_Release(bytecode); return; + } command_list = context.list; queue = context.queue; @@ -5588,6 +5581,8 @@ static void test_multiple_render_targets(void) for (i = 0; i < ARRAY_SIZE(render_targets); ++i) ID3D12Resource_Release(render_targets[i]); destroy_test_context(&context); + + ID3D10Blob_Release(bytecode); } static void test_unknown_rtv_format(void)
1
0
0
0
Giovanni Mascellani : tests: Compile HLSL shaders at runtime in test_create_compute_pipeline_state().
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: f7354ff9e3359d101a36ab69adc04e322e504670 URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/f7354ff9e3359d101a36ab69adc04…
Author: Giovanni Mascellani <gmascellani(a)codeweavers.com> Date: Sat Sep 9 22:45:28 2023 +0200 tests: Compile HLSL shaders at runtime in test_create_compute_pipeline_state(). --- tests/d3d12.c | 40 ++++++++++++++++++++++++++++------------ tests/d3d12_test_utils.h | 5 +++++ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/tests/d3d12.c b/tests/d3d12.c index 586b8222..d23e4fbb 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -28,6 +28,20 @@ struct test_options test_options = {0}; static PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER pfn_D3D12CreateVersionedRootSignatureDeserializer; static PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE pfn_D3D12SerializeVersionedRootSignature; +static ID3D10Blob *compile_shader(const char *source, size_t len, const char *profile) +{ + ID3D10Blob *bytecode = NULL, *errors = NULL; + HRESULT hr; + + hr = D3DCompile(source, len, NULL, NULL, NULL, "main", profile, 0, 0, &bytecode, &errors); + ok(hr == S_OK, "Cannot compile shader, hr %#x.\n", hr); + ok(!!bytecode, "Compilation didn't produce any bytecode.\n"); + if (errors) + ID3D10Blob_Release(errors); + + return bytecode; +} + struct dvec2 { double x, y; @@ -2885,24 +2899,23 @@ static void test_create_compute_pipeline_state(void) ID3D12RootSignature *root_signature; ID3D12PipelineState *pipeline_state; ID3D12Device *device, *tmp_device; + ID3D10Blob *bytecode; ULONG refcount; HRESULT hr; - static const DWORD dxbc_code[] = - { -#if 0 - [numthreads(1, 1, 1)] - void main() { } -#endif - 0x43425844, 0x1acc3ad0, 0x71c7b057, 0xc72c4306, 0xf432cb57, 0x00000001, 0x00000074, 0x00000003, - 0x0000002c, 0x0000003c, 0x0000004c, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f, - 0x00000008, 0x00000000, 0x00000008, 0x58454853, 0x00000020, 0x00050050, 0x00000008, 0x0100086a, - 0x0400009b, 0x00000001, 0x00000001, 0x00000001, 0x0100003e, - }; + static const char shader_code[] = + "[numthreads(1, 1, 1)]\n" + "void main() { }\n"; + + bytecode = compile_shader(shader_code, sizeof(shader_code) - 1, "cs_4_0"); if (!(device = create_device())) { skip("Failed to create device.\n"); + + refcount = ID3D10Blob_Release(bytecode); + ok(!refcount, "ID3D10Blob has %u references left.\n", (unsigned int)refcount); + return; } @@ -2919,7 +2932,7 @@ static void test_create_compute_pipeline_state(void) memset(&pipeline_state_desc, 0, sizeof(pipeline_state_desc)); pipeline_state_desc.pRootSignature = root_signature; - pipeline_state_desc.CS = shader_bytecode(dxbc_code, sizeof(dxbc_code)); + pipeline_state_desc.CS = shader_bytecode_from_blob(bytecode); pipeline_state_desc.NodeMask = 0; pipeline_state_desc.Flags = D3D12_PIPELINE_STATE_FLAG_NONE; @@ -2951,6 +2964,9 @@ static void test_create_compute_pipeline_state(void) refcount = ID3D12Device_Release(device); ok(!refcount, "ID3D12Device has %u references left.\n", (unsigned int)refcount); + + refcount = ID3D10Blob_Release(bytecode); + ok(!refcount, "ID3D10Blob has %u references left.\n", (unsigned int)refcount); } static void test_create_graphics_pipeline_state(void) diff --git a/tests/d3d12_test_utils.h b/tests/d3d12_test_utils.h index ec5ba5c5..9df50c56 100644 --- a/tests/d3d12_test_utils.h +++ b/tests/d3d12_test_utils.h @@ -88,6 +88,11 @@ static D3D12_SHADER_BYTECODE shader_bytecode(const DWORD *code, size_t size) return shader_bytecode; } +static inline D3D12_SHADER_BYTECODE shader_bytecode_from_blob(ID3D10Blob *blob) +{ + return shader_bytecode(ID3D10Blob_GetBufferPointer(blob), ID3D10Blob_GetBufferSize(blob)); +} + static void exec_command_list(ID3D12CommandQueue *queue, ID3D12GraphicsCommandList *list) { ID3D12CommandList *lists[] = {(ID3D12CommandList *)list};
1
0
0
0
Martin Storsjö : include: Add some misc D3D12 structs/enums/macros.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: 06399d128a4c6a1e2a037ba0a4b3538292dc56c7 URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/06399d128a4c6a1e2a037ba0a4b35…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:41:21 2023 +0300 include: Add some misc D3D12 structs/enums/macros. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 150 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index d37d981a..46eba4d0 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -608,6 +608,12 @@ typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = 0x2, } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; +typedef struct D3D12_FEATURE_DATA_DISPLAYABLE +{ + BOOL DisplayableTexture; + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; +} D3D12_FEATURE_DATA_DISPLAYABLE; + typedef enum D3D12_HEAP_SERIALIZATION_TIER { D3D12_HEAP_SERIALIZATION_TIER_0 = 0x0, @@ -686,6 +692,13 @@ typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 D3D12_RANGE_UINT64 Range; } D3D12_SUBRESOURCE_RANGE_UINT64; +typedef struct D3D12_SUBRESOURCE_INFO +{ + UINT64 Offset; + UINT RowPitch; + UINT DepthPitch; +} D3D12_SUBRESOURCE_INFO; + typedef struct D3D12_RESOURCE_ALLOCATION_INFO { UINT64 SizeInBytes; @@ -1276,6 +1289,21 @@ typedef enum D3D12_FILTER_REDUCTION_TYPE const UINT D3D12_FILTER_REDUCTION_TYPE_MASK = 0x3; const UINT D3D12_FILTER_REDUCTION_TYPE_SHIFT = 7; +cpp_quote("#define D3D12_ENCODE_BASIC_FILTER(min, mag, mip, reduction) \\") +cpp_quote(" ((D3D12_FILTER) ( \\") +cpp_quote(" (((min) & D3D12_FILTER_TYPE_MASK) << D3D12_MIN_FILTER_SHIFT) \\") +cpp_quote(" | (((mag) & D3D12_FILTER_TYPE_MASK) << D3D12_MAG_FILTER_SHIFT) \\") +cpp_quote(" | (((mip) & D3D12_FILTER_TYPE_MASK) << D3D12_MIP_FILTER_SHIFT) \\") +cpp_quote(" | (((reduction) & D3D12_FILTER_REDUCTION_TYPE_MASK) << D3D12_FILTER_REDUCTION_TYPE_SHIFT)))") + +cpp_quote("#define D3D12_ENCODE_ANISOTROPIC_FILTER(reduction) \\") +cpp_quote(" ((D3D12_FILTER) ( \\") +cpp_quote(" D3D12_ANISOTROPIC_FILTERING_BIT \\") +cpp_quote(" | D3D12_ENCODE_BASIC_FILTER(D3D12_FILTER_TYPE_LINEAR, \\") +cpp_quote(" D3D12_FILTER_TYPE_LINEAR, \\") +cpp_quote(" D3D12_FILTER_TYPE_LINEAR, \\") +cpp_quote(" reduction)))") + cpp_quote("#define D3D12_DECODE_MAG_FILTER(filter) \\") cpp_quote(" ((D3D12_FILTER_TYPE)(((filter) >> D3D12_MAG_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))") @@ -1855,6 +1883,19 @@ typedef struct D3D12_DEPTH_STENCIL_DESC D3D12_DEPTH_STENCILOP_DESC BackFace; } D3D12_DEPTH_STENCIL_DESC; +typedef struct D3D12_DEPTH_STENCIL_DESC1 +{ + BOOL DepthEnable; + D3D12_DEPTH_WRITE_MASK DepthWriteMask; + D3D12_COMPARISON_FUNC DepthFunc; + BOOL StencilEnable; + UINT8 StencilReadMask; + UINT8 StencilWriteMask; + D3D12_DEPTH_STENCILOP_DESC FrontFace; + D3D12_DEPTH_STENCILOP_DESC BackFace; + BOOL DepthBoundsTestEnable; +} D3D12_DEPTH_STENCIL_DESC1; + typedef enum D3D12_BLEND { D3D12_BLEND_ZERO = 1, @@ -2340,6 +2381,72 @@ typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier; } D3D12_FEATURE_DATA_D3D12_OPTIONS7; +typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND +{ + GUID CommandId; + UINT NodeMask; + const void *pQueryInputData; + SIZE_T QueryInputDataSizeInBytes; + void *pQueryOutputData; + SIZE_T QueryOutputDataSizeInBytes; +} D3D12_FEATURE_DATA_QUERY_META_COMMAND; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 +{ + BOOL UnalignedBlockTexturesSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS8; + +typedef enum D3D12_WAVE_MMA_TIER +{ + D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0x0, + D3D12_WAVE_MMA_TIER_1_0 = 0xa, +} D3D12_WAVE_MMA_TIER; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 +{ + BOOL MeshShaderPipelineStatsSupported; + BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex; + BOOL AtomicInt64OnTypedResourceSupported; + BOOL AtomicInt64OnGroupSharedSupported; + BOOL DerivativesInMeshAndAmplificationShadersSupported; + D3D12_WAVE_MMA_TIER WaveMMATier; +} D3D12_FEATURE_DATA_D3D12_OPTIONS9; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 +{ + BOOL VariableRateShadingSumCombinerSupported; + BOOL MeshShaderPerPrimitiveShadingRateSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS10; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 +{ + BOOL AtomicInt64OnDescriptorHeapResourceSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS11; + +typedef enum D3D12_TRI_STATE +{ + D3D12_TRI_STATE_UNKNOWN = -0x1, + D3D12_TRI_STATE_FALSE = 0x0, + D3D12_TRI_STATE_TRUE = 0x1, +} D3D12_TRI_STATE; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 +{ + D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives; + BOOL EnhancedBarriersSupported; + BOOL RelaxedFormatCastingSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS12; + +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 +{ + BOOL UnrestrictedBufferTextureCopyPitchSupported; + BOOL UnrestrictedVertexElementAlignmentSupported; + BOOL InvertedViewportHeightFlipsYSupported; + BOOL InvertedViewportDepthFlipsZSupported; + BOOL TextureCopyBetweenDimensionsSupported; + BOOL AlphaBlendFactorSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS13; + typedef enum D3D12_FEATURE { D3D12_FEATURE_D3D12_OPTIONS = 0, @@ -2586,6 +2693,24 @@ typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS UINT64 CSInvocations; } D3D12_QUERY_DATA_PIPELINE_STATISTICS; +typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 +{ + UINT64 IAVertices; + UINT64 IAPrimitives; + UINT64 VSInvocations; + UINT64 GSInvocations; + UINT64 GSPrimitives; + UINT64 CInvocations; + UINT64 CPrimitives; + UINT64 PSInvocations; + UINT64 HSInvocations; + UINT64 DSInvocations; + UINT64 CSInvocations; + UINT64 ASInvocations; + UINT64 MSInvocations; + UINT64 MSPrimitives; +} D3D12_QUERY_DATA_PIPELINE_STATISTICS1; + typedef struct D3D12_QUERY_DATA_SO_STATISTICS { UINT64 NumPrimitivesWritten; @@ -2808,6 +2933,19 @@ interface ID3D12ProtectedSession : ID3D12DeviceChild D3D12_PROTECTED_SESSION_STATUS GetSessionStatus(); } +typedef enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS +{ + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0x0, + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1, +} D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS);") + +typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT +{ + UINT NodeIndex; + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; +} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT; + [ uuid(6cd696f4-f289-40cc-8091-5a6c0a099c3d), object, @@ -3274,6 +3412,18 @@ typedef enum D3D12_COMMAND_LIST_FLAGS } D3D12_COMMAND_LIST_FLAGS; cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_FLAGS);") +typedef enum D3D12_COMMAND_POOL_FLAGS +{ + D3D12_COMMAND_POOL_FLAG_NONE = 0x0, +} D3D12_COMMAND_POOL_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_POOL_FLAGS);") + +typedef enum D3D12_COMMAND_RECORDER_FLAGS +{ + D3D12_COMMAND_RECORDER_FLAG_NONE = 0x0, +} D3D12_COMMAND_RECORDER_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_RECORDER_FLAGS);") + [ uuid(e865df17-a9ee-46f9-a463-3098315aa2e5), object,
1
0
0
0
Martin Storsjö : include: Add some D3D12 raytracing specific structs.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: b67279394b3f0be1f93b3432cc923283a38b3d16 URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/b67279394b3f0be1f93b3432cc923…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:40:23 2023 +0300 include: Add some D3D12 raytracing specific structs. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 16ca38bb..d37d981a 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -1542,6 +1542,11 @@ typedef struct D3D12_TEXCUBE_ARRAY_SRV FLOAT ResourceMinLODClamp; } D3D12_TEXCUBE_ARRAY_SRV; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV +{ + D3D12_GPU_VIRTUAL_ADDRESS Location; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV; + typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC { DXGI_FORMAT Format; @@ -1559,6 +1564,7 @@ typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC D3D12_TEX3D_SRV Texture3D; D3D12_TEXCUBE_SRV TextureCube; D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure; }; } D3D12_SHADER_RESOURCE_VIEW_DESC; @@ -3605,6 +3611,16 @@ typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = 0x1, } D3D12_RAYTRACING_GEOMETRY_TYPE; +typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS +{ + D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0, + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1, + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2, + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4, + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8 +} D3D12_RAYTRACING_INSTANCE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_INSTANCE_FLAGS);") + typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE { D3D12_GPU_VIRTUAL_ADDRESS StartAddress; @@ -3635,6 +3651,16 @@ typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer; } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC; +typedef struct D3D12_RAYTRACING_AABB +{ + FLOAT MinX; + FLOAT MinY; + FLOAT MinZ; + FLOAT MaxX; + FLOAT MaxY; + FLOAT MaxZ; +} D3D12_RAYTRACING_AABB; + typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC { UINT64 AABBCount; @@ -3688,6 +3714,28 @@ typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType; } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC +{ + UINT64 CompactedSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC; + +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC +{ + UINT64 DecodedSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; + +typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER +{ + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; + UINT NumDescs; +} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER; + +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC +{ + UINT64 SerializedSizeInBytes; + UINT64 NumBottomLevelAccelerationStructurePointers; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC; + typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER { GUID DriverOpaqueGUID; @@ -3708,6 +3756,29 @@ typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4, } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS; +typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER +{ + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; + UINT64 SerializedSizeInBytesIncludingHeader; + UINT64 DeserializedSizeInBytes; + UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader; +} D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER; + +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC +{ + UINT64 CurrentSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC; + +typedef struct D3D12_RAYTRACING_INSTANCE_DESC +{ + FLOAT Transform[3][4]; + UINT InstanceID : 24; + UINT InstanceMask : 8; + UINT InstanceContributionToHitGroupIndex : 24; + UINT Flags : 8; + D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure; +} D3D12_RAYTRACING_INSTANCE_DESC; + typedef struct D3D12_RAYTRACING_GEOMETRY_DESC { D3D12_RAYTRACING_GEOMETRY_TYPE Type; @@ -3748,6 +3819,28 @@ typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO UINT64 UpdateScratchDataSizeInBytes; } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO; +typedef enum D3D12_RAY_FLAGS +{ + D3D12_RAY_FLAG_NONE = 0x00, + D3D12_RAY_FLAG_FORCE_OPAQUE = 0x01, + D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x02, + D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x04, + D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x08, + D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10, + D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, + D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, + D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, + D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100, + D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, +} D3D12_RAY_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAY_FLAGS);") + +typedef enum D3D12_HIT_KIND +{ + D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe, + D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff, +} D3D12_HIT_KIND; + [ uuid(8b4f173b-2fea-4b80-8f58-4307191ab95d), object,
1
0
0
0
Martin Storsjö : include: Add the D3D12_BARRIER_GROUP struct.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: 55c6e17fca90ebe117455758591704707e3bd7cb URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/55c6e17fca90ebe11745575859170…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:38:50 2023 +0300 include: Add the D3D12_BARRIER_GROUP struct. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 127 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 96fff92e..16ca38bb 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4478,6 +4478,133 @@ typedef enum D3D12_BARRIER_LAYOUT D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = 0x1e, } D3D12_BARRIER_LAYOUT; +typedef enum D3D12_BARRIER_SYNC +{ + D3D12_BARRIER_SYNC_NONE = 0x0, + D3D12_BARRIER_SYNC_ALL = 0x1, + D3D12_BARRIER_SYNC_DRAW = 0x2, + D3D12_BARRIER_SYNC_INPUT_ASSEMBLER = 0x4, + D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8, + D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10, + D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20, + D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40, + D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80, + D3D12_BARRIER_SYNC_RAYTRACING = 0x100, + D3D12_BARRIER_SYNC_COPY = 0x200, + D3D12_BARRIER_SYNC_RESOLVE = 0x400, + D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800, + D3D12_BARRIER_SYNC_PREDICATION = 0x800, + D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000, + D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000, + D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000, + D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000, + D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000, + D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000, + D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000, + D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000, + D3D12_BARRIER_SYNC_SPLIT = 0x80000000, +} D3D12_BARRIER_SYNC; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_SYNC);") + +typedef enum D3D12_BARRIER_ACCESS +{ + D3D12_BARRIER_ACCESS_COMMON = 0, + D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1, + D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2, + D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4, + D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8, + D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10, + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20, + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40, + D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80, + D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100, + D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200, + D3D12_BARRIER_ACCESS_PREDICATION = 0x200, + D3D12_BARRIER_ACCESS_COPY_DEST = 0x400, + D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800, + D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000, + D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000, + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000, + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000, + D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000, + D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000, + D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000, + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000, + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000, + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000, + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000, + D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000, +} D3D12_BARRIER_ACCESS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_ACCESS);") + +typedef enum D3D12_BARRIER_TYPE +{ + D3D12_BARRIER_TYPE_GLOBAL = 0x0, + D3D12_BARRIER_TYPE_TEXTURE = 0x1, + D3D12_BARRIER_TYPE_BUFFER = 0x2, +} D3D12_BARRIER_TYPE; + +typedef enum D3D12_TEXTURE_BARRIER_FLAGS +{ + D3D12_TEXTURE_BARRIER_FLAG_NONE = 0x0, + D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1, +} D3D12_TEXTURE_BARRIER_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_TEXTURE_BARRIER_FLAGS);") + +typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE +{ + UINT IndexOrFirstMipLevel; + UINT NumMipLevels; + UINT FirstArraySlice; + UINT NumArraySlices; + UINT FirstPlane; + UINT NumPlanes; +} D3D12_BARRIER_SUBRESOURCE_RANGE; + +typedef struct D3D12_GLOBAL_BARRIER +{ + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; +} D3D12_GLOBAL_BARRIER; + +typedef struct D3D12_TEXTURE_BARRIER +{ + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; + D3D12_BARRIER_LAYOUT LayoutBefore; + D3D12_BARRIER_LAYOUT LayoutAfter; + ID3D12Resource *pResource; + D3D12_BARRIER_SUBRESOURCE_RANGE Subresources; + D3D12_TEXTURE_BARRIER_FLAGS Flags; +} D3D12_TEXTURE_BARRIER; + +typedef struct D3D12_BUFFER_BARRIER +{ + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; + ID3D12Resource *pResource; + UINT64 Offset; + UINT64 Size; +} D3D12_BUFFER_BARRIER; + +typedef struct D3D12_BARRIER_GROUP +{ + D3D12_BARRIER_TYPE Type; + UINT32 NumBarriers; + union + { + const D3D12_GLOBAL_BARRIER *pGlobalBarriers; + const D3D12_TEXTURE_BARRIER *pTextureBarriers; + const D3D12_BUFFER_BARRIER *pBufferBarriers; + }; +} D3D12_BARRIER_GROUP; + [ uuid(28e2495d-0f64-4ae4-a6ec-129255dc49a8), object,
1
0
0
0
Martin Storsjö : include: Add the ID3D12Tools interface.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: f1c19e34d8669e52ae40e9a882d009a1a6884b9a URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/f1c19e34d8669e52ae40e9a882d00…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:38:05 2023 +0300 include: Add the ID3D12Tools interface. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 4a3bdefb..96fff92e 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4601,6 +4601,18 @@ interface ID3D12VirtualizationGuestDevice : IUnknown int *fence_fd); } +[ + uuid(7071e1f0-e84b-4b33-974f-12fa49de65c5), + object, + local, + pointer_default(unique) +] +interface ID3D12Tools : IUnknown +{ + void EnableShaderInstrumentation(BOOL enable); + BOOL ShaderInstrumentationEnabled(); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
1
0
0
0
Martin Storsjö : include: Add the ID3D12VirtualizationGuestDevice interface.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: e9e9fdbd5e29ffebe098e49634c864ba6f93a9c0 URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/e9e9fdbd5e29ffebe098e49634c86…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:37:31 2023 +0300 include: Add the ID3D12VirtualizationGuestDevice interface. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index ddb9e6c7..4a3bdefb 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4583,6 +4583,24 @@ interface ID3D12Device10 : ID3D12Device9 void **resource); } +[ + uuid(bc66d368-7373-4943-8757-fc87dc79e476), + object, + local, + pointer_default(unique) +] +interface ID3D12VirtualizationGuestDevice : IUnknown +{ + HRESULT ShareWithHost( + ID3D12DeviceChild *object, + HANDLE *handle); + + HRESULT CreateFenceFd( + ID3D12Fence *fence, + UINT64 fence_value, + int *fence_fd); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
1
0
0
0
Martin Storsjö : include: Add the ID3D12Device10 interface.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: 602d2f90d74111b2a9dc715d1928f51122a3c79f URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/602d2f90d74111b2a9dc715d1928f…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:34:45 2023 +0300 include: Add the ID3D12Device10 interface. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 9355429e..ddb9e6c7 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4441,6 +4441,43 @@ typedef struct D3D12_SHADER_CACHE_SESSION_DESC UINT64 Version; } D3D12_SHADER_CACHE_SESSION_DESC; +typedef enum D3D12_BARRIER_LAYOUT +{ + D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff, + D3D12_BARRIER_LAYOUT_COMMON = 0x0, + D3D12_BARRIER_LAYOUT_PRESENT = 0x0, + D3D12_BARRIER_LAYOUT_GENERIC_READ = 0x1, + D3D12_BARRIER_LAYOUT_RENDER_TARGET = 0x2, + D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 0x3, + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 0x4, + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 0x5, + D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 0x6, + D3D12_BARRIER_LAYOUT_COPY_SOURCE = 0x7, + D3D12_BARRIER_LAYOUT_COPY_DEST = 0x8, + D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 0x9, + D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 0xa, + D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 0xb, + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 0xc, + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 0xd, + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 0xe, + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 0xf, + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 0x10, + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 0x11, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 0x12, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 0x13, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 0x14, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 0x15, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 0x16, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 0x17, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 0x18, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 0x19, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 0x1a, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 0x1b, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 0x1c, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 0x1d, + D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = 0x1e, +} D3D12_BARRIER_LAYOUT; + [ uuid(28e2495d-0f64-4ae4-a6ec-129255dc49a8), object, @@ -4504,6 +4541,48 @@ interface ID3D12Device9 : ID3D12Device8 void **command_queue); } +[ + uuid(517f8718-aa66-49f9-b02b-a7ab89c06031), + object, + local, + pointer_default(unique) +] +interface ID3D12Device10 : ID3D12Device9 +{ + HRESULT CreateCommittedResource3( + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid_resource, + void **resource); + + HRESULT CreatePlacedResource2( + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource); + + HRESULT CreateReservedResource2( + const D3D12_RESOURCE_DESC *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
1
0
0
0
Martin Storsjö : include: Add the ID3D12Device9 interface.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: 891c6d27437cf88f6190dd2f1f44189fb34d5632 URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/891c6d27437cf88f6190dd2f1f441…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:33:44 2023 +0300 include: Add the ID3D12Device9 interface. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 0d55c7dd..9355429e 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4464,6 +4464,46 @@ interface ID3D12ShaderCacheSession : ID3D12DeviceChild D3D12_SHADER_CACHE_SESSION_DESC GetDesc(); } +typedef enum D3D12_SHADER_CACHE_KIND_FLAGS +{ + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1, + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2, + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4, + D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8, +} D3D12_SHADER_CACHE_KIND_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_KIND_FLAGS);") + +typedef enum D3D12_SHADER_CACHE_CONTROL_FLAGS +{ + D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1, + D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2, + D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4, +} D3D12_SHADER_CACHE_CONTROL_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_CONTROL_FLAGS);") + +[ + uuid(4c80e962-f032-4f60-bc9e-ebc2cfa1d83c), + object, + local, + pointer_default(unique) +] +interface ID3D12Device9 : ID3D12Device8 +{ + HRESULT CreateShaderCacheSession( + const D3D12_SHADER_CACHE_SESSION_DESC *desc, + REFIID riid, void **session); + + HRESULT ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS control); + + HRESULT CreateCommandQueue1( + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID creator_id, + REFIID riid, + void **command_queue); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
1
0
0
0
Martin Storsjö : include: Add the ID3D12ShaderCacheSession interface.
by Alexandre Julliard
13 Sep '23
13 Sep '23
Module: vkd3d Branch: master Commit: 77819d8d04469bb3fa30a8d4713a7dd808762ddb URL:
https://gitlab.winehq.org/wine/vkd3d/-/commit/77819d8d04469bb3fa30a8d4713a7…
Author: Martin Storsjö <martin(a)martin.st> Date: Wed Sep 6 18:32:31 2023 +0300 include: Add the ID3D12ShaderCacheSession interface. Signed-off-by: Martin Storsjö <martin(a)martin.st> --- include/vkd3d_d3d12.idl | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index ab57cb3b..0d55c7dd 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -4413,6 +4413,57 @@ interface ID3D12GraphicsCommandList4 : ID3D12GraphicsCommandList3 void DispatchRays(const D3D12_DISPATCH_RAYS_DESC *desc); } +typedef enum D3D12_SHADER_CACHE_MODE +{ + D3D12_SHADER_CACHE_MODE_MEMORY = 0x0, + D3D12_SHADER_CACHE_MODE_DISK = 0x1, +} D3D12_SHADER_CACHE_MODE; + +typedef enum D3D12_SHADER_CACHE_FLAGS +{ + D3D12_SHADER_CACHE_FLAG_NONE = 0x0, + D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1, + D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2, +} D3D12_SHADER_CACHE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_FLAGS);") + +typedef struct D3D12_SHADER_CACHE_SESSION_DESC +{ + GUID Identifier; + D3D12_SHADER_CACHE_MODE Mode; + D3D12_SHADER_CACHE_FLAGS Flags; + + UINT MaximumInMemoryCacheSizeBytes; + UINT MaximumInMemoryCacheEntries; + + UINT MaximumValueFileSizeBytes; + + UINT64 Version; +} D3D12_SHADER_CACHE_SESSION_DESC; + +[ + uuid(28e2495d-0f64-4ae4-a6ec-129255dc49a8), + object, + local, + pointer_default(unique) +] +interface ID3D12ShaderCacheSession : ID3D12DeviceChild +{ + HRESULT FindValue( + const void *key, + UINT key_size, + void *value, + UINT *value_size); + HRESULT StoreValue( + const void *key, + UINT key_size, + const void *value, + UINT value_size); + + void SetDeleteOnDestroy(); + D3D12_SHADER_CACHE_SESSION_DESC GetDesc(); +} + typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
1
0
0
0
← Newer
1
...
51
52
53
54
55
56
57
...
92
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Results per page:
10
25
50
100
200