svga: move index buffer bind flag assertion
authorCharmaine Lee <charmainel@vmware.com>
Fri, 1 Sep 2017 19:34:01 +0000 (12:34 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 5 Sep 2017 16:31:18 +0000 (10:31 -0600)
The buffer bind flags can be promoted in svga_buffer_handle(), so
move the assertion after it. This has already been done for
vertex buffer in commit 6b4bf7e8be, but it misses the one for
index buffer.

Fixes assertion running WarThunder.

Reviewed-by: Neha Bhende <bhenden@vmware.com>
src/gallium/drivers/svga/svga_draw.c

index 0639d5eaebe1fbba07537f7fca9067d444d36e8f..5771903955fb27680fc07d3f2ae56c73d5afb42f 100644 (file)
@@ -589,12 +589,12 @@ draw_vgpu10(struct svga_hwtnl *hwtnl,
    if (ib) {
       struct svga_buffer *sbuf = svga_buffer(ib);
 
-      assert(sbuf->key.flags & SVGA3D_SURFACE_BIND_INDEX_BUFFER);
-      (void) sbuf; /* silence unused var warning */
-
       ib_handle = svga_buffer_handle(svga, ib, PIPE_BIND_INDEX_BUFFER);
       if (!ib_handle)
          return PIPE_ERROR_OUT_OF_MEMORY;
+
+      assert(sbuf->key.flags & SVGA3D_SURFACE_BIND_INDEX_BUFFER);
+      (void) sbuf; /* silence unused var warning */
    }
    else {
       ib_handle = NULL;