[WINED3D 3/3] Added some GLSL definitions and function protoypes to wined3d_gl.h

Jason Green jave27 at gmail.com
Thu May 18 12:44:39 CDT 2006


These are functions and definitions that will need to be used before
implementing GLSL routines.
-------------- next part --------------
Subject: [PATCH 3/3] Added some GLSL definitions and function prototypes to wined3d_gl.h

---

 include/wine/wined3d_gl.h |   64 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

4863ea60fc52b2702b261c9dbadd51c9b3c7f5e1
diff --git a/include/wine/wined3d_gl.h b/include/wine/wined3d_gl.h
index 92f4267..31be805 100644
--- a/include/wine/wined3d_gl.h
+++ b/include/wine/wined3d_gl.h
@@ -521,6 +521,56 @@ typedef GLvoid* (APIENTRY * PGLFNMAPBUFF
 typedef GLboolean (APIENTRY * PGLFNUNMAPBUFFERARBPROC) (GLenum target);
 typedef void (APIENTRY * PGLFNGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
 typedef void (APIENTRY * PGLFNGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
+/* GL_ARB_shader_objects (GLSL) */
+#ifndef GL_ARB_shader_objects
+#define GL_ARB_shader_objects 1
+typedef char GLcharARB;
+typedef unsigned int GLhandleARB;
+#endif
+#ifndef GL_ARB_fragment_shader
+#define GL_ARB_fragment_shader 1
+#define GL_FRAGMENT_SHADER_ARB                  0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB  0x8B49
+#endif
+#ifndef GL_ARB_vertex_shader
+#define GL_ARB_vertex_shader 1
+#define GL_PROGRAM_OBJECT_ARB             0x8B40
+#define GL_SHADER_OBJECT_ARB              0x8B48
+#define GL_OBJECT_TYPE_ARB                0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB             0x8B4F
+#define GL_FLOAT_VEC2_ARB                 0x8B50
+#define GL_FLOAT_VEC3_ARB                 0x8B51
+#define GL_FLOAT_VEC4_ARB                 0x8B52
+#define GL_INT_VEC2_ARB                   0x8B53
+#define GL_INT_VEC3_ARB                   0x8B54
+#define GL_INT_VEC4_ARB                   0x8B55
+#define GL_BOOL_ARB                       0x8B56
+#define GL_BOOL_VEC2_ARB                  0x8B57
+#define GL_BOOL_VEC3_ARB                  0x8B58
+#define GL_BOOL_VEC4_ARB                  0x8B59
+#define GL_FLOAT_MAT2_ARB                 0x8B5A
+#define GL_FLOAT_MAT3_ARB                 0x8B5B
+#define GL_FLOAT_MAT4_ARB                 0x8B5C
+#define GL_SAMPLER_1D_ARB                 0x8B5D
+#define GL_SAMPLER_2D_ARB                 0x8B5E
+#define GL_SAMPLER_3D_ARB                 0x8B5F
+#define GL_SAMPLER_CUBE_ARB               0x8B60
+#define GL_SAMPLER_1D_SHADOW_ARB          0x8B61
+#define GL_SAMPLER_2D_SHADOW_ARB          0x8B62
+#endif
+typedef void (APIENTRY * PGLFNGETOBJECTPARAMETERIVARBPROC) (GLhandleARB programObj, GLenum type, GLint* param);
+typedef GLint (APIENTRY * PGLFNGETUNIFORMLOCATIONARB) (GLhandleARB programObj, const GLcharARB * uniform_name);
+typedef GLint (APIENTRY * PGLFNUNIFORM4FVARB) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (APIENTRY * PGLFNGETINFOLOGARBPROC) (GLhandleARB programObj, GLint maxLen, GLint *len, GLcharARB *log);
+typedef void (APIENTRY * PGLFNUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
+typedef GLhandleARB (APIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
+typedef void (APIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
+typedef void (APIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
+typedef GLhandleARB (APIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
+typedef void (APIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
+typedef void (APIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void (APIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
+typedef void (APIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB programObj);
 /* GL_EXT_texture_compression_s3tc */
 #ifndef GL_EXT_texture_compression_s3tc
 #define GL_EXT_texture_compression_s3tc 1
@@ -1233,6 +1283,20 @@ typedef enum _GL_SupportedExt {
     USE_GL_FUNC(PGLFNVERTEXATTRIBPOINTERARBPROC,      glVertexAttribPointerARB); \
     USE_GL_FUNC(PGLFNENABLEVERTEXATTRIBARRAYARBPROC,  glEnableVertexAttribArrayARB); \
     USE_GL_FUNC(PGLFNDISABLEVERTEXATTRIBARRAYARBPROC, glDisableVertexAttribArrayARB); \
+    /* GL_ARB_shader_objects */ \
+    USE_GL_FUNC(PGLFNGETOBJECTPARAMETERIVARBPROC,     glGetObjectParameterivARB); \
+    USE_GL_FUNC(PGLFNGETUNIFORMLOCATIONARB,           glGetUniformLocationARB); \
+    USE_GL_FUNC(PGLFNUNIFORM4FVARB,                   glUniform4fvARB); \
+    USE_GL_FUNC(PGLFNGETINFOLOGARBPROC,               glGetInfoLogARB); \
+    USE_GL_FUNC(PGLFNUSEPROGRAMOBJECTARBPROC,         glUseProgramObjectARB); \
+    USE_GL_FUNC(PFNGLCREATESHADEROBJECTARBPROC,       glCreateShaderObjectARB); \
+    USE_GL_FUNC(PFNGLSHADERSOURCEARBPROC,             glShaderSourceARB); \
+    USE_GL_FUNC(PFNGLCOMPILESHADERARBPROC,            glCompileShaderARB); \
+    USE_GL_FUNC(PFNGLCREATEPROGRAMOBJECTARBPROC,      glCreateProgramObjectARB); \
+    USE_GL_FUNC(PFNGLATTACHOBJECTARBPROC,             glAttachObjectARB); \
+    USE_GL_FUNC(PFNGLLINKPROGRAMARBPROC,              glLinkProgramARB); \
+    USE_GL_FUNC(PFNGLDETACHOBJECTARBPROC,             glDetachObjectARB); \
+    USE_GL_FUNC(PFNGLDELETEOBJECTARBPROC,             glDeleteObjectARB); \
     /* GL_EXT_stencil_two_side */ \
     USE_GL_FUNC(PGLFNACTIVESTENCILFACEEXTPROC, glActiveStencilFaceEXT); \
     /* GL_ATI_separate_stencil */ \
-- 
1.1.3


More information about the wine-patches mailing list