mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-13 07:49:19 +01:00
Merge pull request #5258 from stenzek/vulkan-out-of-range-clear
Vulkan: Fix incorrect render pass for out-of-range clears
This commit is contained in:
commit
2a91b2a4dd
@ -91,8 +91,8 @@ bool CommandBufferManager::CreateCommandBuffers()
|
|||||||
VkDescriptorPoolSize pool_sizes[] = {{VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 500000},
|
VkDescriptorPoolSize pool_sizes[] = {{VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 500000},
|
||||||
{VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 500000},
|
{VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 500000},
|
||||||
{VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 16},
|
{VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 16},
|
||||||
{VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, 1024},
|
{VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, 16384},
|
||||||
{VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1024}};
|
{VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 16384}};
|
||||||
|
|
||||||
VkDescriptorPoolCreateInfo pool_create_info = {VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
|
VkDescriptorPoolCreateInfo pool_create_info = {VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
|
||||||
nullptr,
|
nullptr,
|
||||||
|
@ -332,6 +332,11 @@ void Renderer::ClearScreen(const EFBRectangle& rc, bool color_enable, bool alpha
|
|||||||
{
|
{
|
||||||
// Native -> EFB coordinates
|
// Native -> EFB coordinates
|
||||||
TargetRectangle target_rc = Renderer::ConvertEFBRectangle(rc);
|
TargetRectangle target_rc = Renderer::ConvertEFBRectangle(rc);
|
||||||
|
|
||||||
|
// Size we pass this size to vkBeginRenderPass, it has to be clamped to the framebuffer
|
||||||
|
// dimensions. The other backends just silently ignore this case.
|
||||||
|
target_rc.ClampUL(0, 0, m_target_width, m_target_height);
|
||||||
|
|
||||||
VkRect2D target_vk_rc = {
|
VkRect2D target_vk_rc = {
|
||||||
{target_rc.left, target_rc.top},
|
{target_rc.left, target_rc.top},
|
||||||
{static_cast<uint32_t>(target_rc.GetWidth()), static_cast<uint32_t>(target_rc.GetHeight())}};
|
{static_cast<uint32_t>(target_rc.GetWidth()), static_cast<uint32_t>(target_rc.GetHeight())}};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user