From caec0b32320de68c35a3f02dd2ef1e8f37de928c Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 22 Aug 2019 13:09:00 -0700 Subject: [PATCH] pan/decode: Remove size/stride divisibility check The hardware doesn't care, and a lot of Panfrost code relies on an oversized buffer. The important part is that (stride * padded_num_vertices) is no greater than size, which we'll need to check once we validate instancing. Signed-off-by: Alyssa Rosenzweig --- src/panfrost/pandecode/decode.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c index 456d0fd15c8..2de376d4604 100644 --- a/src/panfrost/pandecode/decode.c +++ b/src/panfrost/pandecode/decode.c @@ -1276,13 +1276,9 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem, /* Print the stride and size */ pandecode_log_cont("<%u>[%u]", attr[i].stride, attr[i].size); - /* Check: the size must be divisible by the stride */ - if (attr[i].size % attr[i].stride) - pandecode_msg("XXX: size not divisible by stride\n"); - - /* TODO: Sanity check the quotient itself -- it should equal - * vertex count (or something computed from it for instanced) - * which means we can check and elide */ + /* TODO: Sanity check the quotient itself. It must be equal to + * (or be greater than, if the driver added padding) the padded + * vertex count. */ /* Finally, print the pointer */ mali_ptr raw_elements = attr[i].elements & ~7; -- 2.30.2