mesa/src
Eric R. Smith b81aefcc19 mesa: when blitting between formats clear any unused components
If the state tracker chooses to implement one format with a more
general one (e.g. GL_ALPHA implemented with GL_RGBA) we end up
in a situation where some components should be ignored. Readpix
handles this correctly, but blit does not, which means that if
we blit between different formats we can end up writing garbage
into some components. Work around this by adding an explicit
swizzle to the pipe_blit_info struct, which can re-arrange elements
and/or put 0 or 1 into appropriate channels, and use this to
set the appropriate values into unused channels via the sampler
view.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31378>
2024-12-05 18:27:37 +00:00
..
amd ci: update VKCTS main to a9f7069b9a5ba94715a175cb1818ed504add0107 2024-12-05 08:06:23 +00:00
android_stub
asahi nir,asahi: make argument alignment configurable 2024-12-05 10:58:51 +00:00
broadcom v3d/ci: update rpi expectations by last piglit uprev 2024-12-04 16:57:24 +00:00
c11 build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
compiler nir,asahi: make argument alignment configurable 2024-12-05 10:58:51 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl meson: drop unused variables 2024-11-26 20:45:41 +00:00
etnaviv teflon/tests: Also use the cache for models in the test suite 2024-12-05 17:02:27 +00:00
freedreno gallium: replace PIPE_SHADER_CAP_INDIRECT_INPUT/OUTPUT_ADDR with NIR options 2024-12-03 12:57:36 +00:00
gallium mesa: when blitting between formats clear any unused components 2024-12-05 18:27:37 +00:00
gbm Revert "gbm: mark surface buffers as explicit flushed" 2024-11-27 22:48:04 +00:00
getopt build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
gfxstream gfxstream: fix issues with VK1.4 build 2024-12-03 20:35:44 +00:00
glx glx: return BadMatch for invalid reset notification strategy 2024-11-27 19:00:20 +00:00
gtest build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imagination pco: fix x86 build 2024-12-05 00:50:16 +00:00
imgui
intel anv: report formats supported by the common bvh framework 2024-12-05 15:54:10 +00:00
loader loader: Fix typo in __DRI_IMAGE_FORMAT_XBGR16161616 definition 2024-10-25 14:18:24 +00:00
mapi meson: remove selinux option 2024-10-21 01:14:35 +00:00
mesa mesa: when blitting between formats clear any unused components 2024-12-05 18:27:37 +00:00
microsoft microsoft/compiler: Put holes in driver_location based on I/O variable sizes 2024-12-02 22:40:39 +00:00
nouveau gallium: replace PIPE_SHADER_CAP_INDIRECT_INPUT/OUTPUT_ADDR with NIR options 2024-12-03 12:57:36 +00:00
panfrost panvk: free preload-shaders after compiling 2024-12-05 17:45:16 +00:00
tool perfetto: Add Panfrost data sources to system.cfg 2024-08-22 18:33:45 +00:00
util util/bitset: add BITSET_GET_RANGE_INSIDE_WORD 2024-12-04 13:40:41 +00:00
virtio treewide: Stop putting enum in front of Vulkan enum types 2024-12-02 17:22:49 +00:00
vulkan vulkan/meta: plug a couple of memory leaks 2024-12-05 17:45:16 +00:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format nir: add helpers for precompiled shaders 2024-11-28 17:34:12 +00:00
meson.build meson: simplify logic a bit 2024-11-26 20:45:41 +00:00