From 4061fde66e9feefa051a02fe258d69fe817e6a8c Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 9 Jun 2016 18:48:07 -0700 Subject: [PATCH] isl/state: Add assertions for buffer surface restrictions Acked-by: Chad Versace Cc: "12.0" --- src/intel/isl/isl_surface_state.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 15b2fa9cadc..ca5061225f4 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -435,6 +435,17 @@ isl_genX(buffer_fill_state_s)(void *state, { uint32_t num_elements = info->size / info->stride; + if (GEN_GEN >= 7) { + if (info->format == ISL_FORMAT_RAW) { + assert(num_elements <= (1ull << 31)); + assert((num_elements & 3) == 0); + } else { + assert(num_elements <= (1ull << 27)); + } + } else { + assert(num_elements <= (1ull << 27)); + } + struct GENX(RENDER_SURFACE_STATE) surface_state = { .SurfaceType = SURFTYPE_BUFFER, .SurfaceArray = false, -- 2.30.2