anv: Do UBO loads with global addresses for bindless
This makes UBO loads in the variable pointers or bindless case work just like SSBO loads in the sense that they use A64 messages and 64-bit global addresses. The primary difference is that we have an optimization in anv_nir_lower_ubo_loads which uses a (possibly predicated) block load message when the offset is constant so we get roughly the same performance as we would from plumbing load_ubo all the way to the back-end. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>
This commit is contained in:

committed by
Marge Bot

parent
61749b5a15
commit
b704d03efd
@@ -100,7 +100,9 @@ anv_descriptor_data_for_type(const struct anv_physical_device *device,
|
||||
*/
|
||||
if (device->has_a64_buffer_access &&
|
||||
(type == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER ||
|
||||
type == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC))
|
||||
type == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ||
|
||||
type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER ||
|
||||
type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC))
|
||||
data |= ANV_DESCRIPTOR_ADDRESS_RANGE;
|
||||
|
||||
/* On Ivy Bridge and Bay Trail, we need swizzles textures in the shader
|
||||
|
Reference in New Issue
Block a user