diff --git a/GPU/Common/PresentationCommon.cpp b/GPU/Common/PresentationCommon.cpp index 756bce087331..b4e05d8d50bb 100644 --- a/GPU/Common/PresentationCommon.cpp +++ b/GPU/Common/PresentationCommon.cpp @@ -235,19 +235,11 @@ bool PresentationCommon::UpdatePostShader() { const ShaderInfo *stereoShaderInfo = GetPostShaderInfo(g_Config.sStereoToMonoShader); if (stereoShaderInfo) { bool result = CompilePostShader(stereoShaderInfo, &stereoPipeline_); - if (!result) { - // We won't have a stereo shader. We have to check for this later. - delete stereoShaderInfo_; - stereoShaderInfo_ = nullptr; - stereoPipeline_ = nullptr; - } else { + if (result) { stereoShaderInfo_ = new ShaderInfo(*stereoShaderInfo); } } else { - // We won't have a stereo shader. We have to check for this later. - delete stereoShaderInfo_; - stereoShaderInfo_ = nullptr; - stereoPipeline_ = nullptr; + WARN_LOG(G3D, "Failed to get info about stereo shader '%s'", g_Config.sStereoToMonoShader.c_str()); } } diff --git a/GPU/Vulkan/VulkanUtil.cpp b/GPU/Vulkan/VulkanUtil.cpp index 27149b2be123..fbfb8ad3fa1b 100644 --- a/GPU/Vulkan/VulkanUtil.cpp +++ b/GPU/Vulkan/VulkanUtil.cpp @@ -85,14 +85,14 @@ void VulkanComputeShaderManager::InitDeviceObjects(Draw::DrawContext *draw) { std::vector dpTypes; dpTypes.resize(2); - dpTypes[0].descriptorCount = 4096; + dpTypes[0].descriptorCount = 8192; dpTypes[0].type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; - dpTypes[1].descriptorCount = 2048; + dpTypes[1].descriptorCount = 4096; dpTypes[1].type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE; VkDescriptorPoolCreateInfo dp = { VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO }; dp.flags = 0; // Don't want to mess around with individually freeing these, let's go fixed each frame and zap the whole array. Might try the dynamic approach later. - dp.maxSets = 2048; // GTA can end up creating more than 1000 textures in the first frame! + dp.maxSets = 4096; // GTA can end up creating more than 1000 textures in the first frame! for (int i = 0; i < ARRAY_SIZE(frameData_); i++) { frameData_[i].descPool.Create(vulkan_, dp, dpTypes);