[Bf-blender-cvs] [79346fd72ee] tmp-vulkan: Moved shader compilation flag to cmake.

Jeroen Bakker noreply at git.blender.org
Fri Jun 25 16:53:34 CEST 2021


Commit: 79346fd72eefd4f81422c73239fe99224681f0cc
Author: Jeroen Bakker
Date:   Fri Jun 25 16:01:05 2021 +0200
Branches: tmp-vulkan
https://developer.blender.org/rB79346fd72eefd4f81422c73239fe99224681f0cc

Moved shader compilation flag to cmake.

Migration of the shaders can take a long time. During this time it
you won't be able to start most GPU tests or Blender. This switch
will enable the compilation of the shader to other developments
can still happen.

`WITH_VULKAN_SHADER_COMPILATION` Default is OFF. Enable when migrating
shaders.

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

M	CMakeLists.txt
M	source/blender/gpu/vulkan/vk_shader.cc

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

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ae8fc500e33..3e39c5b561f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -468,7 +468,8 @@ endif()
 
 
 # Vulkan
-option(WITH_VULKAN              "Enable Vulkan backend (Experimental)" OFF)
+option(WITH_VULKAN                    "Enable Vulkan backend (Experimental)" OFF)
+option(WITH_VULKAN_SHADER_COMPILATION "Temporary flag to enable vulkan shader compilation needed to continue development during the migration of GLSL to Vulkan." OFF)
 
 # OpenGL
 
@@ -482,6 +483,7 @@ mark_as_advanced(
   WITH_GLEW_ES
   WITH_GL_EGL
   WITH_GL_PROFILE_ES20
+  WITH_VULKAN_SHADER_COMPILATION
 )
 
 if(WIN32)
@@ -1086,6 +1088,9 @@ if(WITH_VULKAN)
   list(APPEND BLENDER_GL_LIBRARIES ${Vulkan_LIBRARY})
 
   add_definitions(-DWITH_VULKAN)
+  if(WITH_VULKAN_SHADER_COMPILATION)
+    add_definitions(-DWITH_VULKAN_SHADER_COMPILATION)
+  endif()
 endif()
 
 #-----------------------------------------------------------------------------
diff --git a/source/blender/gpu/vulkan/vk_shader.cc b/source/blender/gpu/vulkan/vk_shader.cc
index fa8780ea458..4d6b8b1413a 100644
--- a/source/blender/gpu/vulkan/vk_shader.cc
+++ b/source/blender/gpu/vulkan/vk_shader.cc
@@ -29,10 +29,6 @@
 
 #include "shader_compiler.hh"
 
-/* Enable when actually developing on the shader compilation. When disabled compilation
- * will not be done. Allows development on other areas during migrating shaders.*/
-// #define VULKAN_SHADER_COMPILATION
-
 namespace blender::gpu {
 
 /* -------------------------------------------------------------------- */
@@ -228,21 +224,21 @@ VkShaderModule VKShader::create_shader_module(MutableSpan<const char *> sources,
 
 void VKShader::vertex_shader_from_glsl(MutableSpan<const char *> sources)
 {
-#ifdef VULKAN_SHADER_COMPILATION
+#ifdef WITH_VULKAN_SHADER_COMPILATION
   vertex_shader_ = this->create_shader_module(sources, VKShaderStageType::VertexShader);
 #endif
 }
 
 void VKShader::geometry_shader_from_glsl(MutableSpan<const char *> sources)
 {
-#ifdef VULKAN_SHADER_COMPILATION
+#ifdef WITH_VULKAN_SHADER_COMPILATION
   geometry_shader_ = this->create_shader_module(sources, VKShaderStageType::GeometryShader);
 #endif
 }
 
 void VKShader::fragment_shader_from_glsl(MutableSpan<const char *> sources)
 {
-#ifdef VULKAN_SHADER_COMPILATION
+#ifdef WITH_VULKAN_SHADER_COMPILATION
   fragment_shader_ = this->create_shader_module(sources, VKShaderStageType::FragmentShader);
 #endif
 }
@@ -251,7 +247,7 @@ void VKShader::fragment_shader_from_glsl(MutableSpan<const char *> sources)
 #if 0
 void VKShader::compute_shader_from_glsl(MutableSpan<const char *> sources)
 {
-#  ifdef VULKAN_SHADER_COMPILATION
+#  ifdef WITH_VULKAN_SHADER_COMPILATION
   compute_shader_ = this->create_shader_module(sources, VKShaderStageType::Compute);
 #  endif
 }
@@ -265,7 +261,7 @@ void VKShader::compute_shader_from_glsl(MutableSpan<const char *> sources)
 
 bool VKShader::finalize(void)
 {
-#ifdef VULKAN_SHADER_COMPILATION
+#ifdef WITH_VULKAN_SHADER_COMPILATION
   if (compilation_failed_) {
     return false;
   }



More information about the Bf-blender-cvs mailing list