[Bf-blender-cvs] [1ab071bd5cc] master: Cleanup: remove '_sh' suffix

Campbell Barton noreply at git.blender.org
Mon Jan 21 07:03:31 CET 2019


Commit: 1ab071bd5cc662be5088bc48c1bb605a727c3656
Author: Campbell Barton
Date:   Mon Jan 21 17:00:18 2019 +1100
Branches: master
https://developer.blender.org/rB1ab071bd5cc662be5088bc48c1bb605a727c3656

Cleanup: remove '_sh' suffix

Shaders are now stored in their own struct, no need for special names.

Also free as an array.

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

M	source/blender/draw/modes/edit_mesh_mode.c

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

diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index 9ff4211572e..2f79cf75ebb 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -105,24 +105,25 @@ typedef struct EDIT_MESH_Data {
 
 #define DEF_WORLD_CLIP_STR "#define USE_WORLD_CLIP_PLANES\n"
 
+/** Can only contain shaders (freed as array). */
 typedef struct EDIT_MESH_ShaderData {
 	/* weight */
-	GPUShader *weight_face_shader;
+	GPUShader *weight_face;
 
 	/* Geometry */
-	GPUShader *overlay_tri_sh_cache[MAX_SHADERS];
-	GPUShader *overlay_loose_edge_sh_cache[MAX_SHADERS];
-
-	GPUShader *overlay_vert_sh;
-	GPUShader *overlay_lvert_sh;
-	GPUShader *overlay_facedot_sh;
-	GPUShader *overlay_mix_sh;
-	GPUShader *overlay_facefill_sh;
-	GPUShader *normals_face_sh;
-	GPUShader *normals_loop_sh;
-	GPUShader *normals_sh;
-	GPUShader *depth_sh;
-	GPUShader *ghost_clear_depth_sh;
+	GPUShader *overlay_tri_cache[MAX_SHADERS];
+	GPUShader *overlay_loose_edge_cache[MAX_SHADERS];
+
+	GPUShader *overlay_vert;
+	GPUShader *overlay_lvert;
+	GPUShader *overlay_facedot;
+	GPUShader *overlay_mix;
+	GPUShader *overlay_facefill;
+	GPUShader *normals_face;
+	GPUShader *normals_loop;
+	GPUShader *normals;
+	GPUShader *depth;
+	GPUShader *ghost_clear_depth;
 } EDIT_MESH_ShaderData;
 
 /* *********** STATIC *********** */
@@ -249,10 +250,10 @@ static GPUShader *EDIT_MESH_ensure_shader(
 	const int index = EDIT_MESH_sh_index(tsettings, rv3d, supports_fast_mode);
 	const int fast_mode = rv3d->rflag & RV3D_NAVIGATING;
 	if (looseedge) {
-		if (!sh_data->overlay_loose_edge_sh_cache[index]) {
+		if (!sh_data->overlay_loose_edge_cache[index]) {
 			char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true, true);
 			char *lib = EDIT_MESH_sh_lib();
-			sh_data->overlay_loose_edge_sh_cache[index] = DRW_shader_create_with_lib(
+			sh_data->overlay_loose_edge_cache[index] = DRW_shader_create_with_lib(
 			        datatoc_edit_mesh_overlay_vert_glsl,
 			        datatoc_edit_mesh_overlay_geom_edge_glsl,
 			        datatoc_edit_mesh_overlay_frag_glsl,
@@ -261,13 +262,13 @@ static GPUShader *EDIT_MESH_ensure_shader(
 			MEM_freeN(lib);
 			MEM_freeN(defines);
 		}
-		return sh_data->overlay_loose_edge_sh_cache[index];
+		return sh_data->overlay_loose_edge_cache[index];
 	}
 	else {
-		if (!sh_data->overlay_tri_sh_cache[index]) {
+		if (!sh_data->overlay_tri_cache[index]) {
 			char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true, false);
 			char *lib = EDIT_MESH_sh_lib();
-			sh_data->overlay_tri_sh_cache[index] = DRW_shader_create_with_lib(
+			sh_data->overlay_tri_cache[index] = DRW_shader_create_with_lib(
 			        datatoc_edit_mesh_overlay_vert_glsl,
 			        fast_mode ? NULL : datatoc_edit_mesh_overlay_geom_tri_glsl,
 			        datatoc_edit_mesh_overlay_frag_glsl,
@@ -276,7 +277,7 @@ static GPUShader *EDIT_MESH_ensure_shader(
 			MEM_freeN(lib);
 			MEM_freeN(defines);
 		}
-		return sh_data->overlay_tri_sh_cache[index];
+		return sh_data->overlay_tri_cache[index];
 	}
 }
 
@@ -305,81 +306,81 @@ static void EDIT_MESH_engine_init(void *vedata)
 		DRW_state_clip_planes_len_set((draw_ctx->rv3d->viewlock & RV3D_BOXCLIP) ? 4 : 6);
 	}
 
-	if (!sh_data->weight_face_shader) {
-		sh_data->weight_face_shader = DRW_shader_create_with_lib(
+	if (!sh_data->weight_face) {
+		sh_data->weight_face = DRW_shader_create_with_lib(
 		        datatoc_paint_weight_vert_glsl, NULL,
 		        datatoc_paint_weight_frag_glsl,
 		        datatoc_common_globals_lib_glsl,
 		        is_clip ? DEF_WORLD_CLIP_STR : NULL);
 	}
 
-	if (!sh_data->overlay_vert_sh) {
+	if (!sh_data->overlay_vert) {
 		char *lib = EDIT_MESH_sh_lib();
 		const char *defs =
 			DEF_WORLD_CLIP_STR
 			"#define VERTEX_FACING\n" ;
-		sh_data->overlay_vert_sh = DRW_shader_create_with_lib(
+		sh_data->overlay_vert = DRW_shader_create_with_lib(
 		        datatoc_edit_mesh_overlay_points_vert_glsl, NULL,
 		        datatoc_gpu_shader_point_varying_color_frag_glsl, lib,
 		        defs + (is_clip ? 0 : strlen(DEF_WORLD_CLIP_STR)));
-		sh_data->overlay_lvert_sh = DRW_shader_create_with_lib(
+		sh_data->overlay_lvert = DRW_shader_create_with_lib(
 		        datatoc_edit_mesh_overlay_points_vert_glsl, NULL,
 		        datatoc_gpu_shader_point_varying_color_frag_glsl, lib,
 		        is_clip ? DEF_WORLD_CLIP_STR : NULL);
 		MEM_freeN(lib);
 	}
-	if (!sh_data->overlay_facedot_sh) {
+	if (!sh_data->overlay_facedot) {
 		const char *defs =
 			DEF_WORLD_CLIP_STR
 			"#define VERTEX_FACING\n" ;
-		sh_data->overlay_facedot_sh = DRW_shader_create_with_lib(
+		sh_data->overlay_facedot = DRW_shader_create_with_lib(
 		        datatoc_edit_mesh_overlay_facedot_vert_glsl, NULL,
 		        datatoc_edit_mesh_overlay_facedot_frag_glsl,
 		        datatoc_common_globals_lib_glsl,
 		        defs + (is_clip ? 0 : strlen(DEF_WORLD_CLIP_STR)));
 	}
-	if (!sh_data->overlay_mix_sh) {
-		sh_data->overlay_mix_sh = DRW_shader_create_fullscreen(datatoc_edit_mesh_overlay_mix_frag_glsl, NULL);
+	if (!sh_data->overlay_mix) {
+		sh_data->overlay_mix = DRW_shader_create_fullscreen(datatoc_edit_mesh_overlay_mix_frag_glsl, NULL);
 	}
-	if (!sh_data->overlay_facefill_sh) {
-		sh_data->overlay_facefill_sh = DRW_shader_create_with_lib(
+	if (!sh_data->overlay_facefill) {
+		sh_data->overlay_facefill = DRW_shader_create_with_lib(
 		        datatoc_edit_mesh_overlay_facefill_vert_glsl, NULL,
 		        datatoc_edit_mesh_overlay_facefill_frag_glsl,
 		        datatoc_common_globals_lib_glsl,
 		        is_clip ? DEF_WORLD_CLIP_STR : NULL);
 	}
-	if (!sh_data->normals_face_sh) {
+	if (!sh_data->normals_face) {
 		const char *defs =
 			DEF_WORLD_CLIP_STR
 			"#define FACE_NORMALS\n";
-		sh_data->normals_face_sh = DRW_shader_create(
+		sh_data->normals_face = DRW_shader_create(
 		        datatoc_edit_normals_vert_glsl,
 		        datatoc_edit_normals_geom_glsl,
 		        datatoc_gpu_shader_uniform_color_frag_glsl,
 		        defs + (is_clip ? 0 : strlen(DEF_WORLD_CLIP_STR)));
 	}
-	if (!sh_data->normals_loop_sh) {
+	if (!sh_data->normals_loop) {
 		const char *defs =
 			DEF_WORLD_CLIP_STR
 			"#define LOOP_NORMALS\n";
-		sh_data->normals_loop_sh = DRW_shader_create(
+		sh_data->normals_loop = DRW_shader_create(
 		        datatoc_edit_normals_vert_glsl,
 		        datatoc_edit_normals_geom_glsl,
 		        datatoc_gpu_shader_uniform_color_frag_glsl,
 		        defs + (is_clip ? 0 : strlen(DEF_WORLD_CLIP_STR)));
 	}
-	if (!sh_data->normals_sh) {
-		sh_data->normals_sh = DRW_shader_create(
+	if (!sh_data->normals) {
+		sh_data->normals = DRW_shader_create(
 		        datatoc_edit_normals_vert_glsl,
 		        datatoc_edit_normals_geom_glsl,
 		        datatoc_gpu_shader_uniform_color_frag_glsl,
 		        is_clip ? DEF_WORLD_CLIP_STR : NULL);
 	}
-	if (!sh_data->depth_sh) {
-		sh_data->depth_sh = DRW_shader_create_3D_depth_only();
+	if (!sh_data->depth) {
+		sh_data->depth = DRW_shader_create_3D_depth_only();
 	}
-	if (!sh_data->ghost_clear_depth_sh) {
-		sh_data->ghost_clear_depth_sh = DRW_shader_create_fullscreen(datatoc_gpu_shader_depth_only_frag_glsl, NULL);
+	if (!sh_data->ghost_clear_depth) {
+		sh_data->ghost_clear_depth = DRW_shader_create_fullscreen(datatoc_gpu_shader_depth_only_frag_glsl, NULL);
 	}
 
 }
@@ -407,7 +408,7 @@ static DRWPass *edit_mesh_create_overlay_pass(
 	        DRW_STATE_WRITE_COLOR | DRW_STATE_POINT | statemod);
 
 	if ((tsettings->selectmode & SCE_SELECT_VERTEX) != 0) {
-		*r_lverts_shgrp = DRW_shgroup_create(sh_data->overlay_lvert_sh, pass);
+		*r_lverts_shgrp = DRW_shgroup_create(sh_data->overlay_lvert, pass);
 		DRW_shgroup_uniform_block(*r_lverts_shgrp, "globalsBlock", globals_ubo);
 		DRW_shgroup_uniform_vec2(*r_lverts_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
 		DRW_shgroup_uniform_float(*r_lverts_shgrp, "edgeScale", edge_width_scale, 1);
@@ -417,7 +418,7 @@ static DRWPass *edit_mesh_create_overlay_pass(
 			EDIT_MESH_shgroup_world_clip_planes_from_rv3d(*r_lverts_shgrp, rv3d);
 		}
 
-		*r_verts_shgrp = DRW_shgroup_create(sh_data->overlay_vert_sh, pass);
+		*r_verts_shgrp = DRW_shgroup_create(sh_data->overlay_vert, pass);
 		DRW_shgroup_uniform_block(*r_verts_shgrp, "globalsBlock", globals_ubo);
 		DRW_shgroup_uniform_vec2(*r_verts_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
 		DRW_shgroup_uniform_float(*r_verts_shgrp, "edgeScale", edge_width_scale, 1);
@@ -429,7 +430,7 @@ static DRWPass *edit_mesh_create_overlay_pass(
 	}
 
 	if ((tsettings->selectmode & SCE_SELECT_FACE) != 0) {
-		*r_facedot_shgrp = DRW_shgroup_create(sh_data->overlay_facedot_sh, pass);
+		*r_facedot_shgrp = DRW_shgroup_create(sh_data->overlay_facedot, pass);
 		DRW_shgroup_uniform_block(*r_facedot_shgrp, "globalsBlock", globals_ubo);
 		DRW_shgroup_uniform_float(*r_facedot_shgrp, "edgeScale", edge_width_scale, 1);
 		DRW_shgroup_state_enable(*r_facedot_shgrp, DRW_STATE_WRITE_DEPTH);
@@ -548,7 +549,7 @@ static void EDIT_MESH_cache_init(void *vedata)
 		        "Weight Pass",
 		        DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL);
 
-		stl->g_data->fweights_shgrp = DRW_shgroup_create(sh_data->weight_face_shader, psl->weight_faces);
+		stl->g_data->fweights_shgrp = DRW_shgroup_create(sh_data->weight_face, psl->weight_faces);
 
 		static float alpha = 1.0f;
 		DRW_shgroup_uniform_float(stl->g_data->fweights_shgrp, "opacity", &alpha, 1);
@@ -564,7 +565,7 @@ static void EDIT_MESH_cache_init(void *vedata)
 		psl->depth_hidden_wire = DRW_pass_create(
 		        "Depth Pass Hidden Wire",
 		        DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_CULL_BACK);
-		stl->g_data->depth_shgrp_hidden_wire = DRW_shgroup_create(sh_data->depth_sh, psl->depth_hidden_wire);
+		stl->g_data->depth_shgrp_hidden_wire = DRW_shgroup_create(sh_data->depth, psl->depth_hidden_wire);
 	}
 
 	{
@@ -573,7 +574,7 @@ static void EDIT_MESH_cache_init(void *vedata)
 		        "Ghost Depth Clear",
 		        DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_ALWAYS | DRW_STATE_STENCIL_NEQUAL);
 
-		DRWShadingGroup *shgrp = DRW_shgroup_create(sh_data->ghost_clear_depth_sh, psl->ghost_clear_depth);
+		DRWShadingGroup *shgrp = DRW_shgroup_create(sh_data->ghost_clear_depth, psl->ghost_

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list