diff options
| author | Juan Linietsky <reduzio@gmail.com> | 2017-08-29 10:14:07 -0300 |
|---|---|---|
| committer | Juan Linietsky <reduzio@gmail.com> | 2017-08-29 10:15:49 -0300 |
| commit | 089cf8176e225f0eee111e835a53c0245674c229 (patch) | |
| tree | 0ba2dee091156716ea60fd350328cacf54eed208 /drivers | |
| parent | e91c9b881ca65f5c1e9669f0a57aa54b98811aca (diff) | |
| download | redot-engine-089cf8176e225f0eee111e835a53c0245674c229.tar.gz | |
removed DISCARD built in variable, replaced by actual discard GLSL instruction, fixes #9677
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gles3/shader_compiler_gles3.cpp | 4 | ||||
| -rw-r--r-- | drivers/gles3/shaders/scene.glsl | 11 |
2 files changed, 3 insertions, 12 deletions
diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index d793ea446d..c308e9eddb 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -608,6 +608,9 @@ String ShaderCompilerGLES3::_dump_node_code(SL::Node *p_node, int p_level, Gener } else { code = "return;"; } + } else if (cfnode->flow_op == SL::FLOW_OP_DISCARD) { + + code = "discard;"; } } break; @@ -752,7 +755,6 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() { actions[VS::SHADER_SPATIAL].renames["SSS_STRENGTH"] = "sss_strength"; actions[VS::SHADER_SPATIAL].renames["AO"] = "ao"; actions[VS::SHADER_SPATIAL].renames["EMISSION"] = "emission"; - actions[VS::SHADER_SPATIAL].renames["DISCARD"] = "_discard"; //actions[VS::SHADER_SPATIAL].renames["SCREEN_UV"]=ShaderLanguage::TYPE_VEC2; actions[VS::SHADER_SPATIAL].renames["POINT_COORD"] = "gl_PointCoord"; actions[VS::SHADER_SPATIAL].renames["INSTANCE_CUSTOM"] = "instance_custom"; diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index c1504593cb..ef4925895c 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -1559,10 +1559,6 @@ void main() { vec2 screen_uv = gl_FragCoord.xy*screen_pixel_size; #endif -#if defined(ENABLE_DISCARD) - bool discard_=false; -#endif - #if defined (ENABLE_SSS) float sss_strength=0.0; #endif @@ -1603,13 +1599,6 @@ FRAGMENT_SHADER_CODE #endif -#if defined(ENABLE_DISCARD) - if (discard_) { - //easy to eliminate dead code - discard; - } -#endif - #ifdef ENABLE_CLIP_ALPHA if (albedo.a<0.99) { //used for doublepass and shadowmapping |
