Merge remote branch 'origin/7.8'
[mesa.git] / src / mesa / vbo / vbo_save_api.c
index 4da248e2b8876f51ca27737a492d5c558056e372..c867cb03f63d9d4b0ac3ac3b00907917c457d743 100644 (file)
@@ -78,7 +78,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/api_validate.h"
 #include "main/api_arrayelt.h"
 #include "main/vtxfmt.h"
-#include "glapi/dispatch.h"
+#include "main/dispatch.h"
 
 #include "vbo_context.h"
 
@@ -118,23 +118,23 @@ static GLuint _save_copy_vertices( GLcontext *ctx,
    case GL_LINES:
       ovf = nr&1;
       for (i = 0 ; i < ovf ; i++)
-        _mesa_memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
       return i;
    case GL_TRIANGLES:
       ovf = nr%3;
       for (i = 0 ; i < ovf ; i++)
-        _mesa_memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
       return i;
    case GL_QUADS:
       ovf = nr&3;
       for (i = 0 ; i < ovf ; i++)
-        _mesa_memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
       return i;
    case GL_LINE_STRIP:
       if (nr == 0) 
         return 0;
       else {
-        _mesa_memcpy( dst, src+(nr-1)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst, src+(nr-1)*sz, sz*sizeof(GLfloat) );
         return 1;
       }
    case GL_LINE_LOOP:
@@ -143,11 +143,11 @@ static GLuint _save_copy_vertices( GLcontext *ctx,
       if (nr == 0) 
         return 0;
       else if (nr == 1) {
-        _mesa_memcpy( dst, src+0, sz*sizeof(GLfloat) );
+        memcpy( dst, src+0, sz*sizeof(GLfloat) );
         return 1;
       } else {
-        _mesa_memcpy( dst, src+0, sz*sizeof(GLfloat) );
-        _mesa_memcpy( dst+sz, src+(nr-1)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst, src+0, sz*sizeof(GLfloat) );
+        memcpy( dst+sz, src+(nr-1)*sz, sz*sizeof(GLfloat) );
         return 2;
       }
    case GL_TRIANGLE_STRIP:
@@ -158,7 +158,7 @@ static GLuint _save_copy_vertices( GLcontext *ctx,
       default: ovf = 2 + (nr&1); break;
       }
       for (i = 0 ; i < ovf ; i++)
-        _mesa_memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
+        memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz*sizeof(GLfloat) );
       return i;
    default:
       assert(0);
@@ -270,14 +270,14 @@ static void _save_compile_vertex_list( GLcontext *ctx )
     * being compiled.
     */
    node = (struct vbo_save_vertex_list *)
-      _mesa_alloc_instruction(ctx, save->opcode_vertex_list, sizeof(*node));
+      _mesa_dlist_alloc(ctx, save->opcode_vertex_list, sizeof(*node));
 
    if (!node)
       return;
 
    /* Duplicate our template, increment refcounts to the storage structs:
     */
-   _mesa_memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz)); 
+   memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz));
    node->vertex_size = save->vertex_size;
    node->buffer_offset = (save->buffer - save->vertex_store->buffer) * sizeof(GLfloat); 
    node->count = save->vert_count;
@@ -418,6 +418,7 @@ static void _save_wrap_buffers( GLcontext *ctx )
    save->prim[0].pad = 0;
    save->prim[0].start = 0;
    save->prim[0].count = 0;
+   save->prim[0].num_instances = 1;
    save->prim_count = 1;
 }
 
@@ -441,7 +442,7 @@ static void _save_wrap_filled_vertex( GLcontext *ctx )
    assert(save->max_vert - save->vert_count > save->copied.nr);
 
    for (i = 0 ; i < save->copied.nr ; i++) {
-      _mesa_memcpy( save->buffer_ptr, data, save->vertex_size * sizeof(GLfloat));
+      memcpy( save->buffer_ptr, data, save->vertex_size * sizeof(GLfloat));
       data += save->vertex_size;
       save->buffer_ptr += save->vertex_size;
       save->vert_count++;
@@ -773,6 +774,7 @@ GLboolean vbo_save_NotifyBegin( GLcontext *ctx, GLenum mode )
    save->prim[i].pad = 0;
    save->prim[i].start = save->vert_count;
    save->prim[i].count = 0;   
+   save->prim[i].num_instances = 1;   
 
    _mesa_install_save_vtxfmt( ctx, &save->vtxfmt );      
    ctx->Driver.SaveNeedFlush = 1;
@@ -1185,10 +1187,10 @@ static void vbo_print_vertex_list( GLcontext *ctx, void *data )
    GLuint i;
    (void) ctx;
 
-   _mesa_printf("VBO-VERTEX-LIST, %u vertices %d primitives, %d vertsize\n",
-               node->count,
-               node->prim_count,
-               node->vertex_size);
+   printf("VBO-VERTEX-LIST, %u vertices %d primitives, %d vertsize\n",
+         node->count,
+         node->prim_count,
+         node->vertex_size);
 
    for (i = 0 ; i < node->prim_count ; i++) {
       struct _mesa_prim *prim = &node->prim[i];
@@ -1233,11 +1235,11 @@ void vbo_save_api_init( struct vbo_save_context *save )
    GLuint i;
 
    save->opcode_vertex_list =
-      _mesa_alloc_opcode( ctx,
-                         sizeof(struct vbo_save_vertex_list),
-                         vbo_save_playback_vertex_list,
-                         vbo_destroy_vertex_list,
-                         vbo_print_vertex_list );
+      _mesa_dlist_alloc_opcode( ctx,
+                                sizeof(struct vbo_save_vertex_list),
+                                vbo_save_playback_vertex_list,
+                                vbo_destroy_vertex_list,
+                                vbo_print_vertex_list );
 
    ctx->Driver.NotifySaveBegin = vbo_save_NotifyBegin;