From a9c488f2858f8a383dd50e557ec8a832bcb35f47 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Samuel=20Iglesias=20Gons=C3=A1lvez?= Date: Wed, 22 Feb 2017 12:27:15 +0100 Subject: [PATCH] isl/state: fix assert on raw buffer surface state minimum size MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit From IVB PRM, SURFACE_STATE::Height: "For typed buffer and structured buffer surfaces, the number of entries in the buffer ranges from 1 to 2^27 . For raw buffer surfaces, the number of entries in the buffer is the number of bytes which can range from 1 to 2^30." The minimum value is 1, according to the spec. The spec quote was already added into the code by 028f6d8317f00. Fixes crashing tests under: dEQP-VK.robustness.buffer_access.* Signed-off-by: Samuel Iglesias Gonsálvez Reviewed-by: Jason Ekstrand --- src/intel/isl/isl_surface_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 29ec289..853bb11 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -671,7 +671,7 @@ isl_genX(buffer_fill_state_s)(void *state, */ if (info->format == ISL_FORMAT_RAW) { assert(num_elements <= (1ull << 30)); - assert((num_elements & 3) == 0); + assert(num_elements > 0); } else { assert(num_elements <= (1ull << 27)); } -- 2.7.4