VulkanDevice: Add barrier inbetween self image copies

This commit is contained in:
Stenzek 2023-12-01 19:08:35 +10:00
parent d43efebcc5
commit 3469b83a58
No known key found for this signature in database
2 changed files with 3 additions and 2 deletions

View file

@ -1668,7 +1668,7 @@ void MainWindow::setupAdditionalUi()
m_ui.menuSettingsLanguage->addAction(action); m_ui.menuSettingsLanguage->addAction(action);
action->setData(QString::fromLatin1(code)); action->setData(QString::fromLatin1(code));
connect(action, &QAction::triggered, [this, action]() { connect(action, &QAction::triggered, [action]() {
const QString new_language = action->data().toString(); const QString new_language = action->data().toString();
Host::ChangeLanguage(new_language.toUtf8().constData()); Host::ChangeLanguage(new_language.toUtf8().constData());
}); });

View file

@ -473,7 +473,8 @@ void VulkanTexture::TransitionToLayout(Layout layout)
void VulkanTexture::TransitionToLayout(VkCommandBuffer command_buffer, Layout new_layout) void VulkanTexture::TransitionToLayout(VkCommandBuffer command_buffer, Layout new_layout)
{ {
if (m_layout == new_layout) // Need a barrier inbetween multiple self transfers.
if (m_layout == new_layout && new_layout != Layout::TransferSelf)
return; return;
TransitionSubresourcesToLayout(command_buffer, 0, m_layers, 0, m_levels, m_layout, new_layout); TransitionSubresourcesToLayout(command_buffer, 0, m_layers, 0, m_levels, m_layout, new_layout);