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:
@@ -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.
|
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user