From 414c7bd825779a09c8410cc88e2f704581b6bdd6 Mon Sep 17 00:00:00 2001 From: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com> Date: Wed, 3 Jul 2024 14:48:58 +0300 Subject: [PATCH] video_core: Fix regressions --- src/video_core/renderer_vulkan/liverpool_to_vk.cpp | 4 ++-- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 3 +++ src/video_core/texture_cache/texture_cache.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/video_core/renderer_vulkan/liverpool_to_vk.cpp b/src/video_core/renderer_vulkan/liverpool_to_vk.cpp index e3679d4f..da7f49f0 100644 --- a/src/video_core/renderer_vulkan/liverpool_to_vk.cpp +++ b/src/video_core/renderer_vulkan/liverpool_to_vk.cpp @@ -291,11 +291,11 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu } if (data_format == AmdGpu::DataFormat::Format8_8_8_8 && num_format == AmdGpu::NumberFormat::Unorm) { - return vk::Format::eB8G8R8A8Unorm; + return vk::Format::eR8G8B8A8Unorm; } if (data_format == AmdGpu::DataFormat::Format8_8_8_8 && num_format == AmdGpu::NumberFormat::Srgb) { - return vk::Format::eB8G8R8A8Srgb; + return vk::Format::eR8G8B8A8Srgb; } if (data_format == AmdGpu::DataFormat::Format32_32_32 && num_format == AmdGpu::NumberFormat::Float) { diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 58765a5f..bea2b020 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -305,6 +305,9 @@ std::unique_ptr PipelineCache::CreateComputePipeline() { DumpShader(spv_code, compute_key, Shader::Stage::Compute, "spv"); } const auto module = CompileSPV(spv_code, instance.GetDevice()); + // Set module name to hash in renderdoc + const auto name = fmt::format("cs_{:#x}", compute_key); + Vulkan::SetObjectName(instance.GetDevice(), module, name); return std::make_unique(instance, scheduler, *pipeline_cache, &program.info, module); } catch (const Shader::Exception& e) { diff --git a/src/video_core/texture_cache/texture_cache.cpp b/src/video_core/texture_cache/texture_cache.cpp index 0a10fa80..1b32d691 100644 --- a/src/video_core/texture_cache/texture_cache.cpp +++ b/src/video_core/texture_cache/texture_cache.cpp @@ -402,7 +402,7 @@ void TextureCache::UpdatePagesCachedCount(VAddr addr, u64 size, s32 delta) { const u32 interval_size = interval_end_addr - interval_start_addr; void* addr = reinterpret_cast(interval_start_addr); if (delta > 0 && count == delta) { - //mprotect(addr, interval_size, PAGE_READONLY); + mprotect(addr, interval_size, PAGE_READONLY); } else if (delta < 0 && count == -delta) { mprotect(addr, interval_size, PAGE_READWRITE); } else {