mesa/src/util/format
Faith Ekstrand 9a6ec6cdd6 util/format: 8-bit interleaved YUV formats are UNORM
Without this, gallivm doesn't know what to do with the result data of a
texture fetch.  We have a bunch of gallivm code to handle these but, as
far as I can tell, none of it works properly without channel types.  The
YUYV texturing helpers all consume a 32-bit packed value, unpack it,
shuffle things as needed, and then re-pack into a 32-bit RGBA value,
trusting later code to unpack that as 8-bit UNORM.  For the raw formats,
this unpacking never happens.

What saves us is that I also don't think any of this code is ever used.
LLVMpipe supports the actual YUYV formats and we don't use the gallium
lowering pass which lowers to the raw formats.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24619>
2023-08-14 23:44:19 +00:00
..
format_utils.h format_utils: properly parenthesize macro params 2022-06-04 13:15:57 +00:00
meson.build meson: Remove arm_neon_workaround 2023-08-03 08:11:17 +00:00
texcompress_bptc_tmp.h util: Move texcompress template files into util/format 2022-11-10 05:35:41 +00:00
texcompress_etc_tmp.h util: Move texcompress template files into util/format 2022-11-10 05:35:41 +00:00
texcompress_s3tc_tmp.h util: Move texcompress template files into util/format 2022-11-10 05:35:41 +00:00
u_format.c util: Remove include "pipe/*.h" in src/util/* files 2023-08-02 03:41:24 +00:00
u_format.csv util/format: 8-bit interleaved YUV formats are UNORM 2023-08-14 23:44:19 +00:00
u_format.h util: Remove include "pipe/*.h" in src/util/* files 2023-08-02 03:41:24 +00:00
u_format_bptc.c util: Move texcompress template files into util/format 2022-11-10 05:35:41 +00:00
u_format_bptc.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_etc.c util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_etc.h util: add missing c99_compat.h includes 2022-06-02 13:09:15 +00:00
u_format_fxt1.c util: Replace usage of boolean with c11 bool in src/util/format/* and src/util/tests/format/* 2022-11-11 06:48:46 +00:00
u_format_fxt1.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_latc.c
u_format_latc.h util: add missing c99_compat.h includes 2022-06-02 13:09:15 +00:00
u_format_other.c
u_format_other.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_pack.py util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_parse.py python: drop python2 support 2021-08-14 21:44:32 +00:00
u_format_rgtc.c util/format: implement rgtc -> r8 / r8g8 unpack 2022-09-15 08:16:01 +00:00
u_format_rgtc.h util/format: implement rgtc -> r8 / r8g8 unpack 2022-09-15 08:16:01 +00:00
u_format_s3tc.c util: Replace usage of boolean with c11 bool in src/util/format/* and src/util/tests/format/* 2022-11-11 06:48:46 +00:00
u_format_s3tc.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_table.py gallium/st: lower NV21 to R8_B8G8 instead of G8_B8R8 2023-08-11 18:43:38 +00:00
u_format_tests.c mesa/main: add PIPE_FORMAT_VYUY and PIPE_FORMAT_B8R8_G8R8 2023-07-10 16:29:13 +00:00
u_format_tests.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_format_unpack_neon.c util: Include the needed util/detect*.h headers in multiple files 2022-11-15 20:35:55 +00:00
u_format_yuv.c mesa/main: add PIPE_FORMAT_VYUY and PIPE_FORMAT_B8R8_G8R8 2023-07-10 16:29:13 +00:00
u_format_yuv.h mesa/main: add PIPE_FORMAT_VYUY and PIPE_FORMAT_B8R8_G8R8 2023-07-10 16:29:13 +00:00
u_format_zs.c util/format: add new z24/s8 packing helper to pack z32/s8. 2022-03-26 01:22:15 +00:00
u_format_zs.h util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_formats.h gallium/st: lower NV21 to R8_B8G8 instead of G8_B8R8 2023-08-11 18:43:38 +00:00