Compare commits

...
2 Commits
2 changed files with 12 additions and 8 deletions
+3 -3
View File
@@ -12638,12 +12638,12 @@ This action cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="2847"/>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="2849"/>
<source>Stencil buffers and texture barriers are both unavailable, this will break some graphical effects.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="5308"/>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="5312"/>
<source>Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow.</source>
<translation type="unfinished"></translation>
</message>
@@ -12738,7 +12738,7 @@ Please see our official documentation for more information.</source>
<context>
<name>GSDeviceVK</name>
<message>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="2177"/>
<location filename="../../pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp" line="2179"/>
<source>Your GPU does not support the required Vulkan features.</source>
<translation type="unfinished"></translation>
</message>
+9 -5
View File
@@ -1657,9 +1657,11 @@ VkRenderPass GSDeviceVK::CreateCachedRenderPass(RenderPassCacheKey key)
if (key.depth_format != VK_FORMAT_UNDEFINED)
{
const VkImageLayout layout =
key.depth_sampling ? (UseFeedbackLoopLayout() ? VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT :
VK_IMAGE_LAYOUT_GENERAL) :
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
key.depth_sampling ?
((m_features.depth_feedback && UseFeedbackLoopLayout()) ?
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT :
VK_IMAGE_LAYOUT_GENERAL) :
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
attachments[num_attachments] = {0, static_cast<VkFormat>(key.depth_format), VK_SAMPLE_COUNT_1_BIT,
static_cast<VkAttachmentLoadOp>(key.depth_load_op), static_cast<VkAttachmentStoreOp>(key.depth_store_op),
static_cast<VkAttachmentLoadOp>(key.stencil_load_op),
@@ -3757,12 +3759,14 @@ void GSDeviceVK::OMSetRenderTargets(
}
else if (feedback_loop & FeedbackLoopFlag_ReadDepth)
{
if (vkDs->GetLayout() != GSTextureVK::Layout::FeedbackLoop)
const GSTextureVK::Layout layout = m_features.depth_feedback ?
GSTextureVK::Layout::FeedbackLoop : GSTextureVK::Layout::General;
if (vkDs->GetLayout() != layout)
{
m_dirty_flags |= (DIRTY_FLAG_TFX_TEXTURE_0 << TFX_TEXTURE_TEXTURE);
if (m_tfx_textures[TFX_TEXTURE_TEXTURE] == vkDs)
m_dirty_flags |= DIRTY_FLAG_TFX_TEXTURE_0 << TFX_TEXTURE_TEXTURE;
vkDs->TransitionToLayout(GSTextureVK::Layout::FeedbackLoop);
vkDs->TransitionToLayout(layout);
}
}
else