mesa/docs
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
..
_extra
_exts docs: implement new vk-feat role 2023-03-10 14:02:06 +00:00
ci
drivers docs/panfrost: Move description of instancing 2023-03-11 06:30:02 +00:00
gallium st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing 2023-03-17 21:30:48 +00:00
isl
nir
relnotes docs/relnotes: add sha256sum for 22.3.7 2023-03-09 03:31:23 +00:00
vulkan
amber.rst
android.rst tu+meson: Re-work KMD selection 2023-02-25 17:02:34 +00:00
application-issues.rst
ARB_color_buffer_float.txt
bugs.rst
codingstyle.rst
conf.py
conform.rst
debugging.rst
developers.rst
devinfo.rst
dispatch.rst
download.rst
doxygen-wrapper.py
egl.rst
envvars.rst radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
extensions.rst
faq.rst
favicon.ico
favicon.svg
features.txt docs: update Anv features support 2023-03-14 02:08:01 +00:00
gallium-nine.rst meson: use a feature option for dri3 2023-01-19 16:29:03 +00:00
gpu-perf-tracing.rst
helpwanted.rst
history.rst
index.rst
install.rst docs: include explicit setup in instructions 2023-02-22 20:07:16 +00:00
libGL.txt
license.rst
lists.rst
macos.rst
meson.rst meson: bump minimum version to 0.60 2023-03-10 07:20:29 +00:00
opengles.rst meson: use a feature option for gles2 2023-01-19 16:29:03 +00:00
osmesa.rst docs: include explicit setup in instructions 2023-02-22 20:07:16 +00:00
perf.rst
perfetto.rst
precompiled.rst
README.UVD
README.VCE
release-calendar.csv docs: update calendar for 22.3.7 2023-03-09 03:31:23 +00:00
release-calendar.rst
release-maintainers-keys.asc
releasing.rst
relnotes.rst docs: add release notes for 22.3.7 2023-03-09 03:31:23 +00:00
repository.rst
rusticl.rst rusticl: fix build error with valgrind being enabled 2023-01-30 03:41:39 +01:00
shading.rst
sourcetree.rst
submittingpatches.rst
systems.rst
thanks.rst
u_trace.rst docs: fix invalid link 2023-03-10 00:36:40 +00:00
utilities.rst
viewperf.rst
xlibdriver.rst

The software may implement third party technologies (e.g. third party
libraries) that are not licensed to you by AMD and for which you may need
to obtain licenses from other parties.  Unless explicitly stated otherwise,
these third party technologies are not licensed hereunder.  Such third
party technologies include, but are not limited, to H.264, MPEG-2, MPEG-4,
AVC, and VC-1.  

For MPEG-2 Intermediate Products: ANY USE OF THIS PRODUCT IN ANY MANNER OTHER
THAN PERSONAL USE THAT COMPLIES WITH THE MPEG-2 STANDARD IS EXPRESSLY
PROHIBITED WITHOUT A LICENSE UNDER APPLICABLE PATENTS IN THE MPEG-2 PATENT
PORTFOLIO, WHICH LICENSES IS AVAILABLE FROM MPEG LA, LLC, 6312 S. Fiddlers
Green Circle, Suite 400E, Greenwood Village, Colorado 80111 U.S.A.

WARRANTY DISCLAIMER: THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND.  AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, THAT THE SOFTWARE WILL RUN
UNINTERRUPTED OR ERROR-FREE OR WARRANTIES ARISING FROM CUSTOM OF TRADE OR
COURSE OF USAGE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE SOFTWARE IS
ASSUMED BY YOU.  Some jurisdictions do not allow the exclusion of implied
warranties, so the above exclusion may not apply to You.

LIMITATION OF LIABILITY AND INDEMNIFICATION:  AMD AND ITS LICENSORS WILL NOT,
UNDER ANY CIRCUMSTANCES BE LIABLE FOR ANY PUNITIVE, DIRECT, INCIDENTAL,
INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM USE OF THE SOFTWARE OR
THIS AGREEMENT EVEN IF AMD AND ITS LICENSORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  In no event shall AMD's total liability to You
for all damages, losses, and causes of action (whether in contract, tort
(including negligence) or otherwise) exceed the amount of $100 USD.  You agree
to defend, indemnify and hold harmless AMD and its licensors, and any of their
directors, officers, employees, affiliates or agents from and against any and
all loss, damage, liability and other expenses (including reasonable
attorneys' fees), resulting from Your use of the Software or violation of the
terms and conditions of this Agreement.

U.S. GOVERNMENT RESTRICTED RIGHTS: The Software is provided with "RESTRICTED
RIGHTS." Use, duplication, or disclosure by the Government is subject to the
restrictions as set forth in FAR 52.227-14 and DFAR252.227-7013, et seq., or
its successor.  Use of the Software by the Government constitutes
acknowledgement of AMD's proprietary rights in them.

EXPORT RESTRICTIONS: The Software may be subject to export restrictions as
stated in the Software License Agreement.