Browse Source

Fix union order to simplify empty initializers.

Dario 7 months ago
parent
commit
0e06eb80bc

+ 6 - 6
servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.h

@@ -100,6 +100,8 @@ public:
 
 
 	struct ShaderSpecialization {
 	struct ShaderSpecialization {
 		union {
 		union {
+			uint32_t packed_0;
+
 			struct {
 			struct {
 				uint32_t use_forward_gi : 1;
 				uint32_t use_forward_gi : 1;
 				uint32_t use_light_projector : 1;
 				uint32_t use_light_projector : 1;
@@ -114,19 +116,17 @@ public:
 				uint32_t directional_soft_shadow_samples : 6;
 				uint32_t directional_soft_shadow_samples : 6;
 				uint32_t directional_penumbra_shadow_samples : 6;
 				uint32_t directional_penumbra_shadow_samples : 6;
 			};
 			};
-
-			uint32_t packed_0;
 		};
 		};
 
 
 		union {
 		union {
+			uint32_t packed_1;
+
 			struct {
 			struct {
 				uint32_t multimesh : 1;
 				uint32_t multimesh : 1;
 				uint32_t multimesh_format_2d : 1;
 				uint32_t multimesh_format_2d : 1;
 				uint32_t multimesh_has_color : 1;
 				uint32_t multimesh_has_color : 1;
 				uint32_t multimesh_has_custom_data : 1;
 				uint32_t multimesh_has_custom_data : 1;
 			};
 			};
-
-			uint32_t packed_1;
 		};
 		};
 
 
 		uint32_t packed_2;
 		uint32_t packed_2;
@@ -134,11 +134,11 @@ public:
 
 
 	struct UbershaderConstants {
 	struct UbershaderConstants {
 		union {
 		union {
+			uint32_t packed_0;
+
 			struct {
 			struct {
 				uint32_t cull_mode : 2;
 				uint32_t cull_mode : 2;
 			};
 			};
-
-			uint32_t packed_0;
 		};
 		};
 	};
 	};
 
 

+ 9 - 9
servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.h

@@ -59,6 +59,8 @@ public:
 
 
 	struct ShaderSpecialization {
 	struct ShaderSpecialization {
 		union {
 		union {
+			uint32_t packed_0;
+
 			struct {
 			struct {
 				uint32_t use_light_projector : 1;
 				uint32_t use_light_projector : 1;
 				uint32_t use_light_soft_shadows : 1;
 				uint32_t use_light_soft_shadows : 1;
@@ -82,11 +84,11 @@ public:
 				uint32_t soft_shadow_samples : 6;
 				uint32_t soft_shadow_samples : 6;
 				uint32_t penumbra_shadow_samples : 6;
 				uint32_t penumbra_shadow_samples : 6;
 			};
 			};
-
-			uint32_t packed_0;
 		};
 		};
 
 
 		union {
 		union {
+			uint32_t packed_1;
+
 			struct {
 			struct {
 				uint32_t directional_soft_shadow_samples : 6;
 				uint32_t directional_soft_shadow_samples : 6;
 				uint32_t directional_penumbra_shadow_samples : 6;
 				uint32_t directional_penumbra_shadow_samples : 6;
@@ -96,32 +98,30 @@ public:
 				uint32_t directional_lights : 4;
 				uint32_t directional_lights : 4;
 				uint32_t decals : 4;
 				uint32_t decals : 4;
 			};
 			};
-
-			uint32_t packed_1;
 		};
 		};
 
 
 		union {
 		union {
+			uint32_t packed_2;
+
 			struct {
 			struct {
 				uint32_t directional_light_blend_splits : 8;
 				uint32_t directional_light_blend_splits : 8;
 				uint32_t padding_1 : 24;
 				uint32_t padding_1 : 24;
 			};
 			};
-
-			uint32_t packed_2;
 		};
 		};
 
 
 		union {
 		union {
-			float luminance_multiplier;
 			float packed_3;
 			float packed_3;
+			float luminance_multiplier;
 		};
 		};
 	};
 	};
 
 
 	struct UbershaderConstants {
 	struct UbershaderConstants {
 		union {
 		union {
+			uint32_t packed_0;
+
 			struct {
 			struct {
 				uint32_t cull_mode : 2;
 				uint32_t cull_mode : 2;
 			};
 			};
-
-			uint32_t packed_0;
 		};
 		};
 
 
 		uint32_t padding_1;
 		uint32_t padding_1;

+ 2 - 2
servers/rendering/renderer_rd/renderer_canvas_render_rd.h

@@ -116,11 +116,11 @@ class RendererCanvasRenderRD : public RendererCanvasRender {
 
 
 	struct ShaderSpecialization {
 	struct ShaderSpecialization {
 		union {
 		union {
+			uint32_t packed_0;
+
 			struct {
 			struct {
 				uint32_t use_lighting : 1;
 				uint32_t use_lighting : 1;
 			};
 			};
-
-			uint32_t packed_0;
 		};
 		};
 	};
 	};