mesa/src
Mike Blumenkrantz e7b9561959 gallium: implement compute pbo download
this reworks PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER into an
enum as PIPE_CAP_TEXTURE_TRANSFER_MODES, enabling drivers to choose
a (sometimes) faster, compute-based download mechanism based on a new
pipe_screen hook

compute pbo download is implemented using shaders with a prolog to convert
the input format to generic rgb float values, then an epilog to convert
to the output value. the prolog and epilog are determined based on a vec4
of packed ubo data which is dynamically updated based on the API usage

currently, the only known limitations are:
* GL_ARB_texture_cube_map_array is broken somehow (and disabled)
* AMD hardware somehow can't do depth readback?

otherwise it should work for every possible case

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11984>
2021-11-18 08:00:07 -05:00
..
amd radv: Implement VK_EXT_image_view_min_lod 2021-11-18 01:05:06 +00:00
android_stub
asahi
broadcom broadcom/compiler: fix early fragment tests setup 2021-11-18 07:39:32 +00:00
compiler glsl/nir: Don't build soft float64 when it cannot be used 2021-11-17 12:23:29 -08:00
drm-shim
egl c11/threads: Re-align return values for timed waits 2021-11-16 10:02:08 -06:00
etnaviv ci/etnaviv: no need to force nir anymore 2021-11-12 08:22:29 +00:00
freedreno turnip: don't use mesa/macros.h to get utils/rounding.h 2021-11-18 10:46:51 +00:00
gallium gallium: implement compute pbo download 2021-11-18 08:00:07 -05:00
gbm gbm: add GBM_FORMAT_GR1616 and RG1616 2021-10-27 02:53:05 +00:00
getopt
glx glx: add a workaround to glXDestroyWindow for Viewperf2020/Sw 2021-11-17 21:26:54 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imgui
intel intel/nir: also allow unknown format for getting the size of a storage image 2021-11-17 21:06:23 +00:00
loader
mapi glthread: add an option to make glCheckFramebufferStatus a no-op 2021-10-27 01:24:03 +00:00
mesa gallium: implement compute pbo download 2021-11-18 08:00:07 -05:00
microsoft microsoft/clc: Add a test for arg metadata 2021-11-15 07:47:06 -08:00
nouveau
panfrost pan/mdg: Remove duplicate compiler option 2021-11-12 16:30:02 +00:00
tool pps: add an intel config file 2021-10-28 13:16:56 +03:00
util glx: add a workaround to glXDestroyWindow for Viewperf2020/Sw 2021-11-17 21:26:54 +00:00
virtio virgl: obtain supported number of shader sampler views from host 2021-11-08 19:34:30 +00:00
vulkan vulkan: Update the XML and headers to 1.2.199 2021-11-18 01:05:06 +00:00
meson.build meson: build freedreno tools when other parts of freedreno not enabled 2021-10-26 00:33:31 +00:00