summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>2022-12-12 15:32:22 +0200
committerEric Engestrom <eric@engestrom.ch>2022-12-14 20:56:54 +0000
commita60641d1328786032523a7c1f007cb166ed4b9a5 (patch)
tree3a921c5584e2f982f0c08c3b4826c4742d8f67ea
parentfcb34f031c2c37739cdcc5c0c5c97866ae792550 (diff)
downloadmesa-a60641d1328786032523a7c1f007cb166ed4b9a5.tar.gz
anv: disable Wa_1806565034 when robustImageAccess is enabled
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5711 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7859 Reviewed-by: Ivan Briano <ivan.briano@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20280> (cherry picked from commit a921486e2a6ca5fc873a6e2f9c61fb5bef4cf3d9)
-rw-r--r--.pick_status.json4
-rw-r--r--src/intel/vulkan/anv_image.c5
-rw-r--r--src/intel/vulkan/anv_pipeline.c3
3 files changed, 9 insertions, 3 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 9efef5aff43..452e70908ff 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -526,7 +526,7 @@
"description": "anv: disable Wa_1806565034 when robustImageAccess is enabled",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null
},
@@ -535,7 +535,7 @@
"description": "intel/fs: make Wa_1806565034 conditional to non robust access",
"nominated": false,
"nomination_type": null,
- "resolution": 1,
+ "resolution": 4,
"main_sha": null,
"because_sha": null
},
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 7b1cba5c1b1..13d622d31f1 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -2611,7 +2611,10 @@ anv_image_fill_surface_state(struct anv_device *device,
.mocs = anv_mocs(device, state_inout->address.bo,
view_usage),
.x_offset_sa = tile_x_sa,
- .y_offset_sa = tile_y_sa);
+ .y_offset_sa = tile_y_sa,
+ .robust_image_access =
+ device->vk.enabled_features.robustImageAccess ||
+ device->vk.enabled_features.robustImageAccess2);
/* With the exception of gfx8, the bottom 12 bits of the MCS base address
* are used to store other information. This should be ok, however,
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 65ec543aed5..ea3180dfd1f 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -298,6 +298,9 @@ anv_shader_stage_to_nir(struct anv_device *device,
struct brw_nir_compiler_opts opts = {
.softfp64 = device->fp64_nir,
+ .robust_image_access =
+ device->vk.enabled_features.robustImageAccess ||
+ device->vk.enabled_features.robustImageAccess2,
};
brw_preprocess_nir(compiler, nir, &opts);