mesa: remove GLvertexformat::Rectf()
authorBrian Paul <brianp@vmware.com>
Thu, 2 May 2013 01:15:33 +0000 (19:15 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 2 May 2013 15:03:16 +0000 (09:03 -0600)
As with the glDraw* functions, this doesn't have to be in GLvertexformat.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/main/dd.h
src/mesa/main/dlist.c
src/mesa/main/vtxfmt.c
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_array.c
src/mesa/vbo/vbo_noop.c
src/mesa/vbo/vbo_save_api.c

index c5d7ad419c56424c1b66cfb275cf7914a777b0c2..e3240a26f8f0728d9be588c0fccd9c4f0978b641 100644 (file)
@@ -1022,8 +1022,6 @@ typedef struct {
 
    /*@}*/
 
-   void (GLAPIENTRYP Rectf)( GLfloat, GLfloat, GLfloat, GLfloat );
-
    /**
     * \name Eval
     *
index 18c05f0615b5172c6420397cf9da2baf260d6b35..ae2a55296063f55e26485ab60d89e5087ce7fb8b 100644 (file)
@@ -5703,7 +5703,7 @@ save_Rectf(GLfloat a, GLfloat b, GLfloat c, GLfloat d)
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
-   SAVE_FLUSH_VERTICES(ctx);
+   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
    n = alloc_instruction(ctx, OPCODE_RECTF, 4);
    if (n) {
       n[1].f = a;
@@ -8935,6 +8935,7 @@ _mesa_initialize_save_table(const struct gl_context *ctx)
    SET_RasterPos4s(table, save_RasterPos4s);
    SET_RasterPos4sv(table, save_RasterPos4sv);
    SET_ReadBuffer(table, save_ReadBuffer);
+   SET_Rectf(table, save_Rectf);
    SET_Rotated(table, save_Rotated);
    SET_Rotatef(table, save_Rotatef);
    SET_Scaled(table, save_Scaled);
@@ -9633,8 +9634,6 @@ save_vtxfmt_init(GLvertexformat * vfmt)
    vfmt->VertexAttrib3fvARB = save_VertexAttrib3fvARB;
    vfmt->VertexAttrib4fARB = save_VertexAttrib4fARB;
    vfmt->VertexAttrib4fvARB = save_VertexAttrib4fvARB;
-
-   vfmt->Rectf = save_Rectf;
 }
 
 
index db389a573f957d8255b937a474fe42de1e192633..3a0e7d357ee315fdf8f663402ac5df732a17db7c 100644 (file)
@@ -112,8 +112,6 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
       SET_Begin(tab, vfmt->Begin);
       SET_End(tab, vfmt->End);
       SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV);
-
-      SET_Rectf(tab, vfmt->Rectf);
    }
 
    /* Originally for GL_NV_vertex_program, this is also used by dlist.c */
index 5fac363e4a99f6738470133877aceb7bca1ed6de..93fa8d7bb19f842a9c0aff50ecc4146bf0a46008 100644 (file)
@@ -759,27 +759,6 @@ vbo_exec_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
 }
 
 
-/**
- * Execute a glRectf() function.  This is not suitable for GL_COMPILE
- * modes (as the test for outside begin/end is not compiled),
- * but may be useful for drivers in circumstances which exclude
- * display list interactions.
- *
- * (None of the functions in this file are suitable for GL_COMPILE
- * modes).
- */
-static void GLAPIENTRY
-vbo_exec_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
-   CALL_Begin(GET_DISPATCH(), (GL_QUADS));
-   CALL_Vertex2f(GET_DISPATCH(), (x1, y1));
-   CALL_Vertex2f(GET_DISPATCH(), (x2, y1));
-   CALL_Vertex2f(GET_DISPATCH(), (x2, y2));
-   CALL_Vertex2f(GET_DISPATCH(), (x1, y2));
-   CALL_End(GET_DISPATCH(), ());
-}
-
-
 /**
  * Called via glBegin.
  */
@@ -928,8 +907,6 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec )
    vfmt->EvalMesh1 = vbo_exec_EvalMesh1;
    vfmt->EvalMesh2 = vbo_exec_EvalMesh2;
 
-   vfmt->Rectf = vbo_exec_Rectf;
-
    /* from attrib_tmp.h:
     */
    vfmt->Color3f = vbo_Color3f;
