OSDN Git Service

mesa: implement glFramebufferTexture
authorJordan Justen <jordan.l.justen@intel.com>
Thu, 18 Apr 2013 17:46:12 +0000 (10:46 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Wed, 1 May 2013 23:18:25 +0000 (16:18 -0700)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mapi/glapi/gen/GL3x.xml
src/mesa/main/fbobject.c
src/mesa/main/fbobject.h

index 9ca3d47..5078f7b 100644 (file)
     <param name="params" type="GLint64 *"/>
   </function>
 
-  <function name="FramebufferTexture" offset="assign" exec="skip">
+  <function name="FramebufferTexture" offset="assign">
     <param name="target" type="GLenum"/>
     <param name="attachment" type="GLenum"/>
     <param name="texture" type="GLuint"/>
index de0c08f..e7da58d 100644 (file)
@@ -2403,6 +2403,22 @@ _mesa_FramebufferTextureLayer(GLenum target, GLenum attachment,
 
 
 void GLAPIENTRY
+_mesa_FramebufferTexture(GLenum target, GLenum attachment,
+                         GLuint texture, GLint level)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (ctx->Version >= 32 || ctx->Extensions.ARB_geometry_shader4) {
+      framebuffer_texture(ctx, "Layer", target, attachment, 0, texture,
+                          level, 0, GL_TRUE);
+   } else {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "unsupported function (glFramebufferTexture) called");
+   }
+}
+
+
+void GLAPIENTRY
 _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
                                  GLenum renderbufferTarget,
                                  GLuint renderbuffer)
index 5ebbb35..e5d096f 100644 (file)
@@ -193,6 +193,10 @@ _mesa_FramebufferTextureLayer(GLenum target, GLenum attachment,
                                  GLuint texture, GLint level, GLint layer);
 
 extern void GLAPIENTRY
+_mesa_FramebufferTexture(GLenum target, GLenum attachment,
+                         GLuint texture, GLint level);
+
+extern void GLAPIENTRY
 _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
                                  GLenum renderbuffertarget,
                                  GLuint renderbuffer);