[Bf-blender-cvs] [87482b8a9e0] tmp-workbench-rewrite2: Fix GPU debug names
Miguel Pozo
noreply at git.blender.org
Tue Dec 20 16:38:16 CET 2022
Commit: 87482b8a9e0adce66bbeb44269759f4018c36934
Author: Miguel Pozo
Date: Tue Dec 20 16:38:07 2022 +0100
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rB87482b8a9e0adce66bbeb44269759f4018c36934
Fix GPU debug names
===================================================================
M source/blender/draw/engines/workbench/workbench_mesh_passes.cc
===================================================================
diff --git a/source/blender/draw/engines/workbench/workbench_mesh_passes.cc b/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
index 1a00ef83395..cd71bb7c6a3 100644
--- a/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
+++ b/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
@@ -32,13 +32,18 @@ void MeshPass::init_subpasses(ePipelineType pipeline,
{
texture_subpass_map_.clear();
+ static std::string pass_names[geometry_type_len][shader_type_len] = {};
+
for (auto geom : IndexRange(geometry_type_len)) {
for (auto shader : IndexRange(shader_type_len)) {
eGeometryType geom_type = static_cast<eGeometryType>(geom);
eShaderType shader_type = static_cast<eShaderType>(shader);
- std::string name = std::string(get_name(geom_type)) + std::string(get_name(shader_type));
+ if (pass_names[geom][shader].empty()) {
+ pass_names[geom][shader] = std::string(get_name(geom_type)) +
+ std::string(get_name(shader_type));
+ }
GPUShader *sh = shaders.prepass_shader_get(pipeline, geom_type, shader_type, lighting, clip);
- PassMain::Sub *pass = &sub(name.c_str());
+ PassMain::Sub *pass = &sub(pass_names[geom][shader].c_str());
pass->shader_set(sh);
passes_[geom][shader] = pass;
}
More information about the Bf-blender-cvs
mailing list