summaryrefslogtreecommitdiff
path: root/lib/rendercopy_i830.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-03 18:29:46 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-04 13:50:11 +0300
commit452e8776788f02b9425bcbaf9533081479a5cc51 (patch)
treeac90313a70b814b61272deb49c7640026c3b7df0 /lib/rendercopy_i830.c
parentf43bb29c3e29143d8ad5fc70b82eccf5749d3958 (diff)
lib/rendercopy: Assert that buffer dimensions/stride are acceptable
Sprinkle some asserts into rendercopy to make sure we don't try to exceed the render engine surface size/stride limitations. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/rendercopy_i830.c')
-rw-r--r--lib/rendercopy_i830.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/rendercopy_i830.c b/lib/rendercopy_i830.c
index c19a6a38..e8c04718 100644
--- a/lib/rendercopy_i830.c
+++ b/lib/rendercopy_i830.c
@@ -138,6 +138,10 @@ static void gen2_emit_target(struct intel_batchbuffer *batch,
uint32_t tiling;
uint32_t format;
+ igt_assert_lte(dst->stride, 8192);
+ igt_assert_lte(igt_buf_width(dst), 2048);
+ igt_assert_lte(igt_buf_height(dst), 2048);
+
switch (dst->bpp) {
case 8: format = COLR_BUF_8BIT; break;
case 16: format = COLR_BUF_RGB565; break;
@@ -175,6 +179,10 @@ static void gen2_emit_texture(struct intel_batchbuffer *batch,
uint32_t tiling;
uint32_t format;
+ igt_assert_lte(src->stride, 8192);
+ igt_assert_lte(igt_buf_width(src), 2048);
+ igt_assert_lte(igt_buf_height(src), 2048);
+
switch (src->bpp) {
case 8: format = MAPSURF_8BIT | MT_8BIT_L8; break;
case 16: format = MAPSURF_16BIT | MT_16BIT_RGB565; break;