mesa/src
Alyssa Rosenzweig b1180fe2f6 asahi: Fix using multiple textures/samplers
The counts for textures/samplers are specified in the bind
texture/sampler packets. What's in the bind pipeline appear to be...
hints? of some kind? It's a direct function of the numbers of textures
and samplers, but much more coarse. Unknown purpose.

This should be correct for up to 48 textures and at least 8 samplers.
For more than 48 textures, Metal switches to a "bindless" mode, where
the textures are instead bound with a bind uniform packet, ts* is no
longer read in the shader, and instead registers and immediates are used
to index the texture with a substantial preshader. Details TBD. We don't
need to worry about that for a long while, though.

Fixes a number of dEQPs.

   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_both,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_fragment,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_vertex,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_both,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_fragment,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_vertex,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_both,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_fragment,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_vertex,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_both,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_fragment,Crash
   dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_vertex,Crash

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198>
2022-08-07 20:15:03 -04:00
..
amd radv: Switch to the GLSL leaf implementation 2022-08-07 09:26:08 +00:00
android_stub
asahi asahi: Fix using multiple textures/samplers 2022-08-07 20:15:03 -04:00
broadcom broadcom/compiler: simplify code emitted for centroid coordinates 2022-08-06 22:34:25 +00:00
c11 c11: reinstate the original license and authorship 2022-06-27 11:46:22 +00:00
compiler nir/lower_alu: drop unnecessary iand on uadd_carry result 2022-08-06 23:11:40 +00:00
drm-shim drm-shim: Cleanup on device file close 2022-05-02 19:50:33 +00:00
egl egl: Remove usage of USE_ELF_TLS macro 2022-07-29 23:59:11 +00:00
etnaviv util/list: rename LIST_ENTRY() to list_entry() 2022-07-28 10:10:44 +00:00
freedreno ci: Upgrade deqp-runner to 0.15.0. 2022-08-07 02:11:46 +00:00
gallium asahi: Fix using multiple textures/samplers 2022-08-07 20:15:03 -04:00
gbm gbm: Add USE_FRONT_RENDERING flag 2022-08-05 00:57:38 +00:00
getopt
glx glx: Remove usage of USE_ELF_TLS 2022-07-29 23:59:12 +00:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination pvr: get free list min size from the runtime info 2022-08-04 10:55:50 +00:00
imgui
intel ci: Upgrade deqp-runner to 0.15.0. 2022-08-07 02:11:46 +00:00
loader loader: Remove usage of USE_ELF_TLS in loader.c 2022-07-29 23:59:12 +00:00
mapi mapi: Remove usage of USE_ELF_TLS 2022-07-29 23:59:11 +00:00
mesa gallivm/nir/st: lower image derefs in advance. 2022-08-05 06:18:44 +00:00
microsoft microsoft/clc: drop inline sampler reordering 2022-08-04 23:53:50 +00:00
nouveau nir: Split usub_sat lowering flag from uadd_sat. 2022-07-22 17:54:28 +00:00
panfrost ci: Upgrade deqp-runner to 0.15.0. 2022-08-07 02:11:46 +00:00
tool meson/pps: Check if libdrm exists to compile pps 2022-06-22 11:52:36 +03:00
util radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs. 2022-08-06 14:06:48 +00:00
virtio venus: double the abort timeout to allow long shader compiles 2022-08-05 04:47:39 +00:00
vulkan vulkan: disallow VK_KHR_performance_query on android 2022-08-07 06:07:43 +00:00
meson.build meson: Remove usage of use_elf_tls 2022-07-29 23:59:11 +00:00