Commit: dce3327404111316d368e4d55aaa4add55026375
Author: Jeroen Bakker
Date: Wed Oct 19 14:37:43 2022 +0200
Branches: temp-T101905-gpu-backend-argument
https://developer.blender.org/rBdce3327404111316d368e4d55aaa4add55026375
Add supported backend check to shader builder.
===================================================================
M source/blender/gpu/intern/gpu_shader_builder.cc
===================================================================
diff --git a/source/blender/gpu/intern/gpu_shader_builder.cc
b/source/blender/gpu/intern/gpu_shader_builder.cc
index 9f28126da75..9a67ddde5e6 100644
--- a/source/blender/gpu/intern/gpu_shader_builder.cc
+++ b/source/blender/gpu/intern/gpu_shader_builder.cc
@@ -91,16 +91,27 @@ int main(int argc, const char *argv[])
int exit_code = 0;
- blender::Vector<eGPUBackendType> backends_to_validate;
- backends_to_validate.append(GPU_BACKEND_OPENGL);
+ struct NamedBackend {
+ std::string name;
+ eGPUBackendType backend;
+ };
+
+ blender::Vector<NamedBackend> backends_to_validate;
+ backends_to_validate.append({"OpenGL", GPU_BACKEND_OPENGL});
#ifdef WITH_METAL_BACKEND
- backends_to_validate.append(GPU_BACKEND_METAL);
+ backends_to_validate.append({"Metal", GPU_BACKEND_METAL});
#endif
- for (eGPUBackendType backend : backends_to_validate) {
- GPU_backend_type_selection_set(backend);
+ for (NamedBackend &backend : backends_to_validate) {
+ GPU_backend_type_selection_set(backend.backend);
+ if (!GPU_backend_supported()) {
+ printf("%s isn't supported on this platform. Shader compilation is
skipped\n",
+ backend.name.c_str());
+ continue;
+ }
blender::gpu::shader_builder::ShaderBuilder builder;
builder.init();
if (!builder.bake_create_infos()) {
+ printf("Shader compilation failed for %s backend\n",
backend.name.c_str());
exit_code = 1;
}
builder.exit();
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs