[Mesa-dev] [PATCH] isl/state: fix assert on raw buffer surface state minimum size

Samuel Iglesias Gonsálvez siglesias at igalia.com
Wed Feb 22 11:39:37 UTC 2017


>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 <siglesias at igalia.com>
Cc: jason at jlekstrand.net
---
 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 29ec289a5d..853bb11846 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.11.0



More information about the mesa-dev mailing list