mesa: Make sure that imm draws are flushed before other draws execute.
[mesa.git] / src / mesa / main / draw_validate.c
index bcb2d91306e85adeb1729aba6cc2a6fa444e8733..352263c5c7820645e837365099f9565163137fbe 100644 (file)
@@ -696,8 +696,6 @@ _mesa_validate_DrawElements(struct gl_context *ctx,
                             GLenum mode, GLsizei count, GLenum type,
                             const GLvoid *indices)
 {
-   FLUSH_CURRENT(ctx, 0);
-
    return validate_DrawElements_common(ctx, mode, count, type, indices,
                                        "glDrawElements");
 }
@@ -716,8 +714,6 @@ _mesa_validate_MultiDrawElements(struct gl_context *ctx,
 {
    GLsizei i;
 
-   FLUSH_CURRENT(ctx, 0);
-
    /*
     * Section 2.3.1 (Errors) of the OpenGL 4.5 (Core Profile) spec says:
     *
@@ -780,8 +776,6 @@ _mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode,
                                  GLsizei count, GLenum type,
                                  const GLvoid *indices)
 {
-   FLUSH_CURRENT(ctx, 0);
-
    if (end < start) {
       _mesa_error(ctx, GL_INVALID_VALUE, "glDrawRangeElements(end<start)");
       return GL_FALSE;
@@ -895,8 +889,6 @@ static bool
 validate_draw_arrays(struct gl_context *ctx, const char *func,
                      GLenum mode, GLsizei count, GLsizei numInstances)
 {
-   FLUSH_CURRENT(ctx, 0);
-
    if (count < 0) {
       _mesa_error(ctx, GL_INVALID_VALUE, "%s(count)", func);
       return false;
@@ -971,8 +963,6 @@ _mesa_validate_MultiDrawArrays(struct gl_context *ctx, GLenum mode,
 {
    int i;
 
-   FLUSH_CURRENT(ctx, 0);
-
    if (!_mesa_valid_prim_mode(ctx, mode, "glMultiDrawArrays"))
       return false;
 
@@ -1018,8 +1008,6 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
                                      GLenum mode, GLsizei count, GLenum type,
                                      const GLvoid *indices, GLsizei numInstances)
 {
-   FLUSH_CURRENT(ctx, 0);
-
    if (numInstances < 0) {
       _mesa_error(ctx, GL_INVALID_VALUE,
                   "glDrawElementsInstanced(numInstances=%d)", numInstances);
@@ -1039,8 +1027,6 @@ _mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
                                      GLuint stream,
                                      GLsizei numInstances)
 {
-   FLUSH_CURRENT(ctx, 0);
-
    if (!_mesa_valid_prim_mode(ctx, mode, "glDrawTransformFeedback*(mode)")) {
       return GL_FALSE;
    }
@@ -1244,8 +1230,6 @@ _mesa_validate_DrawArraysIndirect(struct gl_context *ctx,
 {
    const unsigned drawArraysNumParams = 4;
 
-   FLUSH_CURRENT(ctx, 0);
-
    return valid_draw_indirect(ctx, mode,
                               indirect, drawArraysNumParams * sizeof(GLuint),
                               "glDrawArraysIndirect");
@@ -1258,8 +1242,6 @@ _mesa_validate_DrawElementsIndirect(struct gl_context *ctx,
 {
    const unsigned drawElementsNumParams = 5;
 
-   FLUSH_CURRENT(ctx, 0);
-
    return valid_draw_indirect_elements(ctx, mode, type,
                                        indirect, drawElementsNumParams * sizeof(GLuint),
                                        "glDrawElementsIndirect");
@@ -1274,8 +1256,6 @@ _mesa_validate_MultiDrawArraysIndirect(struct gl_context *ctx,
    GLsizeiptr size = 0;
    const unsigned drawArraysNumParams = 4;
 
-   FLUSH_CURRENT(ctx, 0);
-
    /* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */
    assert(stride != 0);
 
@@ -1304,8 +1284,6 @@ _mesa_validate_MultiDrawElementsIndirect(struct gl_context *ctx,
    GLsizeiptr size = 0;
    const unsigned drawElementsNumParams = 5;
 
-   FLUSH_CURRENT(ctx, 0);
-
    /* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */
    assert(stride != 0);
 
@@ -1385,8 +1363,6 @@ _mesa_validate_MultiDrawArraysIndirectCount(struct gl_context *ctx,
    GLsizeiptr size = 0;
    const unsigned drawArraysNumParams = 4;
 
-   FLUSH_CURRENT(ctx, 0);
-
    /* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */
    assert(stride != 0);
 
@@ -1418,8 +1394,6 @@ _mesa_validate_MultiDrawElementsIndirectCount(struct gl_context *ctx,
    GLsizeiptr size = 0;
    const unsigned drawElementsNumParams = 5;
 
-   FLUSH_CURRENT(ctx, 0);
-
    /* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */
    assert(stride != 0);