mesa,st/mesa: add a fast path for non-static VAOs
[mesa.git] / src / mesa / main / renderbuffer.c
index 5046f9d5f4227bf2da64e4db1f604b1d0d44584f..27c6d90fb9bb6ffaec625d143c8e6c5cf38a268d 100644 (file)
 
 
 #include "glheader.h"
-#include "imports.h"
+
 #include "context.h"
 #include "fbobject.h"
 #include "formats.h"
 #include "mtypes.h"
 #include "renderbuffer.h"
+#include "util/u_memory.h"
 
 
 /**
@@ -40,7 +41,7 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name)
 {
    GET_CURRENT_CONTEXT(ctx);
 
-   mtx_init(&rb->Mutex, mtx_plain);
+   simple_mtx_init(&rb->Mutex, mtx_plain);
 
    rb->ClassID = 0;
    rb->Name = name;
@@ -66,7 +67,7 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name)
     * specs. If the context is not current, we cannot determine the
     * API, so default to GL_RGBA.
     */
-   if (ctx && _mesa_is_gles3(ctx)) {
+   if (ctx && _mesa_is_gles(ctx)) {
       rb->InternalFormat = GL_RGBA4;
    } else {
       rb->InternalFormat = GL_RGBA;
@@ -101,7 +102,7 @@ _mesa_new_renderbuffer(struct gl_context *ctx, GLuint name)
 void
 _mesa_delete_renderbuffer(struct gl_context *ctx, struct gl_renderbuffer *rb)
 {
-   mtx_destroy(&rb->Mutex);
+   simple_mtx_destroy(&rb->Mutex);
    free(rb->Label);
    free(rb);
 }
@@ -201,11 +202,11 @@ _mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
       GLboolean deleteFlag = GL_FALSE;
       struct gl_renderbuffer *oldRb = *ptr;
 
-      mtx_lock(&oldRb->Mutex);
+      simple_mtx_lock(&oldRb->Mutex);
       assert(oldRb->RefCount > 0);
       oldRb->RefCount--;
       deleteFlag = (oldRb->RefCount == 0);
-      mtx_unlock(&oldRb->Mutex);
+      simple_mtx_unlock(&oldRb->Mutex);
 
       if (deleteFlag) {
          GET_CURRENT_CONTEXT(ctx);
@@ -218,9 +219,9 @@ _mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
 
    if (rb) {
       /* reference new renderbuffer */
-      mtx_lock(&rb->Mutex);
+      simple_mtx_lock(&rb->Mutex);
       rb->RefCount++;
-      mtx_unlock(&rb->Mutex);
+      simple_mtx_unlock(&rb->Mutex);
       *ptr = rb;
    }
 }