diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-01-23 07:58:35 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-01-23 07:59:59 +0100 |
commit | 37ef2ee595ac2a2b08053d5544d7efbc6627ab65 (patch) | |
tree | 2f7c3fcdecd346c821b8aca9e42cc613ed157ca7 /src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |
parent | Merge pull request #4713 from behunin/int-flags (diff) | |
download | yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar.gz yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar.bz2 yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar.lz yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar.xz yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.tar.zst yuzu-37ef2ee595ac2a2b08053d5544d7efbc6627ab65.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 02282e36f..8991505ca 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -355,14 +355,12 @@ VKPipelineCache::DecompileShaders(const FixedPipelineState& fixed_state) { SPIRVProgram program; std::vector<VkDescriptorSetLayoutBinding> bindings; - for (std::size_t index = 0; index < Maxwell::MaxShaderProgram; ++index) { + for (std::size_t index = 1; index < Maxwell::MaxShaderProgram; ++index) { const auto program_enum = static_cast<Maxwell::ShaderProgram>(index); - // Skip stages that are not enabled if (!maxwell3d.regs.IsShaderConfigEnabled(index)) { continue; } - const GPUVAddr gpu_addr = GetShaderAddress(maxwell3d, program_enum); const std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr); Shader* const shader = cpu_addr ? TryGet(*cpu_addr) : null_shader.get(); @@ -372,12 +370,8 @@ VKPipelineCache::DecompileShaders(const FixedPipelineState& fixed_state) { const auto& entries = shader->GetEntries(); program[stage] = { Decompile(device, shader->GetIR(), program_type, shader->GetRegistry(), specialization), - entries}; - - if (program_enum == Maxwell::ShaderProgram::VertexA) { - // VertexB was combined with VertexA, so we skip the VertexB iteration - ++index; - } + entries, + }; const u32 old_binding = specialization.base_binding; specialization.base_binding = |