vk: Spec fixups
- Forgot to update descriptor pool init sizes over time - Also clamp swapchain resources to allowable surface extents
This commit is contained in:
@@ -634,8 +634,8 @@ VKGSRender::VKGSRender() : GSRender()
|
|||||||
m_occlusion_query_data[n].driver_handle = n;
|
m_occlusion_query_data[n].driver_handle = n;
|
||||||
|
|
||||||
//Generate frame contexts
|
//Generate frame contexts
|
||||||
VkDescriptorPoolSize uniform_buffer_pool = { VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER , 3 * DESCRIPTOR_MAX_DRAW_CALLS };
|
VkDescriptorPoolSize uniform_buffer_pool = { VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER , 6 * DESCRIPTOR_MAX_DRAW_CALLS };
|
||||||
VkDescriptorPoolSize uniform_texel_pool = { VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER , 16 * DESCRIPTOR_MAX_DRAW_CALLS };
|
VkDescriptorPoolSize uniform_texel_pool = { VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER , 2 * DESCRIPTOR_MAX_DRAW_CALLS };
|
||||||
VkDescriptorPoolSize texture_pool = { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER , 20 * DESCRIPTOR_MAX_DRAW_CALLS };
|
VkDescriptorPoolSize texture_pool = { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER , 20 * DESCRIPTOR_MAX_DRAW_CALLS };
|
||||||
|
|
||||||
std::vector<VkDescriptorPoolSize> sizes{ uniform_buffer_pool, uniform_texel_pool, texture_pool };
|
std::vector<VkDescriptorPoolSize> sizes{ uniform_buffer_pool, uniform_texel_pool, texture_pool };
|
||||||
@@ -2690,7 +2690,7 @@ void VKGSRender::load_program_env()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_fragment_constants_buffer_info = { m_fragment_constants_ring_info.heap->value, 0, VK_WHOLE_SIZE };
|
m_fragment_constants_buffer_info = { m_fragment_constants_ring_info.heap->value, 0, 32 };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1946,8 +1946,8 @@ public:
|
|||||||
swap_info.oldSwapchain = old_swapchain;
|
swap_info.oldSwapchain = old_swapchain;
|
||||||
swap_info.clipped = true;
|
swap_info.clipped = true;
|
||||||
|
|
||||||
swap_info.imageExtent.width = m_width;
|
swap_info.imageExtent.width = std::max(m_width, surface_descriptors.minImageExtent.width);
|
||||||
swap_info.imageExtent.height = m_height;
|
swap_info.imageExtent.height = std::max(m_height, surface_descriptors.minImageExtent.height);
|
||||||
|
|
||||||
createSwapchainKHR(dev, &swap_info, nullptr, &m_vk_swapchain);
|
createSwapchainKHR(dev, &swap_info, nullptr, &m_vk_swapchain);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user