Mesa (master): nvc0: add BPTC format support

Ilia Mirkin imirkin at kemper.freedesktop.org
Tue Aug 12 23:28:06 UTC 2014


Module: Mesa
Branch: master
Commit: 2787bff8dddfa0770b6f0fb1bf81cf1076606965
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2787bff8dddfa0770b6f0fb1bf81cf1076606965

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Tue Jul 22 20:07:27 2014 -0400

nvc0: add BPTC format support

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

---

 docs/GL3.txt                                    |    2 +-
 docs/relnotes/10.3.html                         |    2 +-
 src/gallium/drivers/nouveau/nv50/nv50_formats.c |    7 +++++++
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/docs/GL3.txt b/docs/GL3.txt
index 3330d01..75ac69a 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -131,7 +131,7 @@ GL 4.1, GLSL 4.10:
 
 GL 4.2, GLSL 4.20:
 
-  GL_ARB_texture_compression_bptc                      DONE (i965)
+  GL_ARB_texture_compression_bptc                      DONE (i965, nvc0)
   GL_ARB_compressed_texture_pixel_storage              DONE (all drivers)
   GL_ARB_shader_atomic_counters                        DONE (i965)
   GL_ARB_texture_storage                               DONE (all drivers)
diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html
index 1398e89..519ea2c 100644
--- a/docs/relnotes/10.3.html
+++ b/docs/relnotes/10.3.html
@@ -63,7 +63,7 @@ Note: some of the new features are only available with certain drivers.
 <li>GL_OES_compressed_ETC1_RGB8_texture on nv30, nv50, nvc0, r300, r600, radeonsi, softpipe, llvmpipe</li>
 <li>A new software rasterizer driver (kms_swrast_dri.so) that works with
 DRM drivers that don't have a full-fledged GEM (such as qxl or simpledrm)</li>
-<li>GL_ARB_texture_compression_bptc on i965/gen7+</li>
+<li>GL_ARB_texture_compression_bptc on i965/gen7+, nvc0</li>
 <li>Distribute the Khronos GL/glcorearb.h header file.
 </ul>
 
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_formats.c b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
index ff33654..a467ca5 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_formats.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
@@ -62,12 +62,14 @@
 # define U_IC  U_IB
 # define U_TCV U_TBV
 # define U_ICV U_IBV
+# define U_t   U_T
 # define U_tV  U_TV
 #else
 # define U_TC  U_TR
 # define U_IC  U_IR
 # define U_TCV U_TRV
 # define U_ICV U_IRV
+# define U_t   0
 # define U_tV  U_V
 #endif
 
@@ -285,6 +287,11 @@ const struct nv50_format nv50_format_table[PIPE_FORMAT_COUNT] =
    C4B(LATC2_UNORM, NONE, C0, C0, C0, C1, UNORM, RGTC2, T),
    C4B(LATC2_SNORM, NONE, C0, C0, C0, C1, SNORM, RGTC2, T),
 
+   C4B(BPTC_RGBA_UNORM, NONE, C0, C1, C2, C3, UNORM, BPTC, t),
+   C4B(BPTC_SRGBA,      NONE, C0, C1, C2, C3, UNORM, BPTC, t),
+   F3B(BPTC_RGB_FLOAT,  NONE, C0, C1, C2, xx, FLOAT, BPTC_FLOAT, t),
+   F3B(BPTC_RGB_UFLOAT, NONE, C0, C1, C2, xx, FLOAT, BPTC_UFLOAT, t),
+
    C4A(R32G32B32A32_FLOAT, RGBA32_FLOAT, C0, C1, C2, C3, FLOAT, 32_32_32_32,
        IBV, 0),
    C4A(R32G32B32A32_UNORM, NONE, C0, C1, C2, C3, UNORM, 32_32_32_32, TV, 0),




More information about the mesa-commit mailing list