Added COGLhandleARB since the underlying type on OSX is void*,

patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
* clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
* clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
referring to program or shader handles.
This commit is contained in:
Øyvind Kolås 2008-01-10 09:55:44 +00:00
parent f32911c519
commit 063386c1e2
5 changed files with 60 additions and 48 deletions

View File

@ -1,3 +1,14 @@
2008-01-10 Øyvind Kolås <pippin@gimp.org>
Added COGLhandleARB since the underlying type on OSX is void*,
patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
* clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
* clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
referring to program or shader handles.
2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:

View File

@ -68,19 +68,19 @@ typedef enum {
struct _ClutterShaderPrivate
{
guint bound : 1; /* The shader is bound to the GL context */
guint bound : 1; /* Shader is bound to the GL context */
guint is_enabled : 1;
guint vertex_is_glsl : 1;
guint fragment_is_glsl : 1;
gchar *vertex_source; /* source (or asm) for vertex shader */
gchar *fragment_source; /* source (or asm) for fragment shader */
gchar *vertex_source; /* GLSL source for vertex shader */
gchar *fragment_source; /* GLSL source for fragment shader */
COGLint program;
COGLhandleARB program;
COGLint vertex_shader;
COGLint fragment_shader;
COGLhandleARB vertex_shader;
COGLhandleARB fragment_shader;
};
enum

View File

@ -214,49 +214,49 @@ cogl_fog_set (const ClutterColor *fog_color,
ClutterFixed z_far);
COGLint
COGLhandleARB
cogl_create_shader (COGLenum shaderType);
void
cogl_shader_destroy (COGLint handle);
cogl_shader_destroy (COGLhandleARB handle);
void
cogl_shader_source (COGLint shader,
cogl_shader_source (COGLhandleARB shader,
const gchar *source);
void
cogl_shader_compile (COGLint shader_handle);
cogl_shader_compile (COGLhandleARB shader_handle);
void
cogl_shader_get_info_log (COGLint handle,
cogl_shader_get_info_log (COGLhandleARB handle,
guint size,
gchar *buffer);
void
cogl_shader_get_parameteriv (COGLint handle,
cogl_shader_get_parameteriv (COGLhandleARB handle,
COGLenum pname,
COGLint *dest);
COGLint
COGLhandleARB
cogl_create_program (void);
void
cogl_program_destroy (COGLint handle);
cogl_program_destroy (COGLhandleARB handle);
void
cogl_program_attach_shader (COGLint program_handle,
COGLint shader_handle);
cogl_program_attach_shader (COGLhandleARB program_handle,
COGLhandleARB shader_handle);
/* 0 to use none */
void
cogl_program_link (COGLint program_handle);
cogl_program_link (COGLhandleARB program_handle);
void
cogl_program_use (COGLint program_handle);
cogl_program_use (COGLhandleARB program_handle);
COGLint
cogl_program_get_uniform_location (COGLint program_int,
cogl_program_get_uniform_location (COGLhandleARB program_int,
const gchar *uniform_name);

View File

@ -42,6 +42,7 @@ G_BEGIN_DECLS
typedef GLenum COGLenum;
typedef GLint COGLint;
typedef GLuint COGLuint;
typedef GLhandleARB COGLhandleARB;
/* FIXME + DOCUMENT */

View File

@ -785,14 +785,14 @@ cogl_fog_set (const ClutterColor *fog_color,
#endif
COGLint
COGLhandleARB
cogl_create_program (void)
{
PROC (GLhandleARB, 0, glCreateProgramObjectARB, void);
return proc ();
}
COGLint
COGLhandleARB
cogl_create_shader (COGLenum shaderType)
{
PROC (GLhandleARB, 0, glCreateShaderObjectARB, GLenum);
@ -800,7 +800,7 @@ cogl_create_shader (COGLenum shaderType)
}
void
cogl_shader_source (COGLint shader,
cogl_shader_source (COGLhandleARB shader,
const gchar *source)
{
PROC (GLvoid,, glShaderSourceARB, GLhandleARB, GLsizei, const GLcharARB **, const GLint *)
@ -808,36 +808,36 @@ cogl_shader_source (COGLint shader,
}
void
cogl_shader_compile (COGLint shader_handle)
cogl_shader_compile (COGLhandleARB shader_handle)
{
PROC (GLvoid,, glCompileShaderARB, GLhandleARB);
proc (shader_handle);
}
void
cogl_program_attach_shader (COGLint program_handle,
COGLint shader_handle)
cogl_program_attach_shader (COGLhandleARB program_handle,
COGLhandleARB shader_handle)
{
PROC (GLvoid,, glAttachObjectARB, GLhandleARB, GLhandleARB);
proc (program_handle, shader_handle);
}
void
cogl_program_link (COGLint program_handle)
cogl_program_link (COGLhandleARB program_handle)
{
PROC (GLvoid,, glLinkProgramARB, GLhandleARB);
proc (program_handle);
}
void
cogl_program_use (COGLint program_handle)
cogl_program_use (COGLhandleARB program_handle)
{
PROC (GLvoid,, glUseProgramObjectARB, GLhandleARB);
proc (program_handle);
}
COGLint
cogl_program_get_uniform_location (COGLint program_handle,
cogl_program_get_uniform_location (COGLhandleARB program_handle,
const gchar *uniform_name)
{
PROC (GLint,0, glGetUniformLocationARB, GLhandleARB, const GLcharARB *)
@ -845,32 +845,32 @@ cogl_program_get_uniform_location (COGLint program_handle,
}
void
cogl_program_destroy (COGLint handle)
cogl_program_destroy (COGLhandleARB handle)
{
PROC (GLvoid,, glDeleteObjectARB, GLhandleARB);
proc (handle);
}
void
cogl_shader_destroy (COGLint handle)
cogl_shader_destroy (COGLhandleARB handle)
{
PROC (GLvoid,, glDeleteObjectARB, GLhandleARB);
proc (handle);
}
void
cogl_shader_get_info_log (COGLint handle,
cogl_shader_get_info_log (COGLhandleARB handle,
guint size,
gchar *buffer)
{
gint len;
COGLint len;
PROC (GLvoid,, glGetInfoLogARB, GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
proc (handle, size-1, &len, buffer);
buffer[len]='\0';
}
void
cogl_shader_get_parameteriv (COGLint handle,
cogl_shader_get_parameteriv (COGLhandleARB handle,
COGLenum pname,
COGLint *dest)
{