diff options
| author | 2021-05-03 20:53:00 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:30 -0400 | |
| commit | bed090807afd3364ed6ef18a031a0ffd95a1b89b (patch) | |
| tree | 50035e78e75e7237e4cafcf181eb0b3a2f172912 /src/video_core/renderer_vulkan | |
| parent | shader: Optimize NVN Fallthrough (diff) | |
| download | yuzu-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.cpp | 8 |
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()) { |