radv: don't require robust vectorization for nir_var_mem_global
authorRhys Perry <pendingchaos02@gmail.com>
Thu, 15 Apr 2021 13:22:11 +0000 (14:22 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 13 Apr 2022 16:23:35 +0000 (16:23 +0000)
Robust vectorization is to prevent vectorization of loads using the near
maximum offset with loads of offset 0. Global loads can't read from offset
0 (NULL) anyways, so this isn't necessary.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14124>

src/amd/vulkan/radv_pipeline.c

index 8bdc0bb..069b69d 100644 (file)
@@ -4355,7 +4355,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
 
          if (device->robust_buffer_access2) {
             vectorize_opts.robust_modes =
-               nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_mem_global | nir_var_mem_push_const;
+               nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_mem_push_const;
          }
 
          if (nir_opt_load_store_vectorize(stages[i].nir, &vectorize_opts)) {