The closed driver treats it the same as textureGather. Marek
On Wed, Nov 28, 2018 at 8:58 PM Ilia Mirkin <imir...@alum.mit.edu> wrote: > Series is > > Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > > Note that AMD_texture_texture4 is only defined for single-component > textures (not even RED allowed due to the age of the ext -- only ALPHA > / LUMINANCE / DEPTH_COMPONENT / INTENSITY) -- but it doesn't say what > will happen when a "bad" texture is supplied. I guess it's reasonable > to take the ARB_texture_gather interpretation as if the driver > reported MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB == 1, i.e. it's the > user's fault if something doesn't work. > > -ilia > On Wed, Nov 28, 2018 at 8:22 PM Marek Olšák <mar...@gmail.com> wrote: > > > > From: Marek Olšák <marek.ol...@amd.com> > > > > because the closed driver exposes it. Tested by piglit. > > --- > > docs/relnotes/19.0.0.html | 1 + > > src/compiler/glsl/builtin_functions.cpp | 10 ++++++++++ > > src/compiler/glsl/glsl_parser_extras.cpp | 1 + > > src/compiler/glsl/glsl_parser_extras.h | 2 ++ > > src/mesa/main/extensions_table.h | 1 + > > 5 files changed, 15 insertions(+) > > > > diff --git a/docs/relnotes/19.0.0.html b/docs/relnotes/19.0.0.html > > index d10bd2cf720..bc1776e8f4e 100644 > > --- a/docs/relnotes/19.0.0.html > > +++ b/docs/relnotes/19.0.0.html > > @@ -32,20 +32,21 @@ Compatibility contexts may report a lower version > depending on each driver. > > > > <h2>SHA256 checksums</h2> > > <pre> > > TBD. > > </pre> > > > > > > <h2>New features</h2> > > > > <ul> > > +<li>GL_AMD_texture_texture4 on all GL 4.0 drivers.</li> > > <li>GL_EXT_shader_implicit_conversions on all drivers (ES > extension).</li> > > <li>GL_EXT_texture_compression_bptc on all GL 4.0 drivers (ES > extension).<li> > > <li>GL_EXT_texture_compression_rgtc on all GL 3.0 drivers (ES > extension).<li> > > <li>GL_EXT_texture_view on drivers supporting texture views (ES > extension).<li> > > <li>GL_OES_texture_view on drivers supporting texture views (ES > extension).</li> > > </ul> > > > > <h2>Bug fixes</h2> > > > > <ul> > > diff --git a/src/compiler/glsl/builtin_functions.cpp > b/src/compiler/glsl/builtin_functions.cpp > > index 5650365d1d5..62fbe10c623 100644 > > --- a/src/compiler/glsl/builtin_functions.cpp > > +++ b/src/compiler/glsl/builtin_functions.cpp > > @@ -411,20 +411,26 @@ texture_query_lod(const _mesa_glsl_parse_state > *state) > > static bool > > texture_gather_cube_map_array(const _mesa_glsl_parse_state *state) > > { > > return state->is_version(400, 320) || > > state->ARB_texture_gather_enable || > > state->ARB_gpu_shader5_enable || > > state->EXT_texture_cube_map_array_enable || > > state->OES_texture_cube_map_array_enable; > > } > > > > +static bool > > +texture_texture4(const _mesa_glsl_parse_state *state) > > +{ > > + return state->AMD_texture_texture4_enable; > > +} > > + > > static bool > > texture_gather_or_es31(const _mesa_glsl_parse_state *state) > > { > > return state->is_version(400, 310) || > > state->ARB_texture_gather_enable || > > state->ARB_gpu_shader5_enable; > > } > > > > /* Only ARB_texture_gather but not GLSL 4.0 or ARB_gpu_shader5. > > * used for relaxation of const offset requirements. > > @@ -2895,20 +2901,24 @@ builtin_builder::create_builtins() > > NULL); > > > > add_function("shadow2DRectGradARB", > > _texture(ir_txd, shader_texture_lod_and_rect, > glsl_type::vec4_type, glsl_type::sampler2DRectShadow_type, > glsl_type::vec3_type), > > NULL); > > > > add_function("shadow2DRectProjGradARB", > > _texture(ir_txd, shader_texture_lod_and_rect, > glsl_type::vec4_type, glsl_type::sampler2DRectShadow_type, > glsl_type::vec4_type, TEX_PROJECT), > > NULL); > > > > + add_function("texture4", > > + _texture(ir_tg4, texture_texture4, > glsl_type::vec4_type, glsl_type::sampler2D_type, glsl_type::vec2_type), > > + NULL); > > + > > add_function("textureGather", > > _texture(ir_tg4, texture_gather_or_es31, > glsl_type::vec4_type, glsl_type::sampler2D_type, glsl_type::vec2_type), > > _texture(ir_tg4, texture_gather_or_es31, > glsl_type::ivec4_type, glsl_type::isampler2D_type, glsl_type::vec2_type), > > _texture(ir_tg4, texture_gather_or_es31, > glsl_type::uvec4_type, glsl_type::usampler2D_type, glsl_type::vec2_type), > > > > _texture(ir_tg4, gpu_shader5, glsl_type::vec4_type, > glsl_type::sampler2DRect_type, glsl_type::vec2_type), > > _texture(ir_tg4, gpu_shader5, glsl_type::ivec4_type, > glsl_type::isampler2DRect_type, glsl_type::vec2_type), > > _texture(ir_tg4, gpu_shader5, glsl_type::uvec4_type, > glsl_type::usampler2DRect_type, glsl_type::vec2_type), > > > > _texture(ir_tg4, texture_gather_or_es31, > glsl_type::vec4_type, glsl_type::sampler2DArray_type, glsl_type::vec3_type), > > diff --git a/src/compiler/glsl/glsl_parser_extras.cpp > b/src/compiler/glsl/glsl_parser_extras.cpp > > index 21ed34d79d0..1def5c7da5c 100644 > > --- a/src/compiler/glsl/glsl_parser_extras.cpp > > +++ b/src/compiler/glsl/glsl_parser_extras.cpp > > @@ -699,20 +699,21 @@ static const _mesa_glsl_extension > _mesa_glsl_supported_extensions[] = { > > EXT(OES_texture_cube_map_array), > > EXT_AEP(OES_texture_storage_multisample_2d_array), > > EXT(OES_viewport_array), > > > > /* All other extensions go here, sorted alphabetically. > > */ > > EXT(AMD_conservative_depth), > > EXT(AMD_gpu_shader_int64), > > EXT(AMD_shader_stencil_export), > > EXT(AMD_shader_trinary_minmax), > > + EXT(AMD_texture_texture4), > > EXT(AMD_vertex_shader_layer), > > 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), > > EXT_AEP(EXT_geometry_shader), > > EXT_AEP(EXT_gpu_shader5), > > diff --git a/src/compiler/glsl/glsl_parser_extras.h > b/src/compiler/glsl/glsl_parser_extras.h > > index da8b2fa3ab5..ce18f3f89cd 100644 > > --- a/src/compiler/glsl/glsl_parser_extras.h > > +++ b/src/compiler/glsl/glsl_parser_extras.h > > @@ -779,20 +779,22 @@ struct _mesa_glsl_parse_state { > > /* All other extensions go here, sorted alphabetically. > > */ > > bool AMD_conservative_depth_enable; > > bool AMD_conservative_depth_warn; > > bool AMD_gpu_shader_int64_enable; > > bool AMD_gpu_shader_int64_warn; > > bool AMD_shader_stencil_export_enable; > > bool AMD_shader_stencil_export_warn; > > bool AMD_shader_trinary_minmax_enable; > > bool AMD_shader_trinary_minmax_warn; > > + bool AMD_texture_texture4_enable; > > + bool AMD_texture_texture4_warn; > > bool AMD_vertex_shader_layer_enable; > > bool AMD_vertex_shader_layer_warn; > > bool AMD_vertex_shader_viewport_index_enable; > > bool AMD_vertex_shader_viewport_index_warn; > > bool ANDROID_extension_pack_es31a_enable; > > bool ANDROID_extension_pack_es31a_warn; > > bool EXT_blend_func_extended_enable; > > bool EXT_blend_func_extended_warn; > > bool EXT_clip_cull_distance_enable; > > bool EXT_clip_cull_distance_warn; > > diff --git a/src/mesa/main/extensions_table.h > b/src/mesa/main/extensions_table.h > > index 45ee7675ab2..2a3e1ab32ca 100644 > > --- a/src/mesa/main/extensions_table.h > > +++ b/src/mesa/main/extensions_table.h > > @@ -13,20 +13,21 @@ EXT(AMD_depth_clamp_separate , > AMD_depth_clamp_separate > > EXT(AMD_draw_buffers_blend , ARB_draw_buffers_blend > , GLL, GLC, x , x , 2009) > > EXT(AMD_framebuffer_multisample_advanced , > AMD_framebuffer_multisample_advanced , GLL, GLC, x , ES2, 2018) > > EXT(AMD_gpu_shader_int64 , ARB_gpu_shader_int64 > , x , GLC, x , x , 2015) > > EXT(AMD_multi_draw_indirect , ARB_draw_indirect > , GLL, GLC, x , x , 2011) > > EXT(AMD_performance_monitor , AMD_performance_monitor > , GLL, GLC, x , ES2, 2007) > > EXT(AMD_pinned_memory , AMD_pinned_memory > , GLL, GLC, x , x , 2013) > > EXT(AMD_query_buffer_object , ARB_query_buffer_object > , GLL, GLC, x , x , 2012) > > EXT(AMD_seamless_cubemap_per_texture , > AMD_seamless_cubemap_per_texture , GLL, GLC, x , x , 2009) > > EXT(AMD_shader_stencil_export , > ARB_shader_stencil_export , GLL, GLC, x , x , 2009) > > EXT(AMD_shader_trinary_minmax , dummy_true > , GLL, GLC, x , x , 2012) > > +EXT(AMD_texture_texture4 , ARB_texture_gather > , GLL, GLC, x , x , 2008) > > EXT(AMD_vertex_shader_layer , AMD_vertex_shader_layer > , GLL, GLC, x , x , 2012) > > EXT(AMD_vertex_shader_viewport_index , > AMD_vertex_shader_viewport_index , GLL, GLC, x , x , 2012) > > > > EXT(ANDROID_extension_pack_es31a , > ANDROID_extension_pack_es31a , x , x , x , 31, 2014) > > > > EXT(ANGLE_texture_compression_dxt3 , > ANGLE_texture_compression_dxt , GLL, GLC, ES1, ES2, 2011) > > EXT(ANGLE_texture_compression_dxt5 , > ANGLE_texture_compression_dxt , GLL, GLC, ES1, ES2, 2011) > > > > EXT(APPLE_object_purgeable , APPLE_object_purgeable > , GLL, GLC, x , x , 2006) > > EXT(APPLE_packed_pixels , dummy_true > , GLL, x , x , x , 2002) > > -- > > 2.17.1 > > > > _______________________________________________ > > 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