[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