[Mesa-dev] [PATCH 8/8] st/mesa: expose KHR_texture_compression_astc_sliced_3d

Marek Olšák maraeo at gmail.com
Thu Aug 9 02:12:50 UTC 2018


From: Marek Olšák <marek.olsak at amd.com>

This is ASTC 2D LDR allowing texture arrays and 3D, compressing each
slice as a separate 2D image. Tested by piglit. Trivial.
---
 docs/features.txt                      | 2 +-
 docs/relnotes/18.3.0.html              | 1 +
 src/mesa/state_tracker/st_extensions.c | 6 ++++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/docs/features.txt b/docs/features.txt
index 37614470a14..dead4815cf3 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -318,21 +318,21 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
   GL_ARB_texture_filter_minmax                          not started
   GL_EXT_memory_object                                  DONE (radeonsi)
   GL_EXT_memory_object_fd                               DONE (radeonsi)
   GL_EXT_memory_object_win32                            not started
   GL_EXT_semaphore                                      DONE (radeonsi)
   GL_EXT_semaphore_fd                                   DONE (radeonsi)
   GL_EXT_semaphore_win32                                not started
   GL_EXT_texture_norm16                                 DONE (i965, r600, radeonsi, nvc0)
   GL_KHR_blend_equation_advanced_coherent               DONE (i965/gen9+)
   GL_KHR_texture_compression_astc_hdr                   DONE (i965/bxt)
-  GL_KHR_texture_compression_astc_sliced_3d             DONE (i965/gen9+)
+  GL_KHR_texture_compression_astc_sliced_3d             DONE (i965/gen9+, radeonsi)
   GL_OES_depth_texture_cube_map                         DONE (all drivers that support GLSL 1.30+)
   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)
diff --git a/docs/relnotes/18.3.0.html b/docs/relnotes/18.3.0.html
index 5930515898a..5400b13f850 100644
--- a/docs/relnotes/18.3.0.html
+++ b/docs/relnotes/18.3.0.html
@@ -52,20 +52,21 @@ Note: some of the new features are only available with certain drivers.
 
 <ul>
 <li>GL_AMD_framebuffer_multisample_advanced on radeonsi.</li>
 <li>GL_AMD_gpu_shader_int64 on i965, nvc0, radeonsi.</li>
 <li>GL_AMD_multi_draw_indirect on all GL 4.x drivers.</li>
 <li>GL_AMD_query_buffer_object on i965, nvc0, r600, radeonsi.</li>
 <li>GL_AMD_texture_texture4 on i965, nvc0, r600, radeonsi.</li>
 <li>GL_EXT_disjoint_timer_query on radeonsi and most other Gallium drivers (ES extension)</li>
 <li>GL_EXT_vertex_attrib_64bit on i965, nvc0, radeonsi.</li>
 <li>GL_EXT_window_rectangles on radeonsi.</li>
+<li>GL_KHR_texture_compression_astc_sliced_3d on radeonsi.</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 55b19d6e1fb..cfee4817969 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -787,21 +787,22 @@ void st_init_extensions(struct pipe_screen *screen,
           PIPE_FORMAT_DXT1_RGBA,
           PIPE_FORMAT_DXT3_RGBA,
           PIPE_FORMAT_DXT5_RGBA } },
 
       { { o(ARB_texture_compression_bptc) },
         { PIPE_FORMAT_BPTC_RGBA_UNORM,
           PIPE_FORMAT_BPTC_SRGBA,
           PIPE_FORMAT_BPTC_RGB_FLOAT,
           PIPE_FORMAT_BPTC_RGB_UFLOAT } },
 
-      { { o(KHR_texture_compression_astc_ldr) },
+      { { o(KHR_texture_compression_astc_ldr),
+          o(KHR_texture_compression_astc_sliced_3d) },
         { PIPE_FORMAT_ASTC_4x4,
           PIPE_FORMAT_ASTC_5x4,
           PIPE_FORMAT_ASTC_5x5,
           PIPE_FORMAT_ASTC_6x5,
           PIPE_FORMAT_ASTC_6x6,
           PIPE_FORMAT_ASTC_8x5,
           PIPE_FORMAT_ASTC_8x6,
           PIPE_FORMAT_ASTC_8x8,
           PIPE_FORMAT_ASTC_10x5,
           PIPE_FORMAT_ASTC_10x6,
@@ -818,21 +819,22 @@ void st_init_extensions(struct pipe_screen *screen,
           PIPE_FORMAT_ASTC_8x6_SRGB,
           PIPE_FORMAT_ASTC_8x8_SRGB,
           PIPE_FORMAT_ASTC_10x5_SRGB,
           PIPE_FORMAT_ASTC_10x6_SRGB,
           PIPE_FORMAT_ASTC_10x8_SRGB,
           PIPE_FORMAT_ASTC_10x10_SRGB,
           PIPE_FORMAT_ASTC_12x10_SRGB,
           PIPE_FORMAT_ASTC_12x12_SRGB } },
 
       /* ASTC software fallback support. */
-      { { o(KHR_texture_compression_astc_ldr) },
+      { { o(KHR_texture_compression_astc_ldr),
+          o(KHR_texture_compression_astc_sliced_3d) },
         { PIPE_FORMAT_R8G8B8A8_UNORM,
           PIPE_FORMAT_R8G8B8A8_SRGB } },
 
       { { o(EXT_texture_shared_exponent) },
         { PIPE_FORMAT_R9G9B9E5_FLOAT } },
 
       { { o(EXT_texture_snorm) },
         { PIPE_FORMAT_R8G8B8A8_SNORM } },
 
       { { o(EXT_texture_sRGB),
-- 
2.17.1



More information about the mesa-dev mailing list