[Mesa-dev] [PATCH 1/2] st/mesa: expose GL_OES_texture_view

Ilia Mirkin imirkin at alum.mit.edu
Wed Nov 28 02:17:10 UTC 2018


On Tue, Nov 27, 2018 at 9:00 PM Marek Olšák <maraeo at gmail.com> wrote:
>
> From: Marek Olšák <marek.olsak at amd.com>
>
> For format fallbacks like ETC and ASTC, switching between sRGB and linear
> decoding is undefined, or at least is not bit-exact. Same as
> EXT_texture_sRGB_decode on GLES.
>
> There are no piglit or dEQP regresssions.

Just checking -- did you run dEQP on hardware that uses the ASTC
fallbacks? If not, could you?

Also, what are the conditions for enabling ASTC fallbacks? Basically
the issue is that OES_texture_view requires ASTC, so I want to make
sure it'll be enabled for any drivers that
PIPE_CAP_SAMPLER_VIEW_TARGET is enabled for.

Assuming neither of those have surprising responses, this series is

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

> ---
>  docs/features.txt                      | 2 +-
>  docs/relnotes/19.0.0.html              | 1 +
>  src/mesa/state_tracker/st_extensions.c | 1 +
>  3 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/docs/features.txt b/docs/features.txt
> index a97f998a5cc..8999e42519c 100644
> --- a/docs/features.txt
> +++ b/docs/features.txt
> @@ -331,21 +331,21 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
>    GL_OES_EGL_image                                      DONE (all drivers)
>    GL_OES_EGL_image_external                             DONE (all drivers)
>    GL_OES_EGL_image_external_essl3                       DONE (all drivers)
>    GL_OES_required_internalformat                        DONE (all drivers)
>    GL_OES_surfaceless_context                            DONE (all drivers)
>    GL_OES_texture_compression_astc                       DONE (core only)
>    GL_OES_texture_float                                  DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
>    GL_OES_texture_float_linear                           DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
>    GL_OES_texture_half_float                             DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
>    GL_OES_texture_half_float_linear                      DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
> -  GL_OES_texture_view                                   DONE (i965/gen8+)
> +  GL_OES_texture_view                                   DONE (i965/gen8+, freedreno, nv50, r600, radeonsi, nv50, nvc0, llvmpipe, softpipe, swr)
>    GL_OES_viewport_array                                 DONE (i965, nvc0, radeonsi)
>    GLX_ARB_context_flush_control                         not started
>    GLX_ARB_robustness_application_isolation              not started
>    GLX_ARB_robustness_share_group_isolation              not started
>
>  GL_EXT_direct_state_access subfeatures (in the spec order):
>    GL 1.1: Client commands                               not started
>    GL 1.0-1.3: Matrix and transpose matrix commands      not started
>    GL 1.1-1.2: Texture commands                          not started
>    GL 1.2: 3D texture commands                           not started
> diff --git a/docs/relnotes/19.0.0.html b/docs/relnotes/19.0.0.html
> index 1b839b0a485..f66f22132e1 100644
> --- a/docs/relnotes/19.0.0.html
> +++ b/docs/relnotes/19.0.0.html
> @@ -33,20 +33,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_EXT_shader_implicit_conversions on all drivers (ES extension).</li>
> +<li>GL_OES_texture_view on drivers supporting texture views (ES extension).</li>
>  </ul>
>
>  <h2>Bug fixes</h2>
>
>  <ul>
>  <li>TBD</li>
>  </ul>
>
>  <h2>Changes</h2>
>
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 16889074f66..5c068d14e93 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -760,20 +760,21 @@ void st_init_extensions(struct pipe_screen *screen,
>        { o(NV_fill_rectangle),                PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE      },
>        { o(NV_primitive_restart),             PIPE_CAP_PRIMITIVE_RESTART                },
>        { o(NV_texture_barrier),               PIPE_CAP_TEXTURE_BARRIER                  },
>        { o(NVX_gpu_memory_info),              PIPE_CAP_QUERY_MEMORY_INFO                },
>        /* GL_NV_point_sprite is not supported by gallium because we don't
>         * support the GL_POINT_SPRITE_R_MODE_NV option. */
>
>        { o(OES_standard_derivatives),         PIPE_CAP_SM3                              },
>        { o(OES_texture_float_linear),         PIPE_CAP_TEXTURE_FLOAT_LINEAR             },
>        { o(OES_texture_half_float_linear),    PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR        },
> +      { o(OES_texture_view),                 PIPE_CAP_SAMPLER_VIEW_TARGET              },
>     };
>
>     /* Required: render target and sampler support */
>     static const struct st_extension_format_mapping rendertarget_mapping[] = {
>        { { o(ARB_texture_float) },
>          { PIPE_FORMAT_R32G32B32A32_FLOAT,
>            PIPE_FORMAT_R16G16B16A16_FLOAT } },
>
>        { { o(OES_texture_float) },
>          { PIPE_FORMAT_R32G32B32A32_FLOAT } },
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list