Skip to content

Commit 6732a0f

Browse files
authored
Merge pull request #98448 from Chaosus/shader_global_builtins
Make `OUTPUT_IS_SRGB/CLIP_SPACE_FAR` shader built-ins global
2 parents 78a4e63 + 463e814 commit 6732a0f

File tree

4 files changed

+8
-13
lines changed

4 files changed

+8
-13
lines changed

drivers/gles3/storage/material_storage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,6 +1237,8 @@ MaterialStorage::MaterialStorage() {
12371237
actions.renames["PI"] = _MKSTR(Math_PI);
12381238
actions.renames["TAU"] = _MKSTR(Math_TAU);
12391239
actions.renames["E"] = _MKSTR(Math_E);
1240+
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
1241+
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
12401242
actions.renames["VIEWPORT_SIZE"] = "scene_data.viewport_size";
12411243

12421244
actions.renames["FRAGCOORD"] = "gl_FragCoord";
@@ -1276,8 +1278,6 @@ MaterialStorage::MaterialStorage() {
12761278
actions.renames["CUSTOM1"] = "custom1_attrib";
12771279
actions.renames["CUSTOM2"] = "custom2_attrib";
12781280
actions.renames["CUSTOM3"] = "custom3_attrib";
1279-
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
1280-
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
12811281
actions.renames["LIGHT_VERTEX"] = "light_vertex";
12821282

12831283
actions.renames["NODE_POSITION_WORLD"] = "model_matrix[3].xyz";

servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,8 @@ void SceneShaderForwardClustered::init(const String p_defines) {
610610
actions.renames["PI"] = _MKSTR(Math_PI);
611611
actions.renames["TAU"] = _MKSTR(Math_TAU);
612612
actions.renames["E"] = _MKSTR(Math_E);
613+
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
614+
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
613615
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
614616

615617
actions.renames["FRAGCOORD"] = "gl_FragCoord";
@@ -649,8 +651,6 @@ void SceneShaderForwardClustered::init(const String p_defines) {
649651
actions.renames["CUSTOM1"] = "custom1_attrib";
650652
actions.renames["CUSTOM2"] = "custom2_attrib";
651653
actions.renames["CUSTOM3"] = "custom3_attrib";
652-
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
653-
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
654654
actions.renames["LIGHT_VERTEX"] = "light_vertex";
655655

656656
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";

servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,8 @@ void SceneShaderForwardMobile::init(const String p_defines) {
521521
actions.renames["PI"] = _MKSTR(Math_PI);
522522
actions.renames["TAU"] = _MKSTR(Math_TAU);
523523
actions.renames["E"] = _MKSTR(Math_E);
524+
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
525+
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
524526
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
525527

526528
actions.renames["FRAGCOORD"] = "gl_FragCoord";
@@ -560,8 +562,6 @@ void SceneShaderForwardMobile::init(const String p_defines) {
560562
actions.renames["CUSTOM1"] = "custom1_attrib";
561563
actions.renames["CUSTOM2"] = "custom2_attrib";
562564
actions.renames["CUSTOM3"] = "custom3_attrib";
563-
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
564-
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
565565
actions.renames["LIGHT_VERTEX"] = "light_vertex";
566566

567567
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";

servers/rendering/shader_types.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ ShaderTypes::ShaderTypes() {
6363
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["PI"] = constt(ShaderLanguage::TYPE_FLOAT);
6464
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["TAU"] = constt(ShaderLanguage::TYPE_FLOAT);
6565
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["E"] = constt(ShaderLanguage::TYPE_FLOAT);
66+
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
67+
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
6668

6769
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC3;
6870
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3;
@@ -96,8 +98,6 @@ ShaderTypes::ShaderTypes() {
9698
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_MATRIX"] = ShaderLanguage::TYPE_MAT4;
9799
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_NORMAL_MATRIX"] = ShaderLanguage::TYPE_MAT3;
98100
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2);
99-
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
100-
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
101101
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MAIN_CAM_INV_VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
102102

103103
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NODE_POSITION_WORLD"] = constt(ShaderLanguage::TYPE_VEC3);
@@ -159,9 +159,6 @@ ShaderTypes::ShaderTypes() {
159159
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_RIGHT"] = constt(ShaderLanguage::TYPE_INT);
160160
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["EYE_OFFSET"] = constt(ShaderLanguage::TYPE_VEC3);
161161

162-
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
163-
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
164-
165162
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
166163
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_NORMAL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT3);
167164
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
@@ -203,8 +200,6 @@ ShaderTypes::ShaderTypes() {
203200
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ROUGHNESS"] = constt(ShaderLanguage::TYPE_FLOAT);
204201
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["DIFFUSE_LIGHT"] = ShaderLanguage::TYPE_VEC3;
205202
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["SPECULAR_LIGHT"] = ShaderLanguage::TYPE_VEC3;
206-
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
207-
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
208203
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ALPHA"] = ShaderLanguage::TYPE_FLOAT;
209204

210205
shader_modes[RS::SHADER_SPATIAL].functions["light"].can_discard = true;

0 commit comments

Comments
 (0)