aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/util/u_format.csv21
-rw-r--r--src/gallium/include/pipe/p_format.h22
-rw-r--r--src/mesa/state_tracker/st_format.c82
3 files changed, 125 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_format.csv b/src/gallium/auxiliary/util/u_format.csv
index 61b991e1f9e..800f3726cf7 100644
--- a/src/gallium/auxiliary/util/u_format.csv
+++ b/src/gallium/auxiliary/util/u_format.csv
@@ -249,6 +249,27 @@ PIPE_FORMAT_ASTC_10x10_SRGB , astc,10,10, 1, x128, , , , xyz
PIPE_FORMAT_ASTC_12x10_SRGB , astc,12,10, 1, x128, , , , xyzw, srgb
PIPE_FORMAT_ASTC_12x12_SRGB , astc,12,12, 1, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_3x3x3 , astc, 3, 3, 3, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_4x3x3 , astc, 4, 3, 3, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_4x4x3 , astc, 4, 4, 3, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_4x4x4 , astc, 4, 4, 4, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_5x4x4 , astc, 5, 4, 4, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_5x5x4 , astc, 5, 5, 4, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_5x5x5 , astc, 5, 5, 5, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_6x5x5 , astc, 6, 5, 5, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_6x6x5 , astc, 6, 6, 5, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_6x6x6 , astc, 6, 6, 6, x128, , , , xyzw, rgb
+PIPE_FORMAT_ASTC_3x3x3_SRGB , astc, 3, 3, 3, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_4x3x3_SRGB , astc, 4, 3, 3, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_4x4x3_SRGB , astc, 4, 4, 3, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_4x4x4_SRGB , astc, 4, 4, 4, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_5x4x4_SRGB , astc, 5, 4, 4, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_5x5x4_SRGB , astc, 5, 5, 4, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_5x5x5_SRGB , astc, 5, 5, 5, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_6x5x5_SRGB , astc, 6, 5, 5, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_6x6x5_SRGB , astc, 6, 6, 5, x128, , , , xyzw, srgb
+PIPE_FORMAT_ASTC_6x6x6_SRGB , astc, 6, 6, 6, x128, , , , xyzw, srgb
+
PIPE_FORMAT_ATC_RGB , atc, 4, 4, 1, x64, , , , xyz1, rgb
PIPE_FORMAT_ATC_RGBA_EXPLICIT , atc, 4, 4, 1, x128, , , , xyzw, rgb
PIPE_FORMAT_ATC_RGBA_INTERPOLATED , atc, 4, 4, 1, x128, , , , xyzw, rgb
diff --git a/src/gallium/include/pipe/p_format.h b/src/gallium/include/pipe/p_format.h
index f4a17247db7..620e192e20c 100644
--- a/src/gallium/include/pipe/p_format.h
+++ b/src/gallium/include/pipe/p_format.h
@@ -389,6 +389,28 @@ enum pipe_format {
PIPE_FORMAT_ASTC_12x10_SRGB,
PIPE_FORMAT_ASTC_12x12_SRGB,
+ PIPE_FORMAT_ASTC_3x3x3,
+ PIPE_FORMAT_ASTC_4x3x3,
+ PIPE_FORMAT_ASTC_4x4x3,
+ PIPE_FORMAT_ASTC_4x4x4,
+ PIPE_FORMAT_ASTC_5x4x4,
+ PIPE_FORMAT_ASTC_5x5x4,
+ PIPE_FORMAT_ASTC_5x5x5,
+ PIPE_FORMAT_ASTC_6x5x5,
+ PIPE_FORMAT_ASTC_6x6x5,
+ PIPE_FORMAT_ASTC_6x6x6,
+
+ PIPE_FORMAT_ASTC_3x3x3_SRGB,
+ PIPE_FORMAT_ASTC_4x3x3_SRGB,
+ PIPE_FORMAT_ASTC_4x4x3_SRGB,
+ PIPE_FORMAT_ASTC_4x4x4_SRGB,
+ PIPE_FORMAT_ASTC_5x4x4_SRGB,
+ PIPE_FORMAT_ASTC_5x5x4_SRGB,
+ PIPE_FORMAT_ASTC_5x5x5_SRGB,
+ PIPE_FORMAT_ASTC_6x5x5_SRGB,
+ PIPE_FORMAT_ASTC_6x6x5_SRGB,
+ PIPE_FORMAT_ASTC_6x6x6_SRGB,
+
PIPE_FORMAT_P016,
PIPE_FORMAT_R10G10B10X2_UNORM,
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index 4edb6782473..5f7997c5c5a 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -602,6 +602,47 @@ st_mesa_format_to_pipe_format(const struct st_context *st,
return PIPE_FORMAT_R8G8B8A8_SRGB;
return PIPE_FORMAT_ASTC_12x12_SRGB;
+ case MESA_FORMAT_RGBA_ASTC_3x3x3:
+ return PIPE_FORMAT_ASTC_3x3x3;
+ case MESA_FORMAT_RGBA_ASTC_4x3x3:
+ return PIPE_FORMAT_ASTC_4x3x3;
+ case MESA_FORMAT_RGBA_ASTC_4x4x3:
+ return PIPE_FORMAT_ASTC_4x4x3;
+ case MESA_FORMAT_RGBA_ASTC_4x4x4:
+ return PIPE_FORMAT_ASTC_4x4x4;
+ case MESA_FORMAT_RGBA_ASTC_5x4x4:
+ return PIPE_FORMAT_ASTC_5x4x4;
+ case MESA_FORMAT_RGBA_ASTC_5x5x4:
+ return PIPE_FORMAT_ASTC_5x5x4;
+ case MESA_FORMAT_RGBA_ASTC_5x5x5:
+ return PIPE_FORMAT_ASTC_5x5x5;
+ case MESA_FORMAT_RGBA_ASTC_6x5x5:
+ return PIPE_FORMAT_ASTC_6x5x5;
+ case MESA_FORMAT_RGBA_ASTC_6x6x5:
+ return PIPE_FORMAT_ASTC_6x6x5;
+ case MESA_FORMAT_RGBA_ASTC_6x6x6:
+ return PIPE_FORMAT_ASTC_6x6x6;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_3x3x3:
+ return PIPE_FORMAT_ASTC_3x3x3_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x3x3:
+ return PIPE_FORMAT_ASTC_4x3x3_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x3:
+ return PIPE_FORMAT_ASTC_4x4x3_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x4:
+ return PIPE_FORMAT_ASTC_4x4x4_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x4x4:
+ return PIPE_FORMAT_ASTC_5x4x4_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x4:
+ return PIPE_FORMAT_ASTC_5x5x4_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x5:
+ return PIPE_FORMAT_ASTC_5x5x5_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x5x5:
+ return PIPE_FORMAT_ASTC_6x5x5_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x5:
+ return PIPE_FORMAT_ASTC_6x6x5_SRGB;
+ case MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x6:
+ return PIPE_FORMAT_ASTC_6x6x6_SRGB;
+
case MESA_FORMAT_ATC_RGB:
return PIPE_FORMAT_ATC_RGB;
case MESA_FORMAT_ATC_RGBA_EXPLICIT:
@@ -1095,6 +1136,47 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
case PIPE_FORMAT_ASTC_12x12_SRGB:
return MESA_FORMAT_SRGB8_ALPHA8_ASTC_12x12;
+ case PIPE_FORMAT_ASTC_3x3x3:
+ return MESA_FORMAT_RGBA_ASTC_3x3x3;
+ case PIPE_FORMAT_ASTC_4x3x3:
+ return MESA_FORMAT_RGBA_ASTC_4x3x3;
+ case PIPE_FORMAT_ASTC_4x4x3:
+ return MESA_FORMAT_RGBA_ASTC_4x4x3;
+ case PIPE_FORMAT_ASTC_4x4x4:
+ return MESA_FORMAT_RGBA_ASTC_4x4x4;
+ case PIPE_FORMAT_ASTC_5x4x4:
+ return MESA_FORMAT_RGBA_ASTC_5x4x4;
+ case PIPE_FORMAT_ASTC_5x5x4:
+ return MESA_FORMAT_RGBA_ASTC_5x5x4;
+ case PIPE_FORMAT_ASTC_5x5x5:
+ return MESA_FORMAT_RGBA_ASTC_5x5x5;
+ case PIPE_FORMAT_ASTC_6x5x5:
+ return MESA_FORMAT_RGBA_ASTC_6x5x5;
+ case PIPE_FORMAT_ASTC_6x6x5:
+ return MESA_FORMAT_RGBA_ASTC_6x6x5;
+ case PIPE_FORMAT_ASTC_6x6x6:
+ return MESA_FORMAT_RGBA_ASTC_6x6x6;
+ case PIPE_FORMAT_ASTC_3x3x3_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_3x3x3;
+ case PIPE_FORMAT_ASTC_4x3x3_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x3x3;
+ case PIPE_FORMAT_ASTC_4x4x3_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x3;
+ case PIPE_FORMAT_ASTC_4x4x4_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x4;
+ case PIPE_FORMAT_ASTC_5x4x4_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x4x4;
+ case PIPE_FORMAT_ASTC_5x5x4_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x4;
+ case PIPE_FORMAT_ASTC_5x5x5_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x5;
+ case PIPE_FORMAT_ASTC_6x5x5_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x5x5;
+ case PIPE_FORMAT_ASTC_6x6x5_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x5;
+ case PIPE_FORMAT_ASTC_6x6x6_SRGB:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x6;
+
case PIPE_FORMAT_ATC_RGB:
return MESA_FORMAT_ATC_RGB;
case PIPE_FORMAT_ATC_RGBA_EXPLICIT: