Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HansKristian-Work/vkd3d-proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2022-11-07 15:29:53 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2022-11-07 16:27:46 +0300
commitd633c56ede9e03e3c78325546f3401a71fb3e2ab (patch)
treebad88abf9a5ef135fe5e3a1c297c2e242f0fd9a8
parent96bda89e436b38d430b5cede93baa039d7360183 (diff)
vkd3d: Handle private root signature for mesh shader.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
-rw-r--r--libs/vkd3d/state.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/vkd3d/state.c b/libs/vkd3d/state.c
index 074cf182..adbadfe8 100644
--- a/libs/vkd3d/state.c
+++ b/libs/vkd3d/state.c
@@ -4081,10 +4081,17 @@ static HRESULT d3d12_pipeline_create_private_root_signature(struct d3d12_device
VkPipelineBindPoint bind_point, const struct d3d12_pipeline_state_desc *desc,
struct d3d12_root_signature **root_signature)
{
- const struct D3D12_SHADER_BYTECODE *bytecode = bind_point == VK_PIPELINE_BIND_POINT_GRAPHICS ? &desc->vs : &desc->cs;
+ const struct D3D12_SHADER_BYTECODE *bytecode;
ID3D12RootSignature *object = NULL;
HRESULT hr;
+ if (bind_point == VK_PIPELINE_BIND_POINT_COMPUTE)
+ bytecode = &desc->cs;
+ else if (desc->ms.BytecodeLength)
+ bytecode = &desc->ms;
+ else
+ bytecode = &desc->vs;
+
if (!bytecode->BytecodeLength)
return E_INVALIDARG;