diff options
| author | Sssnowyyy <78863999+Sssnowyyy@users.noreply.github.com> | 2026-10-30 20:47:12 -0400 |
|---|---|---|
| committer | Sssnowyyy <78863999+Sssnowyyy@users.noreply.github.com> | 2026-10-31 18:16:44 -0400 |
| commit | f61ea2a62d92c2a1d7ec740b34eb7491cac36215 (patch) | |
| tree | a5503968722b754bcceacb7ac006b1bf92622e51 /src | |
| parent | b8813c6797fc9cb00caa834b112668a7161e2b10 (diff) | |
vk_pipeline_cache: skip unused colour targets when picking MoltenVK output types
The MoltenVK output-type loop converted all eight colour formats,
including unbound ones (NONE), which logged 'Unimplemented format=0'
for each empty slot.
Assisted-by: Claude Opus 5.5 (code changes, debugging and commit message)
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 2c64f3375b..05511c10e1 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -256,6 +256,10 @@ Shader::RuntimeInfo MakeRuntimeInfo(std::span<const Shader::IR::Program> program if (device.IsMoltenVK()) { for (size_t i = 0; i < 8; ++i) { const auto format = static_cast<Tegra::RenderTargetFormat>(key.state.color_formats[i]); + if (format == Tegra::RenderTargetFormat::NONE) { + info.color_output_types[i] = Shader::AttributeType::Float; + continue; + } const auto pixel_format = VideoCore::Surface::PixelFormatFromRenderTargetFormat(format); if (VideoCore::Surface::IsPixelFormatInteger(pixel_format)) { if (VideoCore::Surface::IsPixelFormatSignedInteger(pixel_format)) { |
