isl/state: fix assert on raw buffer surface state minimum size
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Wed, 22 Feb 2017 11:27:15 +0000 (12:27 +0100)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 23 Feb 2017 10:46:47 +0000 (11:46 +0100)
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@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/isl/isl_surface_state.c

index 29ec289a5d91b95822227056aaad7098692c369e..853bb11846244c88294528753866095faac1f0be 100644 (file)
@@ -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));
       }