mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-19 00:38:06 +02:00
OpenGL doesn't have the concept of individual texture and sampler, so texture and sampler indexes have the same value. v3d compiler uses this assumption, so for example, the texture info at the v3d key include values that you need to use the texture format and the sampler to fill (like the return_size). One option would be to adapt the v3d compiler to handle both, but then we would need to adapt to the lowerings it uses, like nir_lower_tex, that also take the same assumption. We deal with this on the Vulkan driver, by reassigning the texture and sampler index to a combined one. We add a hash table to map the combined texture idx and sampler idx to this combined idx, and a simple array to the opposite map. On the driver we work with the separate indices to fill up the data, while the v3d compiler works with the combined one. As mentioned, this is needed to properly fill up the texture return size, so as we are here, we fix that. This gets tests like the following working: dEQP-VK.glsl.texture_gather.basic.2d.depth32f.base_level.level_2 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766> |
||
|---|---|---|
| .. | ||
| cle | ||
| clif | ||
| common | ||
| compiler | ||
| drm-shim | ||
| qpu | ||
| simulator | ||
| vulkan | ||
| .editorconfig | ||
| Android.cle.mk | ||
| Android.genxml.mk | ||
| Android.mk | ||
| Makefile.sources | ||
| meson.build | ||