svga: Handle null buffers in svga_buffer_is_user_buffer().
[mesa.git] / src / gallium / drivers / svga / svga_resource_buffer.h
index 95032213fa50767ddc3c982add1a5ac7a6dff9c1..69d6f72a11c0ae6e9f2106e0b83c8cf22104fa2a 100644 (file)
@@ -131,6 +131,13 @@ struct svga_buffer
       unsigned offset;
    } uploaded;
 
+   /**
+    * For user buffers, this is the offset to the data about to be
+    * referenced by the next draw command, and hence the data that needs
+    * to be uploaded.
+    */
+   unsigned source_offset;
+
    /**
     * DMA'ble memory.
     *
@@ -193,7 +200,11 @@ svga_buffer(struct pipe_resource *buffer)
 static INLINE boolean 
 svga_buffer_is_user_buffer( struct pipe_resource *buffer )
 {
-   return svga_buffer(buffer)->user;
+   if (buffer) {
+      return svga_buffer(buffer)->user;
+   } else {
+      return FALSE;
+   }
 }