gallium: Add defines for FXT1 texture compression.

This texture compression is exposed by 830 and 915, and to make
MESA_FORMAT match PIPE_FORMAT defines I need a corresponding
PIPE_FORMAT.

v2: Set is_hand_written so we don't try to generate pack/unpack code.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Eric Anholt
2019-07-01 12:39:55 -07:00
parent cb9fefe1db
commit 6196259d95
6 changed files with 22 additions and 2 deletions
+4
View File
@@ -191,6 +191,10 @@ PIPE_FORMAT_DXT1_SRGBA , s3tc, 4, 4, 1, x64 , , , , xyz
PIPE_FORMAT_DXT3_SRGBA , s3tc, 4, 4, 1, x128, , , , xyzw, srgb
PIPE_FORMAT_DXT5_SRGBA , s3tc, 4, 4, 1, x128, , , , xyzw, srgb
# FXT1 compressed formats
PIPE_FORMAT_FXT1_RGB , fxt1, 8, 4, 1, x128, , , , xyz1, rgb
PIPE_FORMAT_FXT1_RGBA , fxt1, 8, 4, 1, x128, , , , xyzw, rgb
PIPE_FORMAT_RGTC1_UNORM , rgtc, 4, 4, 1, x64, , , , x001, rgb
PIPE_FORMAT_RGTC1_SNORM , rgtc, 4, 4, 1, x64, , , , x001, rgb
PIPE_FORMAT_RGTC2_UNORM , rgtc, 4, 4, 1, x128, , , , xy01, rgb
Can't render this file because it contains an unexpected character in line 8 and column 3.
+2
View File
@@ -92,6 +92,8 @@ enum util_format_layout {
UTIL_FORMAT_LAYOUT_PLANAR2,
UTIL_FORMAT_LAYOUT_PLANAR3,
UTIL_FORMAT_LAYOUT_FXT1 = 10,
/**
* Everything else that doesn't fit in any of the above layouts.
*/
+1 -1
View File
@@ -142,7 +142,7 @@ def write_format_table(formats):
u_format_pack.print_channels(format, do_swizzle_array)
print(" %s," % (colorspace_map(format.colorspace),))
access = True
if format.layout == 'astc' or format.layout == 'atc':
if format.layout in ('astc', 'atc', 'fxt1'):
access = False
if format.layout == 'etc' and format.short_name() != 'etc1_rgb8':
access = False
@@ -392,7 +392,8 @@ test_all(unsigned verbose, FILE *fp)
/* missing fetch funcs */
if (format_desc->layout == UTIL_FORMAT_LAYOUT_ASTC ||
format_desc->layout == UTIL_FORMAT_LAYOUT_ATC) {
format_desc->layout == UTIL_FORMAT_LAYOUT_ATC ||
format_desc->layout == UTIL_FORMAT_LAYOUT_FXT1) {
continue;
}
+3
View File
@@ -406,6 +406,9 @@ enum pipe_format {
PIPE_FORMAT_ASTC_6x6x5_SRGB,
PIPE_FORMAT_ASTC_6x6x6_SRGB,
PIPE_FORMAT_FXT1_RGB,
PIPE_FORMAT_FXT1_RGBA,
PIPE_FORMAT_P016,
PIPE_FORMAT_R10G10B10X2_UNORM,
+10
View File
@@ -638,6 +638,11 @@ st_mesa_format_to_pipe_format(const struct st_context *st,
case MESA_FORMAT_ATC_RGBA_INTERPOLATED:
return PIPE_FORMAT_ATC_RGBA_INTERPOLATED;
case MESA_FORMAT_RGB_FXT1:
return PIPE_FORMAT_FXT1_RGB;
case MESA_FORMAT_RGBA_FXT1:
return PIPE_FORMAT_FXT1_RGBA;
default:
if (0) {
debug_printf("%s(mesa_format=%s) -> NONE\n",
@@ -1164,6 +1169,11 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
case PIPE_FORMAT_ATC_RGBA_INTERPOLATED:
return MESA_FORMAT_ATC_RGBA_INTERPOLATED;
case PIPE_FORMAT_FXT1_RGB:
return MESA_FORMAT_RGB_FXT1;
case PIPE_FORMAT_FXT1_RGBA:
return MESA_FORMAT_RGBA_FXT1;
default:
return MESA_FORMAT_NONE;
}