Mesa (master): Revert "radv: use 32-bit predication for skipping FCE on GFX10.3+"

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Dec 24 09:06:26 UTC 2020


Module: Mesa
Branch: master
Commit: 9c176a7e63dadf5d54185fdf2708ac8f3d9b1a5a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c176a7e63dadf5d54185fdf2708ac8f3d9b1a5a

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Dec 23 18:03:13 2020 +0100

Revert "radv: use 32-bit predication for skipping FCE on GFX10.3+"

This is actually wrong because we still assume 64-bit in a bunch
of places.

This reverts commit b24b3026cc0541c59613463a124b16954b2a7cd8.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8214>

---

 src/amd/vulkan/radv_image.c           | 8 ++------
 src/amd/vulkan/radv_meta_fast_clear.c | 6 +-----
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index fac2bb5343c..fe12a4e9fd8 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -1252,15 +1252,11 @@ static void
 radv_image_alloc_values(const struct radv_device *device, struct radv_image *image)
 {
 	if (radv_image_has_dcc(image)) {
-		unsigned pred_size = 8;
-		if (device->physical_device->rad_info.has_32bit_predication)
-			pred_size = 4;
-
 		image->fce_pred_offset = image->size;
-		image->size += pred_size * image->info.levels;
+		image->size += 8 * image->info.levels;
 
 		image->dcc_pred_offset = image->size;
-		image->size += pred_size * image->info.levels;
+		image->size += 8 * image->info.levels;
 	}
 
 	if (radv_image_has_dcc(image) || radv_image_has_cmask(image) ||
diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c
index 87c2f925358..b71ea2f855f 100644
--- a/src/amd/vulkan/radv_meta_fast_clear.c
+++ b/src/amd/vulkan/radv_meta_fast_clear.c
@@ -565,18 +565,14 @@ radv_emit_set_predication_state_from_image(struct radv_cmd_buffer *cmd_buffer,
 				      struct radv_image *image,
 				      uint64_t pred_offset, bool value)
 {
-	unsigned pred_op = PREDICATION_OP_BOOL64;
 	uint64_t va = 0;
 
-	if (cmd_buffer->device->physical_device->rad_info.has_32bit_predication)
-		pred_op = PREDICATION_OP_BOOL32;
-
 	if (value) {
 		va = radv_buffer_get_va(image->bo) + image->offset;
 		va += pred_offset;
 	}
 
-	si_emit_set_predication_state(cmd_buffer, true, pred_op, va);
+	si_emit_set_predication_state(cmd_buffer, true, PREDICATION_OP_BOOL64, va);
 }
 
 static void



More information about the mesa-commit mailing list