@ -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 =