early-access version 1360

This commit is contained in:
pineappleEA 2021-01-23 09:30:01 +01:00
parent 66b7711596
commit 0b9f90d2c9
2 changed files with 4 additions and 10 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 1359. This is the source code for early-access 1360.
## Legal Notice ## Legal Notice

View file

@ -355,14 +355,12 @@ VKPipelineCache::DecompileShaders(const FixedPipelineState& fixed_state) {
SPIRVProgram program; SPIRVProgram program;
std::vector<VkDescriptorSetLayoutBinding> bindings; 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); const auto program_enum = static_cast<Maxwell::ShaderProgram>(index);
// Skip stages that are not enabled // Skip stages that are not enabled
if (!maxwell3d.regs.IsShaderConfigEnabled(index)) { if (!maxwell3d.regs.IsShaderConfigEnabled(index)) {
continue; continue;
} }
const GPUVAddr gpu_addr = GetShaderAddress(maxwell3d, program_enum); const GPUVAddr gpu_addr = GetShaderAddress(maxwell3d, program_enum);
const std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr); const std::optional<VAddr> cpu_addr = gpu_memory.GpuToCpuAddress(gpu_addr);
Shader* const shader = cpu_addr ? TryGet(*cpu_addr) : null_shader.get(); 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(); const auto& entries = shader->GetEntries();
program[stage] = { program[stage] = {
Decompile(device, shader->GetIR(), program_type, shader->GetRegistry(), specialization), Decompile(device, shader->GetIR(), program_type, shader->GetRegistry(), specialization),
entries}; entries,
};
if (program_enum == Maxwell::ShaderProgram::VertexA) {
// VertexB was combined with VertexA, so we skip the VertexB iteration
++index;
}
const u32 old_binding = specialization.base_binding; const u32 old_binding = specialization.base_binding;
specialization.base_binding = specialization.base_binding =