pan/decode: Decouple attribute/meta printing
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 22 Aug 2019 20:07:01 +0000 (13:07 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 22 Aug 2019 20:31:39 +0000 (13:31 -0700)
They are independent fields, so the parser should reflect that.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/pandecode/decode.c

index 3b826f3..456d0fd 100644 (file)
@@ -1251,9 +1251,10 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem,
                             int count, bool varying)
 {
         char *prefix = varying ? "varying" : "attribute";
+        assert(addr);
 
-        if (!addr) {
-                pandecode_msg("no %s\n", prefix);
+        if (!count) {
+                pandecode_msg("warn: No %s records\n", prefix);
                 return;
         }
 
@@ -2221,9 +2222,12 @@ pandecode_vertex_tiler_postfix_pre(
                 pandecode_log("};\n");
         }
 
-        if (p->attribute_meta) {
-                unsigned max_attr_index = pandecode_attribute_meta(job_no, attribute_count, p, false, suffix);
+        unsigned max_attr_index = 0;
+
+        if (p->attribute_meta)
+                max_attr_index = pandecode_attribute_meta(job_no, attribute_count, p, false, suffix);
 
+        if (p->attributes) {
                 attr_mem = pandecode_find_mapped_gpu_mem_containing(p->attributes);
                 pandecode_attributes(attr_mem, p->attributes, job_no, suffix, max_attr_index, false);
         }