In order to avoid the potential overhead of A64 operations on all SSBO ops, we look for those SSBO ops where we can get to the descriptor set from the SSBO access operation and lower those to a binding-table approach. When robustBufferAccess is enabled, this lets the hardware do the bounds checking for us. It also avoids some potentially expensive 64-bit integer calculations.
3cf78ec2bdc anv: Lower some SSBO operations in apply_pipeline_layout
src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 214 ++++++++++++++++++++++-
1 file changed, 212 insertions(+), 2 deletions(-)