nir: Take a shader and variable mode in nir_assign_io_var_locations
[mesa.git] / src / mesa / vbo / vbo_save.h
index 00f18363b7302c8814c0b9115f90629b3f078ffa..a9842514011e916edcad5563953ce1463f5f2229 100644 (file)
@@ -34,17 +34,9 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #ifndef VBO_SAVE_H
 #define VBO_SAVE_H
 
-#include "main/mtypes.h"
 #include "vbo.h"
 #include "vbo_attrib.h"
 
-
-struct vbo_save_copied_vtx {
-   fi_type buffer[VBO_ATTRIB_MAX * 4 * VBO_MAX_COPIED_VERTS];
-   GLuint nr;
-};
-
-
 /* For display lists, this structure holds a run of vertices of the
  * same format, and a strictly well-formed set of begin/end pairs,
  * starting on the first vertex and ending at the last.  Vertex
@@ -61,10 +53,6 @@ struct vbo_save_copied_vtx {
  * compiled using the fallback opcode mechanism provided by dlist.c.
  */
 struct vbo_save_vertex_list {
-   GLbitfield64 enabled; /**< mask of enabled vbo arrays. */
-   GLubyte attrsz[VBO_ATTRIB_MAX];
-   GLenum16 attrtype[VBO_ATTRIB_MAX];
-   GLuint vertex_size;  /**< size in GLfloats */
    struct gl_vertex_array_object *VAO[VP_MODE_MAX];
 
    /* Copy of the final vertex from node->vertex_store->bufferobj.
@@ -73,32 +61,16 @@ struct vbo_save_vertex_list {
     */
    fi_type *current_data;
 
-   GLuint buffer_offset;        /**< in bytes */
-   GLuint start_vertex;         /**< first vertex used by any primitive */
    GLuint vertex_count;         /**< number of vertices in this list */
    GLuint wrap_count;          /* number of copied vertices at start */
 
    struct _mesa_prim *prims;
    GLuint prim_count;
 
-   struct vbo_save_vertex_store *vertex_store;
    struct vbo_save_primitive_store *prim_store;
 };
 
 
-/**
- * Is the vertex list's buffer offset an exact multiple of the
- * vertex size (in bytes)?  This is used to check for a vertex array /
- * drawing optimization.
- */
-static inline bool
-aligned_vertex_buffer_offset(const struct vbo_save_vertex_list *node)
-{
-   unsigned vertex_size = node->vertex_size * sizeof(GLfloat); /* in bytes */
-   return vertex_size != 0 && node->buffer_offset % vertex_size == 0;
-}
-
-
 /**
  * Return the stride in bytes of the display list node.
  */
@@ -158,20 +130,15 @@ _vbo_save_get_vertex_count(const struct vbo_save_vertex_list *node)
 #define VBO_SAVE_BUFFER_SIZE (256*1024) /* dwords */
 #define VBO_SAVE_PRIM_SIZE   128
 #define VBO_SAVE_PRIM_MODE_MASK         0x3f
-#define VBO_SAVE_PRIM_WEAK              0x40
-#define VBO_SAVE_PRIM_NO_CURRENT_UPDATE 0x80
 
-#define VBO_SAVE_FALLBACK    0x10000000
-
-/* Storage to be shared among several vertex_lists.
- */
 struct vbo_save_vertex_store {
    struct gl_buffer_object *bufferobj;
    fi_type *buffer_map;
    GLuint used;           /**< Number of 4-byte words used in buffer */
-   GLuint refcount;
 };
 
+/* Storage to be shared among several vertex_lists.
+ */
 struct vbo_save_primitive_store {
    struct _mesa_prim prims[VBO_SAVE_PRIM_SIZE];
    GLuint used;
@@ -179,47 +146,8 @@ struct vbo_save_primitive_store {
 };
 
 
-struct vbo_save_context {
-   struct gl_context *ctx;
-   GLvertexformat vtxfmt;
-   GLvertexformat vtxfmt_noop;  /**< Used if out_of_memory is true */
-
-   GLbitfield64 enabled; /**< mask of enabled vbo arrays. */
-   GLubyte attrsz[VBO_ATTRIB_MAX];  /**< 1, 2, 3 or 4 */
-   GLenum16 attrtype[VBO_ATTRIB_MAX];  /**< GL_FLOAT, GL_INT, etc */
-   GLubyte active_sz[VBO_ATTRIB_MAX];  /**< 1, 2, 3 or 4 */
-   GLuint vertex_size;  /**< size in GLfloats */
-   struct gl_vertex_array_object *VAO[VP_MODE_MAX];
-
-   GLboolean out_of_memory;  /**< True if last VBO allocation failed */
-
-   GLbitfield replay_flags;
-
-   struct _mesa_prim *prims;
-   GLuint prim_count, prim_max;
-
-   struct vbo_save_vertex_store *vertex_store;
-   struct vbo_save_primitive_store *prim_store;
-
-   fi_type *buffer_map;            /**< Mapping of vertex_store's buffer */
-   fi_type *buffer_ptr;                   /**< cursor, points into buffer_map */
-   fi_type vertex[VBO_ATTRIB_MAX*4];      /* current values */
-   fi_type *attrptr[VBO_ATTRIB_MAX];
-   GLuint vert_count;
-   GLuint max_vert;
-   GLboolean dangling_attr_ref;
-
-   GLuint opcode_vertex_list;
-
-   struct vbo_save_copied_vtx copied;
-
-   fi_type *current[VBO_ATTRIB_MAX]; /* points into ctx->ListState */
-   GLubyte *currentsz[VBO_ATTRIB_MAX];
-};
-
 void vbo_save_init(struct gl_context *ctx);
 void vbo_save_destroy(struct gl_context *ctx);
-void vbo_save_fallback(struct gl_context *ctx, GLboolean fallback);
 
 /* save_loopback.c:
  */