nir: add nir_address_format_2x32bit_global

This adds support for global 64-bit GPU addresses as a pair of
32-bit values. This is useful for platforms with 32-bit GPUs
that want to support VK_KHR_buffer_device_address, which makes
GPU addresses explicitly 64-bit.

With the new format we also add new global intrinsics with 2x32
suffix that consume the new address format.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275>
This commit is contained in:
Iago Toral Quiroga
2022-06-22 11:28:53 +02:00
parent ea3acbef8d
commit b18cecbfb6
4 changed files with 89 additions and 10 deletions
+6
View File
@@ -4660,6 +4660,12 @@ typedef enum {
*/
nir_address_format_64bit_global,
/**
* An address format which is a 64-bit global GPU address encoded as a
* 2x32-bit vector.
*/
nir_address_format_2x32bit_global,
/**
* An address format which is a 64-bit global base address and a 32-bit
* offset.