mesa: add support for memory object creation/import/delete
[mesa.git] / src / mesa / main / drawtex.c
index 86d5b555e0fab6356be400f412ebbd24700b997d..9c4fdf90e3b8a19fac825901e42f4da9b88d0be5 100644 (file)
 #include "main/drawtex.h"
 #include "main/state.h"
 #include "main/imports.h"
-
-#include "main/dispatch.h"
-
-
-#if FEATURE_OES_draw_texture
+#include "main/mtypes.h"
 
 
 static void
-draw_texture(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z,
+draw_texture(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
              GLfloat width, GLfloat height)
 {
    if (!ctx->Extensions.OES_draw_texture) {
@@ -45,16 +41,20 @@ draw_texture(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z,
       return;
    }
 
+   _mesa_set_vp_override(ctx, GL_TRUE);
+
    if (ctx->NewState)
       _mesa_update_state(ctx);
 
-   ASSERT(ctx->Driver.DrawTex);
+   assert(ctx->Driver.DrawTex);
    ctx->Driver.DrawTex(ctx, x, y, z, width, height);
+
+   _mesa_set_vp_override(ctx, GL_FALSE);
 }
 
 
 void GLAPIENTRY
-_mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
+_mesa_DrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, x, y, z, width, height);
@@ -62,7 +62,7 @@ _mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
 
 
 void GLAPIENTRY
-_mesa_DrawTexfv(const GLfloat *coords)
+_mesa_DrawTexfvOES(const GLfloat *coords)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, coords[0], coords[1], coords[2], coords[3], coords[4]);
@@ -70,7 +70,7 @@ _mesa_DrawTexfv(const GLfloat *coords)
 
 
 void GLAPIENTRY
-_mesa_DrawTexi(GLint x, GLint y, GLint z, GLint width, GLint height)
+_mesa_DrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, (GLfloat) x, (GLfloat) y, (GLfloat) z,
@@ -79,7 +79,7 @@ _mesa_DrawTexi(GLint x, GLint y, GLint z, GLint width, GLint height)
 
 
 void GLAPIENTRY
-_mesa_DrawTexiv(const GLint *coords)
+_mesa_DrawTexivOES(const GLint *coords)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, (GLfloat) coords[0], (GLfloat) coords[1],
@@ -88,7 +88,7 @@ _mesa_DrawTexiv(const GLint *coords)
 
 
 void GLAPIENTRY
-_mesa_DrawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
+_mesa_DrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, (GLfloat) x, (GLfloat) y, (GLfloat) z,
@@ -97,7 +97,7 @@ _mesa_DrawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
 
 
 void GLAPIENTRY
-_mesa_DrawTexsv(const GLshort *coords)
+_mesa_DrawTexsvOES(const GLshort *coords)
 {
    GET_CURRENT_CONTEXT(ctx);
    draw_texture(ctx, (GLfloat) coords[0], (GLfloat) coords[1],
@@ -129,5 +129,3 @@ _mesa_DrawTexxv(const GLfixed *coords)
                 (GLfloat) coords[3] / 65536.0f,
                 (GLfloat) coords[4] / 65536.0f);
 }
-
-#endif /* FEATURE_OES_draw_texture */