iris: proper length for VE packet?
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 27 Apr 2018 06:42:10 +0000 (23:42 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:06 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_state.c

index c1616606b4ed5a79d5fad6c587ad091687bf484b..941080e5c9ac11e9e617b0ac215baa1fda9701cb 100644 (file)
@@ -1418,7 +1418,9 @@ iris_create_vertex_elements(struct pipe_context *ctx,
     *  - create SGV ones
     *  - if those are necessary, use count + 1/2/3... OR in the length
     */
-   iris_pack_command(GENX(3DSTATE_VERTEX_ELEMENTS), cso->vertex_elements, ve);
+   iris_pack_command(GENX(3DSTATE_VERTEX_ELEMENTS), cso->vertex_elements, ve) {
+      ve.DWordLength = 1 + GENX(VERTEX_ELEMENT_STATE_length) * count;
+   }
 
    uint32_t *ve_pack_dest = &cso->vertex_elements[1];