On Fri, Feb 10, 2017 at 4:36 PM, Anuj Phogat <anuj.pho...@gmail.com> wrote: > 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
I think you just want if (state->EXT_frag_depth_enable) and nothing else... >>> + >>> 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