Passes the newly added piglit test for this extension on i965. Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> --- A quick look at other drivers didn't show any issues with this new extension. Let me know if you think it won't work for any driver. --- docs/features.txt | 3 +++ src/compiler/glsl/builtin_variables.cpp | 3 +++ src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 2 ++ src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + 6 files changed, 11 insertions(+)
diff --git a/docs/features.txt b/docs/features.txt index 2f2d41d..aab35ac 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -221,6 +221,9 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi GL_KHR_robustness DONE (i965) GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) +These are the extensions cherry-picked to make GLES 3.0 + GL_EXT_frag_depth DONE (all drivers that support GLSL ES 1.00) + These are the extensions cherry-picked to make GLES 3.1 GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, radeonsi diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp index 4eb275e..8f054c7 100644 --- a/src/compiler/glsl/builtin_variables.cpp +++ b/src/compiler/glsl/builtin_variables.cpp @@ -1193,6 +1193,9 @@ builtin_variable_generator::generate_fs_special_vars() if (state->is_version(110, 300)) add_output(FRAG_RESULT_DEPTH, float_t, "gl_FragDepth"); + if (state->es_shader && state->language_version == 100 && state->EXT_frag_depth_enable) + add_output(FRAG_RESULT_DEPTH, float_t, "gl_FragDepthEXT"); + if (state->ARB_shader_stencil_export_enable) { ir_variable *const var = add_output(FRAG_RESULT_STENCIL, int_t, "gl_FragStencilRefARB"); diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index e16d543..50b067d 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -677,6 +677,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(AMD_vertex_shader_viewport_index), EXT(ANDROID_extension_pack_es31a), EXT(EXT_blend_func_extended), + EXT(EXT_frag_depth), EXT(EXT_draw_buffers), EXT(EXT_clip_cull_distance), EXT(EXT_geometry_point_size), diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index 424cab5..3f3adec 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -738,6 +738,8 @@ struct _mesa_glsl_parse_state { bool EXT_blend_func_extended_warn; bool EXT_clip_cull_distance_enable; bool EXT_clip_cull_distance_warn; + bool EXT_frag_depth_enable; + bool EXT_frag_depth_warn; bool EXT_draw_buffers_enable; bool EXT_draw_buffers_warn; bool EXT_geometry_point_size_enable; diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index 75f432b..7ea56c8 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -211,6 +211,7 @@ EXT(EXT_draw_elements_base_vertex , ARB_draw_elements_base_vertex EXT(EXT_draw_instanced , ARB_draw_instanced , GLL, GLC, x , x , 2006) EXT(EXT_draw_range_elements , dummy_true , GLL, x , x , x , 1997) EXT(EXT_fog_coord , dummy_true , GLL, x , x , x , 1999) +EXT(EXT_frag_depth , dummy_true , x , x , x , ES2, 2010) EXT(EXT_framebuffer_blit , dummy_true , GLL, GLC, x , x , 2005) EXT(EXT_framebuffer_multisample , EXT_framebuffer_multisample , GLL, GLC, x , x , 2005) EXT(EXT_framebuffer_multisample_blit_scaled , EXT_framebuffer_multisample_blit_scaled, GLL, GLC, x , x , 2011) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index a845a39..770bf72 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -3886,6 +3886,7 @@ struct gl_extensions GLboolean EXT_blend_minmax; GLboolean EXT_depth_bounds_test; GLboolean EXT_draw_buffers2; + GLboolean EXT_frag_depth; GLboolean EXT_framebuffer_multisample; GLboolean EXT_framebuffer_multisample_blit_scaled; GLboolean EXT_framebuffer_sRGB; -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev