annotate libvo/gl_common.h @ 16099:629c54dc7e0d

support for rectangular and streaming textures.
author reimar
date Tue, 26 Jul 2005 10:16:18 +0000
parents f0c1ee83b216
children 519a307e3ccf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13653
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
1 #ifndef __GL_COMMON_H__
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
2 #define __GL_COMMON_H__
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
3
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
4 #include "mp_msg.h"
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
5 #include "config.h"
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
6
13653
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
7 #include <GL/gl.h>
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
8 #include "video_out.h"
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
9
14142
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
10 #ifdef GL_WIN32
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
11 #include <windows.h>
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
12 #include <GL/glext.h>
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
13 #include "w32_common.h"
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
14 #else
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
15 #include <X11/Xlib.h>
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
16 #include <GL/glx.h>
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
17 #include "x11_common.h"
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
18 #endif
13653
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
19
16099
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
20 #ifndef GL_TEXTURE_RECTANGLE
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
21 #define GL_TEXTURE_RECTANGLE 0x84F5
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
22 #endif
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
23 #ifndef GL_PIXEL_UNPACK_BUFFER
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
24 #define GL_PIXEL_UNPACK_BUFFER 0x88EC
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
25 #endif
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
26 #ifndef GL_STREAM_DRAW
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
27 #define GL_STREAM_DRAW 0x88E0
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
28 #endif
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
29 #ifndef GL_WRITE_ONLY
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
30 #define GL_WRITE_ONLY 0x88B9
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
31 #endif
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
32
13653
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
33 void glAdjustAlignment(int stride);
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
34
14078
c4033dcb986f More similar code from gl and gl2 moved to gl_common
reimar
parents: 13921
diff changeset
35 const char *glValName(GLint value);
c4033dcb986f More similar code from gl and gl2 moved to gl_common
reimar
parents: 13921
diff changeset
36
c4033dcb986f More similar code from gl and gl2 moved to gl_common
reimar
parents: 13921
diff changeset
37 int glFindFormat(uint32_t format, uint32_t *bpp, GLenum *gl_texfmt,
c4033dcb986f More similar code from gl and gl2 moved to gl_common
reimar
parents: 13921
diff changeset
38 GLenum *gl_format, GLenum *gl_type);
c4033dcb986f More similar code from gl and gl2 moved to gl_common
reimar
parents: 13921
diff changeset
39
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
40 //! could not set new window, will continue drawing into the old one.
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
41 #define SET_WINDOW_FAILED -1
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
42 //! new window is set, could even transfer the OpenGL context.
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
43 #define SET_WINDOW_OK 0
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
44 //! new window is set, but the OpenGL context needs to be reinitialized.
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
45 #define SET_WINDOW_REINIT 1
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
46
14142
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
47 #ifdef GL_WIN32
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
48 int setGlWindow(int *vinfo, HGLRC *context, HWND win);
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
49 void releaseGlContext(int *vinfo, HGLRC *context);
f0c1ee83b216 Improving gl2 under windows, moving some functionality to gl_common
reimar
parents: 14078
diff changeset
50 #else
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
51 int setGlWindow(XVisualInfo **vinfo, GLXContext *context, Window win);
13921
ae1dfa5bc2e1 added missing declaration of releaseGlContext
reimar
parents: 13843
diff changeset
52 void releaseGlContext(XVisualInfo **vinfo, GLXContext *context);
13653
799f81d3cb19 added gl_common for code used by both vo_gl.c and vo_gl2.c.
reimar
parents:
diff changeset
53 #endif
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
54
16099
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
55 extern void (APIENTRY *BindBuffer)(GLenum, GLuint);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
56 extern GLvoid* (APIENTRY *MapBuffer)(GLenum, GLenum);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
57 extern GLboolean (APIENTRY *UnmapBuffer)(GLenum);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
58 extern void (APIENTRY *BufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
59 extern void (APIENTRY *CombinerParameterfv)(GLenum, const GLfloat *);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
60 extern void (APIENTRY *CombinerParameteri)(GLenum, GLint);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
61 extern void (APIENTRY *CombinerInput)(GLenum, GLenum, GLenum, GLenum, GLenum,
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
62 GLenum);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
63 extern void (APIENTRY *CombinerOutput)(GLenum, GLenum, GLenum, GLenum, GLenum,
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
64 GLenum, GLenum, GLboolean, GLboolean,
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
65 GLboolean);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
66 extern void (APIENTRY *ActiveTexture)(GLenum);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
67 extern void (APIENTRY *BindTexture)(GLenum, GLuint);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
68 extern void (APIENTRY *MultiTexCoord2f)(GLenum, GLfloat, GLfloat);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
69 extern void (APIENTRY *BindProgram)(GLenum, GLuint);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
70 extern void (APIENTRY *ProgramString)(GLenum, GLenum, GLsizei, const GLvoid *);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
71 extern void (APIENTRY *ProgramEnvParameter4f)(GLenum, GLuint, GLfloat, GLfloat,
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
72 GLfloat, GLfloat);
629c54dc7e0d support for rectangular and streaming textures.
reimar
parents: 14142
diff changeset
73
13843
3f28d2a56758 fullscreen fixes and GUI support for vo_gl
reimar
parents: 13653
diff changeset
74 #endif