index 18011ec125e7e96f60bbfbefc08e2792f55d875c..f1abe0490c4cec839acc5c0a8490e07f28423d21 100644 (file)
@@ -632,6 +632,23 @@ vbo_draw_arrays(struct gl_context *ctx, GLenum mode, GLint start,
 }
 
 
+/**
+ * Execute a glRectf() function.
+ */
+static void GLAPIENTRY
+vbo_exec_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+   CALL_Begin(GET_DISPATCH(), (GL_QUADS));
+   CALL_Vertex2f(GET_DISPATCH(), (x1, y1));
+   CALL_Vertex2f(GET_DISPATCH(), (x2, y1));
+   CALL_Vertex2f(GET_DISPATCH(), (x2, y2));
+   CALL_Vertex2f(GET_DISPATCH(), (x1, y2));
+   CALL_End(GET_DISPATCH(), ());
+}
+
 
 /**
  * Called from glDrawArrays when in immediate mode (not display list mode).
@@ -1381,6 +1398,10 @@ vbo_initialize_exec_dispatch(const struct gl_context *ctx,
 
    SET_MultiDrawElementsEXT(exec, vbo_exec_MultiDrawElements);
 
+   if (ctx->API == API_OPENGL_COMPAT) {
+      SET_Rectf(exec, vbo_exec_Rectf);
+   }
+
    if (_mesa_is_desktop_gl(ctx)) {
       SET_DrawElementsBaseVertex(exec, vbo_exec_DrawElementsBaseVertex);
       SET_DrawRangeElementsBaseVertex(exec, vbo_exec_DrawRangeElementsBaseVertex);
index 41046e54db41d9e50c6aeeb41534bb95f56a7e91..cff26bf14b3b8f773379a74e5f3a940d114b8e94 100644 (file)
@@ -347,12 +347,6 @@ _mesa_noop_PrimitiveRestartNV(void)
 }
 
 
-static void GLAPIENTRY
-_mesa_noop_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
-}
-
-
 static void GLAPIENTRY
 _mesa_noop_EvalMesh1(GLenum mode, GLint i1, GLint i2)
 {
@@ -444,8 +438,6 @@ _mesa_noop_vtxfmt_init(GLvertexformat * vfmt)
    vfmt->VertexAttrib3fvARB = _mesa_noop_VertexAttrib3fvARB;
    vfmt->VertexAttrib4fARB = _mesa_noop_VertexAttrib4fARB;
    vfmt->VertexAttrib4fvARB = _mesa_noop_VertexAttrib4fvARB;
-
-   vfmt->Rectf = _mesa_noop_Rectf;
 }
 
 
index a174ded2d29bef75b2409a575c10f53b0ac9714e..4d9a6366a584bfb40ed39911423856c938abedb9 100644 (file)
@@ -993,18 +993,6 @@ _save_End(void)
 }
 
 
-static void GLAPIENTRY
-_save_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   (void) x1;
-   (void) y1;
-   (void) x2;
-   (void) y2;
-   _mesa_compile_error(ctx, GL_INVALID_OPERATION, "glRectf");
-}
-
-
 static void GLAPIENTRY
 _save_EvalMesh1(GLenum mode, GLint i1, GLint i2)
 {
@@ -1378,7 +1366,6 @@ _save_vtxfmt_init(struct gl_context *ctx)
     * only used when we're inside a glBegin/End pair.
     */
    vfmt->Begin = _save_Begin;
-   vfmt->Rectf = _save_Rectf;
 }
 
 
@@ -1395,6 +1382,7 @@ vbo_initialize_save_dispatch(const struct gl_context *ctx,
    SET_DrawRangeElements(exec, _save_OBE_DrawRangeElements);
    SET_MultiDrawElementsEXT(exec, _save_OBE_MultiDrawElements);
    SET_MultiDrawElementsBaseVertex(exec, _save_OBE_MultiDrawElementsBaseVertex);
+   SET_Rectf(exec, _save_OBE_Rectf);
    /* Note: other glDraw functins aren't compiled into display lists */
 }
 
@@ -1589,9 +1577,4 @@ vbo_save_api_init(struct vbo_save_context *save)
    /* These will actually get set again when binding/drawing */
    for (i = 0; i < VBO_ATTRIB_MAX; i++)
       save->inputs[i] = &save->arrays[i];
-
-   /* Hook our array functions into the outside-begin-end vtxfmt in 
-    * ctx->ListState.
-    */
-   ctx->ListState.ListVtxfmt.Rectf = _save_OBE_Rectf;
 }