summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-24 20:22:58 +0100
committerGitHub <noreply@github.com>2021-01-24 20:22:58 +0100
commit19c14589d36d0ca2e5cc3fad06393d8b43b530d4 (patch)
tree287e495782d37d8d66926022642a90cab4d099aa /src/video_core
parentMerge pull request #5808 from ReinUsesLisp/glslang-quiet (diff)
parentvk_pipeline_cache: Properly bypass VertexA shaders (diff)
downloadyuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar.gz
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar.bz2
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar.lz
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar.xz
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.tar.zst
yuzu-19c14589d36d0ca2e5cc3fad06393d8b43b530d4.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp12
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 =