summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-03 20:53:00 -0300
committerGravatar ameerj2021-07-22 21:51:30 -0400
commitbed090807afd3364ed6ef18a031a0ffd95a1b89b (patch)
tree50035e78e75e7237e4cafcf181eb0b3a2f172912 /src/video_core/renderer_vulkan
parentshader: Optimize NVN Fallthrough (diff)
downloadyuzu-bed090807afd3364ed6ef18a031a0ffd95a1b89b.tar.gz
yuzu-bed090807afd3364ed6ef18a031a0ffd95a1b89b.tar.xz
yuzu-bed090807afd3364ed6ef18a031a0ffd95a1b89b.zip
Move SPIR-V emission functions to their own header
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index 30b71bdbc..a5edcd072 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -315,8 +315,9 @@ std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
315 std::array<const Shader::Info*, Maxwell::MaxShaderStage> infos{}; 315 std::array<const Shader::Info*, Maxwell::MaxShaderStage> infos{};
316 std::array<vk::ShaderModule, Maxwell::MaxShaderStage> modules; 316 std::array<vk::ShaderModule, Maxwell::MaxShaderStage> modules;
317 317
318 Shader::Backend::SPIRV::Bindings binding; 318 Shader::Backend::Bindings binding;
319 for (size_t index = uses_vertex_a && uses_vertex_b ? 1 : 0; index < Maxwell::MaxShaderProgram; ++index) { 319 for (size_t index = uses_vertex_a && uses_vertex_b ? 1 : 0; index < Maxwell::MaxShaderProgram;
320 ++index) {
320 if (key.unique_hashes[index] == 0) { 321 if (key.unique_hashes[index] == 0) {
321 continue; 322 continue;
322 } 323 }
@@ -388,8 +389,7 @@ std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline(
388 389
389 Shader::Maxwell::Flow::CFG cfg{env, pools.flow_block, env.StartAddress()}; 390 Shader::Maxwell::Flow::CFG cfg{env, pools.flow_block, env.StartAddress()};
390 Shader::IR::Program program{TranslateProgram(pools.inst, pools.block, env, cfg)}; 391 Shader::IR::Program program{TranslateProgram(pools.inst, pools.block, env, cfg)};
391 Shader::Backend::SPIRV::Bindings binding; 392 const std::vector<u32> code{EmitSPIRV(base_profile, program)};
392 const std::vector<u32> code{EmitSPIRV(base_profile, program, binding)};
393 device.SaveShader(code); 393 device.SaveShader(code);
394 vk::ShaderModule spv_module{BuildShader(device, code)}; 394 vk::ShaderModule spv_module{BuildShader(device, code)};
395 if (device.HasDebuggingToolAttached()) { 395 if (device.HasDebuggingToolAttached()) {