On Fri, Feb 10, 2017 at 1:21 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > On Fri, Feb 10, 2017 at 4:15 PM, Anuj Phogat <anuj.pho...@gmail.com> wrote: >> 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. > > Out of curiousity, why do you need this? > I'm not aware of any application using it. It's just another ES extension which can be enabled on Mesa with almost zero efforts. >> --- >> 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) > > Not sure what such a partial list gets you... > Added to document the extension support. I'll drop it in favor of doing it sometime later with rest of gles 3.0 extensions.
>> + >> 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"); > > So wait, if I have a #version 300 es shader, and #extension > GL_EXT_frag_depth: enable, I can't use gl_FragDepthEXT? Where is that > specified? > You're right. I'll modify the condition to use state->language_version >= 100 >> + >> 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; > > Is this used anywhere? > No, I initially added it to allow drivers to enable the extension. But later switched it on for all. I'll remove it. >> 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev