[Bf-blender-cvs] [975b09e3e73] tmp-vulkan: ShaderCompiler: Split code per target type.

Jeroen Bakker noreply at git.blender.org
Fri Jun 25 11:02:48 CEST 2021


Commit: 975b09e3e73bf829d515982bda53a3981e7fafb7
Author: Jeroen Bakker
Date:   Fri Jun 25 11:01:59 2021 +0200
Branches: tmp-vulkan
https://developer.blender.org/rB975b09e3e73bf829d515982bda53a3981e7fafb7

ShaderCompiler: Split code per target type.

No functional changes.

===================================================================

M	intern/shader_compiler/intern/shaderc/ShaderCCompiler.cc
M	intern/shader_compiler/intern/shaderc/ShaderCCompiler.hh

===================================================================

diff --git a/intern/shader_compiler/intern/shaderc/ShaderCCompiler.cc b/intern/shader_compiler/intern/shaderc/ShaderCCompiler.cc
index a2c4c59f15c..73d920965b5 100644
--- a/intern/shader_compiler/intern/shaderc/ShaderCCompiler.cc
+++ b/intern/shader_compiler/intern/shaderc/ShaderCCompiler.cc
@@ -65,11 +65,10 @@ shaderc_shader_kind ShaderCCompiler::get_source_kind(SourceType source_type)
   return shaderc_glsl_vertex_shader;
 }
 
-Result *ShaderCCompiler::compile(const Job &job)
+ShaderCResult *ShaderCCompiler::compile_spirv(const Job &job)
 {
   ::shaderc::CompileOptions options;
   set_optimization_level(options, job.optimization_level);
-
   shaderc_shader_kind kind = get_source_kind(job.source_type);
 
   ::shaderc::SpvCompilationResult shaderc_result = compiler_.CompileGlslToSpv(
@@ -80,4 +79,14 @@ Result *ShaderCCompiler::compile(const Job &job)
   return result;
 }
 
+Result *ShaderCCompiler::compile(const Job &job)
+{
+  switch (job.compilation_target) {
+    case TargetType::SpirV:
+      return compile_spirv(job);
+      break;
+  }
+  return nullptr;
+}
+
 }  // namespace shader_compiler::shaderc
\ No newline at end of file
diff --git a/intern/shader_compiler/intern/shaderc/ShaderCCompiler.hh b/intern/shader_compiler/intern/shaderc/ShaderCCompiler.hh
index 560d919ef4d..56f0c185f3c 100644
--- a/intern/shader_compiler/intern/shaderc/ShaderCCompiler.hh
+++ b/intern/shader_compiler/intern/shaderc/ShaderCCompiler.hh
@@ -25,6 +25,8 @@
 
 namespace shader_compiler::shaderc {
 
+class ShaderCResult;
+
 class ShaderCCompiler : public Compiler {
  private:
   ::shaderc::Compiler compiler_;
@@ -36,6 +38,8 @@ class ShaderCCompiler : public Compiler {
   Result *compile(const Job &job) override;
 
  private:
+  ShaderCResult *compile_spirv(const Job &job);
+
   static void set_optimization_level(::shaderc::CompileOptions options,
                                      const OptimizationLevel new_value);
   static shaderc_shader_kind get_source_kind(SourceType source_type);



More information about the Bf-blender-cvs mailing list