From 8d04efcc6772e074d9f148bfedd7e426e794ccbc Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Mon, 6 Nov 2023 09:59:43 -0800 Subject: [PATCH] d3d12: Disable common state promotion for non-simultaneous-access textures Work around a debug layer crash when mixing enhanced barrier layout with non-enhanced barrier states. Part-of: --- src/gallium/drivers/d3d12/d3d12_resource_state.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/gallium/drivers/d3d12/d3d12_resource_state.cpp b/src/gallium/drivers/d3d12/d3d12_resource_state.cpp index 45a01a717f5..970c6ec4571 100644 --- a/src/gallium/drivers/d3d12/d3d12_resource_state.cpp +++ b/src/gallium/drivers/d3d12/d3d12_resource_state.cpp @@ -153,12 +153,7 @@ resource_state_if_promoted(D3D12_RESOURCE_STATES desired_state, bool simultaneous_access, const d3d12_subresource_state *current_state) { - const D3D12_RESOURCE_STATES promotable_states = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE | - D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE | - D3D12_RESOURCE_STATE_COPY_SOURCE | D3D12_RESOURCE_STATE_COPY_DEST; - - if (simultaneous_access || - (desired_state & promotable_states) != D3D12_RESOURCE_STATE_COMMON) { + if (simultaneous_access) { // If the current state is COMMON... if (current_state->state == D3D12_RESOURCE_STATE_COMMON) // ...then promotion is allowed