Fix license header + removal of ternary on depth stencil routes for msaa uploads

This commit is contained in:
CamilleLaVey
2026-08-17 17:57:13 -04:00
parent 26044e18e1
commit 4244a6418d
8 changed files with 43 additions and 19 deletions
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
@@ -1607,11 +1607,11 @@ void BlitImageHelper::CopyMSAADepth(RenderPassCache& render_pass_cache, VkImage
MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, true, src_format).format; MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, true, src_format).format;
const VkFormat dst_vk_format = const VkFormat dst_vk_format =
MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, true, dst_format).format; MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, true, dst_format).format;
const VkImageAspectFlags attachment_aspect = VkImageAspectFlags attachment_aspect = VK_IMAGE_ASPECT_DEPTH_BIT;
VideoCore::Surface::GetFormatType(dst_format) == if (VideoCore::Surface::GetFormatType(dst_format) ==
VideoCore::Surface::SurfaceType::DepthStencil VideoCore::Surface::SurfaceType::DepthStencil) {
? VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT attachment_aspect |= VK_IMAGE_ASPECT_STENCIL_BIT;
: VK_IMAGE_ASPECT_DEPTH_BIT; }
for (const VideoCommon::ImageCopy& copy : copies) { for (const VideoCommon::ImageCopy& copy : copies) {
ASSERT(copy.src_subresource.base_layer == 0); ASSERT(copy.src_subresource.base_layer == 0);
ASSERT(copy.src_subresource.num_layers == 1); ASSERT(copy.src_subresource.num_layers == 1);
@@ -1062,10 +1062,14 @@ void BlockLinearUnswizzle2DPass::Unswizzle(
.layerCount = VK_REMAINING_ARRAY_LAYERS, .layerCount = VK_REMAINING_ARRAY_LAYERS,
}, },
}; };
cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VkPipelineStageFlags pre_copy_src_stages = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
(is_initialized ? vk::PIPELINE_STAGE_GRAPHICS_COMPUTE if (is_initialized) {
: VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT), pre_copy_src_stages |= vk::PIPELINE_STAGE_GRAPHICS_COMPUTE;
VK_PIPELINE_STAGE_TRANSFER_BIT, 0, {}, buffer_barrier, pre_copy); } else {
pre_copy_src_stages |= VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
}
cmdbuf.PipelineBarrier(pre_copy_src_stages, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, {},
buffer_barrier, pre_copy);
const VkBufferImageCopy copy{ const VkBufferImageCopy copy{
.bufferOffset = out_offset, .bufferOffset = out_offset,
@@ -1306,10 +1310,14 @@ void BlockLinearUnswizzle3DBufferPass::Unswizzle(
.layerCount = VK_REMAINING_ARRAY_LAYERS, .layerCount = VK_REMAINING_ARRAY_LAYERS,
}, },
}; };
cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VkPipelineStageFlags pre_copy_src_stages = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
(is_initialized ? vk::PIPELINE_STAGE_GRAPHICS_COMPUTE if (is_initialized) {
: VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT), pre_copy_src_stages |= vk::PIPELINE_STAGE_GRAPHICS_COMPUTE;
VK_PIPELINE_STAGE_TRANSFER_BIT, 0, {}, buffer_barrier, pre_copy); } else {
pre_copy_src_stages |= VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
}
cmdbuf.PipelineBarrier(pre_copy_src_stages, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, {},
buffer_barrier, pre_copy);
const VkBufferImageCopy copy{ const VkBufferImageCopy copy{
.bufferOffset = out_offset, .bufferOffset = out_offset,
@@ -1903,12 +1903,13 @@ void Image::UploadMemory(VkBuffer buffer, VkDeviceSize offset,
const bool msaa_upload_copies_stencil = const bool msaa_upload_copies_stencil =
msaa_upload_is_depth && (aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT) != 0 && msaa_upload_is_depth && (aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT) != 0 &&
runtime->device.IsExtShaderStencilExportSupported(); runtime->device.IsExtShaderStencilExportSupported();
const VkImageAspectFlags upload_aspect_mask = VkImageAspectFlags upload_aspect_mask = aspect_mask;
msaa_upload_is_depth if (msaa_upload_is_depth) {
? (msaa_upload_copies_stencil upload_aspect_mask = VK_IMAGE_ASPECT_DEPTH_BIT;
? VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT if (msaa_upload_copies_stencil) {
: VK_IMAGE_ASPECT_DEPTH_BIT) upload_aspect_mask |= VK_IMAGE_ASPECT_STENCIL_BIT;
: aspect_mask; }
}
ImageInfo temp_info = info; ImageInfo temp_info = info;
temp_info.num_samples = 1; temp_info.num_samples = 1;
+3
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later