tests/shader_runner_d3d12: Do not leave a root signature around between draw calls.

Since it's always recreated anyway.
This commit is contained in:
Giovanni Mascellani
2025-11-12 15:04:31 +01:00
committed by Henri Verbeet
parent c50210f230
commit 544a0d1631
Notes: Henri Verbeet 2025-11-20 18:37:14 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1833

View File

@@ -823,8 +823,6 @@ static bool d3d12_runner_draw(struct shader_runner *r, D3D_PRIMITIVE_TOPOLOGY pr
return false; return false;
} }
if (test_context->root_signature)
ID3D12RootSignature_Release(test_context->root_signature);
test_context->root_signature = d3d12_runner_create_root_signature(runner, test_context->root_signature = d3d12_runner_create_root_signature(runner,
queue, test_context->allocator, command_list, &uniform_index); queue, test_context->allocator, command_list, &uniform_index);
@@ -842,7 +840,11 @@ static bool d3d12_runner_draw(struct shader_runner *r, D3D_PRIMITIVE_TOPOLOGY pr
ID3D10Blob_Release(gs_code); ID3D10Blob_Release(gs_code);
if (!pso) if (!pso)
{
ID3D12RootSignature_Release(test_context->root_signature);
test_context->root_signature = NULL;
return false; return false;
}
add_pso(test_context, pso); add_pso(test_context, pso);
@@ -928,6 +930,10 @@ static bool d3d12_runner_draw(struct shader_runner *r, D3D_PRIMITIVE_TOPOLOGY pr
wait_queue_idle(device, queue); wait_queue_idle(device, queue);
reset_command_list(command_list, test_context->allocator); reset_command_list(command_list, test_context->allocator);
if (test_context->root_signature)
ID3D12RootSignature_Release(test_context->root_signature);
test_context->root_signature = NULL;
return true; return true;
} }