mesa/docs/gallium
Kenneth Graunke b6878d456f st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing
Intel Gen9 GPUs have hardware ASTC support, but have a bug where they
don't handle denormalized values in void extent blocks correctly.  This
isn't that hard to work around - on upload, we can detect such blocks,
and flush any denorms to zero.  Because we're altering the data behind
the application's back, and applications can theoretically ask to
download the original unaltered image data, we unfortunately need to
maintain shadow copies of the data.

To make sure that we don't accidentally skip the void-extent flushing
via any fast-upload paths, and support download correctly, we plug this
into the st/mesa compressed texture format fallback paths, which store
a CPU copy of the original image data, and upload altered data.

This is unfortunately common code for what's likely to be a single
driver's issue (on a single generation), but it beats replicating an
entire framework we already have inside the driver.

Fixes dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.*
using iris on Intel Gen9 GPUs.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4167
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21943>
2023-03-17 21:30:48 +00:00
..
cso docs: IPE -> PIPE 2022-11-15 10:01:15 +00:00
buffermapping.rst docs: use ext-role for GL / VK extensions 2022-11-09 16:10:55 +00:00
context.rst docs: Document the implicit barriers around blits 2023-02-10 01:40:47 +00:00
cso.rst
debugging.rst docs: move generic gallium envvars to root doc 2022-11-15 11:25:05 +01:00
distro.rst
format.rst docs: apply some redirects 2022-11-10 17:26:19 +01:00
glossary.rst docs/gallium: move period out of quotes 2022-11-15 10:01:15 +00:00
index.rst
intro.rst
pipeline.txt
postprocess.rst docs: apply some redirects 2022-11-10 17:26:19 +01:00
resources.rst docs: use ext-role for GL / VK extensions 2022-11-09 16:10:55 +00:00
screen.rst st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing 2023-03-17 21:30:48 +00:00
tgsi.rst docs/tgsi: xDArray -> xD_ARRAY 2022-11-15 10:01:15 +00:00