Vulkan: Don't bind last descriptor set if bounding box is unsupported
Fixes crash on a4xx/Vulkan.
This commit is contained in:
parent
c6f151c4e1
commit
ee0fa548bc
|
@ -767,7 +767,9 @@ bool StateTracker::UpdateGXDescriptorSet()
|
|||
if (num_writes > 0)
|
||||
vkUpdateDescriptorSets(g_vulkan_context->GetDevice(), num_writes, writes.data(), 0, nullptr);
|
||||
|
||||
m_num_active_descriptor_sets = NUM_GX_DRAW_DESCRIPTOR_SETS;
|
||||
m_num_active_descriptor_sets = g_vulkan_context->SupportsBoundingBox() ?
|
||||
NUM_GX_DRAW_DESCRIPTOR_SETS_SSBO :
|
||||
NUM_GX_DRAW_DESCRIPTOR_SETS;
|
||||
m_num_dynamic_offsets = NUM_UBO_DESCRIPTOR_SET_BINDINGS;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -103,7 +103,8 @@ private:
|
|||
// Number of descriptor sets for game draws.
|
||||
enum
|
||||
{
|
||||
NUM_GX_DRAW_DESCRIPTOR_SETS = DESCRIPTOR_SET_BIND_POINT_STORAGE_OR_TEXEL_BUFFER + 1,
|
||||
NUM_GX_DRAW_DESCRIPTOR_SETS = DESCRIPTOR_SET_BIND_POINT_PIXEL_SHADER_SAMPLERS + 1,
|
||||
NUM_GX_DRAW_DESCRIPTOR_SETS_SSBO = DESCRIPTOR_SET_BIND_POINT_STORAGE_OR_TEXEL_BUFFER + 1,
|
||||
NUM_UTILITY_DRAW_DESCRIPTOR_SETS = 2
|
||||
};
|
||||
|
||||
|
@ -192,4 +193,4 @@ private:
|
|||
std::vector<u32> m_scheduled_command_buffer_kicks;
|
||||
bool m_allow_background_execution = true;
|
||||
};
|
||||
}
|
||||
} // namespace Vulkan
|
||||
|
|
Loading…
Reference in New Issue