Merge pull request #9130 from flto/master

Vulkan: fix validation error in bSupportsGeometryShaders=false case
This commit is contained in:
Léo Lam 2020-11-20 12:35:40 +01:00 committed by GitHub
commit 1d4672455c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -542,7 +542,10 @@ bool StateTracker::UpdateGXDescriptorSet()
g_ActiveConfig.backend_info.bSupportsBBox ? g_ActiveConfig.backend_info.bSupportsBBox ?
NUM_GX_DESCRIPTOR_SETS : NUM_GX_DESCRIPTOR_SETS :
(NUM_GX_DESCRIPTOR_SETS - 1), (NUM_GX_DESCRIPTOR_SETS - 1),
m_gx_descriptor_sets.data(), NUM_UBO_DESCRIPTOR_SET_BINDINGS, m_gx_descriptor_sets.data(),
g_ActiveConfig.backend_info.bSupportsGeometryShaders ?
NUM_UBO_DESCRIPTOR_SET_BINDINGS :
(NUM_UBO_DESCRIPTOR_SET_BINDINGS - 1),
m_bindings.gx_ubo_offsets.data()); m_bindings.gx_ubo_offsets.data());
m_dirty_flags &= ~(DIRTY_FLAG_DESCRIPTOR_SETS | DIRTY_FLAG_GX_UBO_OFFSETS); m_dirty_flags &= ~(DIRTY_FLAG_DESCRIPTOR_SETS | DIRTY_FLAG_GX_UBO_OFFSETS);
} }
@ -550,7 +553,10 @@ bool StateTracker::UpdateGXDescriptorSet()
{ {
vkCmdBindDescriptorSets(g_command_buffer_mgr->GetCurrentCommandBuffer(), vkCmdBindDescriptorSets(g_command_buffer_mgr->GetCurrentCommandBuffer(),
VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipeline->GetVkPipelineLayout(), 0, VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipeline->GetVkPipelineLayout(), 0,
1, m_gx_descriptor_sets.data(), NUM_UBO_DESCRIPTOR_SET_BINDINGS, 1, m_gx_descriptor_sets.data(),
g_ActiveConfig.backend_info.bSupportsGeometryShaders ?
NUM_UBO_DESCRIPTOR_SET_BINDINGS :
(NUM_UBO_DESCRIPTOR_SET_BINDINGS - 1),
m_bindings.gx_ubo_offsets.data()); m_bindings.gx_ubo_offsets.data());
m_dirty_flags &= ~DIRTY_FLAG_GX_UBO_OFFSETS; m_dirty_flags &= ~DIRTY_FLAG_GX_UBO_OFFSETS;
} }