diff options
Diffstat (limited to 'src/video_core')
| -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 = | 
