Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

uberbuffers.hpp

00001 // Sh: A GPU metaprogramming language. 00002 // 00003 // Copyright (c) 2003 University of Waterloo Computer Graphics Laboratory 00004 // Project administrator: Michael D. McCool 00005 // Authors: Zheng Qin, Stefanus Du Toit, Kevin Moule, Tiberiu S. Popa, 00006 // Michael D. McCool 00007 // 00008 // This software is provided 'as-is', without any express or implied 00009 // warranty. In no event will the authors be held liable for any damages 00010 // arising from the use of this software. 00011 // 00012 // Permission is granted to anyone to use this software for any purpose, 00013 // including commercial applications, and to alter it and redistribute it 00014 // freely, subject to the following restrictions: 00015 // 00016 // 1. The origin of this software must not be misrepresented; you must 00017 // not claim that you wrote the original software. If you use this 00018 // software in a product, an acknowledgment in the product documentation 00019 // would be appreciated but is not required. 00020 // 00021 // 2. Altered source versions must be plainly marked as such, and must 00022 // not be misrepresented as being the original software. 00023 // 00024 // 3. This notice may not be removed or altered from any source 00025 // distribution. 00027 #ifndef UBERBUFFERS_HPP 00028 #define UBERBUFFERS_HPP 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 /* 00035 ** GL_ATI_uber_buffers 00036 ** 00037 ** Support: 00038 ** Rage 128 based : Not Supported 00039 ** Radeon 7xxx based : Not Supported 00040 ** Radeon 8xxx based : Not Supported 00041 ** Radeon 9xxx based : Supported 00042 */ 00043 #ifndef GL_ATI_uber_buffers 00044 #define GL_ATI_uber_buffers 1 00045 00046 #define GL_COLOR_BUFFER_ATI 0x00010000 // TEMPORARY VALUE 00047 #define GL_DEPTH_BUFFER_ATI 0x00020000 // TEMPORARY VALUE 00048 #define GL_STENCIL_BUFFER_ATI 0x00030000 // TEMPORARY VALUE 00049 #define GL_GENERIC_ARRAY_ATI 0x00040000 // TEMPORARY VALUE 00050 #define GL_ACCUMULATION_BUFFER_ATI 0x00050000 // TEMPORARY VALUE 00051 #define GL_MIPMAP_ATI 0x00060000 // TEMPORARY VALUE 00052 #define GL_BORDER_ATI 0x00070000 // TEMPORARY VALUE 00053 #define GL_USAGE_ATI 0x00080000 // TEMPORARY VALUE 00054 #define GL_PROXY_ATI 0x001f0000 // TEMPORARY VALUE 00055 #define GL_MATCH_SIZE_ATI 0x00090000 // TEMPORARY VALUE 00056 #define GL_MATCH_COMPONENT_SET_ATI 0x000a0000 // TEMPORARY VALUE 00057 #define GL_MATCH_COMPONENT_SIZE_ATI 0x000b0000 // TEMPORARY VALUE 00058 #define GL_MATCH_SAMPLES_ATI 0x000c0000 // TEMPORARY VALUE 00059 #define GL_ATTACH_COMPATIBILITY_ATI 0x000d0000 // TEMPORARY VALUE 00060 #define GL_VALIDATE_ONLY_ATI 0x000e0000 // TEMPORARY VALUE 00061 #define GL_MEMORY_DIMENSIONS_ATI 0x000f0000 // TEMPORARY VALUE 00062 #define GL_MEMORY_WIDTH_ATI 0x00100000 // TEMPORARY VALUE 00063 #define GL_MEMORY_HEIGHT_ATI 0x00110000 // TEMPORARY VALUE 00064 #define GL_MEMORY_DEPTH_ATI 0x00120000 // TEMPORARY VALUE 00065 #define GL_MEMORY_LEVELS_ATI 0x00130000 // TEMPORARY VALUE 00066 #define GL_MEMORY_FORMAT_ATI 0x00140000 // TEMPORARY VALUE 00067 #define GL_SUB_MEM_ATI 0x00150000 // TEMPORARY VALUE 00068 #define GL_WS_ALLOCATED_ATI 0x00160000 // TEMPORARY VALUE 00069 #define GL_EXACT_ATI 0x00170000 // TEMPORARY VALUE 00070 #define GL_MIN_ATI 0x00180000 // TEMPORARY VALUE 00071 #define GL_MAX_ATI 0x00190000 // TEMPORARY VALUE 00072 #define GL_MIN_ELEMENTS_ATI 0x001a0000 // TEMPROARY VALUE 00073 #define GL_MEMORY_3D_ATI 0x001b0000 // TEMPORARY VALUE 00074 #define GL_FRAMEBUFFER_ATI 0x001c0000 // TEMPORARY VALUE 00075 #define GL_STENCIL_COMPONENT_ATI 0x001d0000 // TEMPORARY VALUE 00076 #define GL_STENCIL_COMPONENT8_ATI 0x001e0000 // TEMPORARY VALUE 00077 00078 #define GL_PROXY_ATI 0x001f0000 // TEMPORARY VALUE 00079 #define GL_CUBE_MAP_ATI 0x00200000 // TEMPORARY VALUE 00080 #define GL_3D_DEPTH_SLICE_ATI 0x00210000 // TEMPORARY VALUE 00081 #define GL_MATCH_COMPONENT_TYPE_ATI 0x00220000 // TEMPORARY VALUE 00082 #define GL_IS_BASE_MEM_ATI 0x00230000 // TEMPORARY VALUE 00083 #define GL_IMAGES_ATI 0x00240000 // TEMPORARY VALUE 00084 #define GL_DRAW_FRAMEBUFFER_ATI 0x00250000 // TEMPORARY VALUE 00085 #define GL_READ_FRAMEBUFFER_ATI 0x00260000 // TEMPORARY VALUE 00086 #define GL_SWAP_SRC_FRAMEBUFFER_ATI 0x00270000 // TEMPORARY VALUE 00087 #define GL_SWAP_DST_FRAMEBUFFER_ATI 0x00280000 // TEMPORARY VALUE 00088 #define GL_SWAP_PRESERVE_ATI 0x00290000 // TEMPORARY VALUE 00089 #define GL_SWAP_SYNC_ATI 0x002a0000 // TEMPORARY VALUE 00090 #define GL_SWAP_INTERVAL_ATI 0x002b0000 // TEMPORARY VALUE 00091 #define GL_VIDEO_ATI 0x002c0000 // TEMPORARY VALUE 00092 00093 #define GL_BASE_ATI 0x00000001 00094 #define GL_LEAVES_ATI 0x00000002 00095 #define GL_MIPMAP_FALSE_ATI 0x00000004 00096 #define GL_MIPMAP_TRUE_ATI 0x00000008 00097 #define GL_MIPMAP_EITHER_ATI 0x0000000c 00098 #define GL_CUBE_MAP_FALSE_ATI 0x00000010 00099 #define GL_CUBE_MAP_TRUE_ATI 0x00000020 00100 #define GL_CUBE_MAP_EITHER_ATI 0x00000030 00101 #define GL_3D_DEPTH_SLICE_FALSE_ATI 0x00000040 00102 #define GL_3D_DEPTH_SLICE_TRUE_ATI 0x00000080 00103 #define GL_3D_DEPTH_SLICE_EITHER_ATI 0x000000c0 00104 00105 #define GL_MAX_SWAP_INTERVAL_ATI 16 00106 00107 #ifndef GL_CHAR_ARB_DEFINED 00108 typedef char GLcharARB; 00109 #define GL_CHAR_ARB_DEFINED 00110 #endif 00111 typedef GLuint GLmem; 00112 00113 #ifdef GL_GLEXT_PROTOTYPES 00114 GLAPI GLmem glAllocMem3DATI(GLenum format, 00115 GLsizei width, GLsizei height, GLsizei depth, 00116 GLsizei np, const GLint *properties); 00117 GLAPI GLmem glAllocMem2DATI(GLenum format, 00118 GLsizei width, GLsizei height, 00119 GLsizei np, const GLint *properties); 00120 GLAPI GLmem glAllocMem1DATI(GLenum format, 00121 GLsizei width, 00122 GLsizei np, const GLint *properties); 00123 GLAPI GLvoid glGetMemInfoLogATI(GLmem mem, 00124 GLsizei maxLength, 00125 GLsizei* length, 00126 GLcharARB* infoLog); 00127 GLAPI GLmem glCloneMemATI(GLmem mem); 00128 GLAPI GLvoid glDeleteMemATI(GLmem mem); 00129 GLAPI GLint glGetMemPropertyATI(GLmem mem, GLenum property); 00130 GLAPI GLmem glGetSubMemATI(GLmem mem, GLenum type, GLuint child); 00131 GLAPI GLmem glGetBaseMemATI(GLmem mem); 00132 GLAPI GLmem glGetMemATI(GLenum target); 00133 GLAPI GLboolean glIsMemATI(GLmem mem); 00134 GLAPI GLvoid glMemImageATI(GLmem mem, GLenum format, GLenum type, GLvoid *data); 00135 GLAPI GLvoid glCopyMemImage2DATI(GLmem mem, GLint x, GLint y); 00136 GLAPI GLvoid glCopyMemImage1DATI(GLmem mem, GLint x, GLint y); 00137 GLAPI GLvoid glMemSubImage3DATI(GLmem mem, 00138 GLint xoffset, GLint yoffset, GLint zoffset, 00139 GLsizei width, GLsizei height, GLsizei depth, 00140 GLenum format, GLenum type, 00141 GLvoid *data); 00142 GLAPI GLvoid glMemSubImage2DATI(GLmem mem, 00143 GLint xoffset, GLint yoffset, 00144 GLsizei width, GLsizei height, 00145 GLenum format, GLenum type, 00146 GLvoid *data); 00147 GLAPI GLvoid glMemSubImage1DATI(GLmem mem, 00148 GLint xoffset, 00149 GLsizei width, 00150 GLenum format, GLenum type, 00151 GLvoid *data); 00152 GLAPI GLvoid glCopyMemSubImage2DATI(GLmem mem, 00153 GLint xoffset, GLint yoffset, 00154 GLint x, GLint y, 00155 GLsizei width, GLsizei height); 00156 GLAPI GLvoid glCopyMemSubImage1DATI(GLmem mem, 00157 GLint xoffset, 00158 GLint x, GLint y, 00159 GLsizei width); 00160 GLAPI GLvoid glMemCopy3DATI(GLmem src, GLint xsrc, GLint ysrc, GLint zsrc, 00161 GLmem dst, GLint xdst, GLint ydst, GLint zdst, 00162 GLsizei width, GLsizei height, GLsizei depth); 00163 GLAPI GLvoid glMemCopy2DATI(GLmem src, GLint xsrc, GLint ysrc, 00164 GLmem dst, GLint xdst, GLint ydst, 00165 GLsizei width, GLsizei height); 00166 GLAPI GLvoid glMemCopy1DATI(GLmem src, GLint xsrc, 00167 GLmem dst, GLint xdst, 00168 GLsizei width); 00169 GLAPI GLvoid glGetMemImageATI(GLmem mem, GLenum format, GLenum type, GLvoid *data); 00170 GLAPI GLvoid glGetMemSubImage3DATI(GLmem mem, 00171 GLint xoffset, GLint yoffset, GLint zoffset, 00172 GLsizei width, GLsizei height, GLsizei depth, 00173 GLenum format, GLenum type, 00174 GLvoid *data); 00175 GLAPI GLvoid glGetMemSubImage2DATI(GLmem mem, 00176 GLint xoffset, GLint yoffset, 00177 GLsizei width, GLsizei height, 00178 GLenum format, GLenum type, 00179 GLvoid *data); 00180 GLAPI GLvoid glGetMemSubImage1DATI(GLmem mem, 00181 GLint xoffset, 00182 GLsizei width, 00183 GLenum format, GLenum type, 00184 GLvoid *data); 00185 GLAPI GLvoid glInvalidateMemATI(GLmem mem); 00186 GLAPI GLvoid glAttachMemATI(GLenum target, 00187 GLenum attachment, 00188 GLmem mem); 00189 GLAPI GLboolean glDetachMemATI(GLmem mem); 00190 00191 GLAPI GLuint glCreateFramebufferATI(GLvoid); 00192 GLAPI GLvoid glDeleteFramebufferATI(GLuint framebuffer); 00193 GLAPI GLvoid glBindFramebufferATI(GLenum target, GLuint framebuffer); 00194 GLAPI GLuint glGetFramebufferATI(GLenum target); 00195 GLAPI GLboolean glIsFramebufferATI(GLuint framebuffer); 00196 GLAPI GLvoid glFramebufferParameterfATI(GLenum target, GLenum pname, GLfloat param); 00197 GLAPI GLvoid glFramebufferParameterfvATI(GLenum target, GLenum pname, const GLfloat *params); 00198 GLAPI GLvoid glFramebufferParameteriATI(GLenum target, GLenum pname, GLint param); 00199 GLAPI GLvoid glFramebufferParameterivATI(GLenum target, GLenum pname, const GLint *params); 00200 GLAPI GLvoid glGetFramebufferParameterfvATI(GLenum target, GLenum pname, GLfloat *params); 00201 GLAPI GLvoid glGetFramebufferParameterivATI(GLenum target, GLenum pname, GLint *params); 00202 GLAPI GLvoid glSwapBuffersATI(GLvoid); 00203 GLAPI GLvoid glVertexArrayMemATI(GLenum array, GLint size, GLmem mem, GLuint offset); 00204 GLAPI GLvoid glVertexAttribMemATI(GLuint index, GLint size, GLboolean normalized, 00205 GLmem mem, GLuint offset); 00206 GLAPI GLvoid glDrawMemElementsATI(GLenum mode, GLsizei count, GLmem mem, GLuint offset); 00207 GLAPI GLvoid glMultiDrawMemElementsATI(GLenum mode, GLsizei *count, GLmem *mems, 00208 GLuint *offsets, GLsizei primcount); 00209 #endif /* GL_GLEXT_PROTOTYPES */ 00210 00211 typedef GLmem (APIENTRY *PFNGLALLOCMEM3DATIPROC)(GLenum format, 00212 GLsizei width, GLsizei height, GLsizei depth, 00213 GLsizei np, const GLint *properties); 00214 typedef GLmem (APIENTRY *PFNGLALLOCMEM2DATIPROC)(GLenum format, 00215 GLsizei width, GLsizei height, 00216 GLsizei np, const GLint *properties); 00217 typedef GLmem (APIENTRY *PFNGLALLOCMEM1DATIPROC)(GLenum format, 00218 GLsizei width, 00219 GLsizei np, const GLint *properties); 00220 typedef GLvoid (APIENTRY *PFNGLGETMEMINFOLOGATIPROC)(GLmem mem, 00221 GLsizei maxLength, 00222 GLsizei* length, 00223 GLcharARB* infoLog); 00224 typedef GLmem (APIENTRY *PFNGLCLONEMEMATIPROC)(GLmem mem); 00225 typedef GLvoid (APIENTRY *PFNGLDELETEMEMATIPROC)(GLmem mem); 00226 typedef GLint (APIENTRY *PFNGLGETMEMPROPERTYATIPROC)(GLmem mem, GLenum property); 00227 typedef GLmem (APIENTRY *PFNGLGETSUBMEMATIPROC)(GLmem mem, GLenum type, GLuint child); 00228 typedef GLmem (APIENTRY *PFNGLGETBASEMEMATIPROC)(GLmem mem); 00229 typedef GLmem (APIENTRY *PFNGLGETMEMATIPROC)(GLenum target); 00230 typedef GLboolean (APIENTRY *PFNGLISMEMATIPROC)(GLmem mem); 00231 typedef GLvoid (APIENTRY *PFNGLMEMIMAGEATIPROC)(GLmem mem, GLenum format, GLenum type, GLvoid *data); 00232 typedef GLvoid (APIENTRY *PFNGLCOPYMEMIMAGE2DATIPROC)(GLmem mem, GLint x, GLint y); 00233 typedef GLvoid (APIENTRY *PFNGLCOPYMEMIMAGE1DATIPROC)(GLmem mem, GLint x, GLint y); 00234 typedef GLvoid (APIENTRY *PFNGLMEMSUBIMAGE3DATIPROC)(GLmem mem, 00235 GLint xoffset, GLint yoffset, GLint zoffset, 00236 GLsizei width, GLsizei height, GLsizei depth, 00237 GLenum format, GLenum type, 00238 GLvoid *data); 00239 typedef GLvoid (APIENTRY *PFNGLMEMSUBIMAGE2DATIPROC)(GLmem mem, 00240 GLint xoffset, GLint yoffset, 00241 GLsizei width, GLsizei height, 00242 GLenum format, GLenum type, 00243 GLvoid *data); 00244 typedef GLvoid (APIENTRY *PFNGLMEMSUBIMAGE1DATIPROC)(GLmem mem, 00245 GLint xoffset, 00246 GLsizei width, 00247 GLenum format, GLenum type, 00248 GLvoid *data); 00249 typedef GLvoid (APIENTRY *PFNGLCOPYMEMSUBIMAGE2DATIPROC)(GLmem mem, 00250 GLint xoffset, GLint yoffset, 00251 GLint x, GLint y, 00252 GLsizei width, GLsizei height); 00253 typedef GLvoid (APIENTRY *PFNGLCOPYMEMSUBIMAGE1DATIPROC)(GLmem mem, 00254 GLint xoffset, 00255 GLint x, GLint y, 00256 GLsizei width); 00257 typedef GLvoid (APIENTRY *PFNGLMEMCOPY3DATIPROC)(GLmem src, GLint xsrc, GLint ysrc, GLint zsrc, 00258 GLmem dst, GLint xdst, GLint ydst, GLint zdst, 00259 GLsizei width, GLsizei height, GLsizei depth); 00260 typedef GLvoid (APIENTRY *PFNGLMEMCOPY2DATIPROC)(GLmem src, GLint xsrc, GLint ysrc, 00261 GLmem dst, GLint xdst, GLint ydst, 00262 GLsizei width, GLsizei height); 00263 typedef GLvoid (APIENTRY *PFNGLMEMCOPY1DATIPROC)(GLmem src, GLint xsrc, 00264 GLmem dst, GLint xdst, 00265 GLsizei width); 00266 typedef GLvoid (APIENTRY *PFNGLGETMEMIMAGEATIPROC)(GLmem mem, GLenum format, GLenum type, GLvoid *data); 00267 typedef GLvoid (APIENTRY *PFNGLGETMEMSUBIMAGE3DATIPROC)(GLmem mem, 00268 GLint xoffset, GLint yoffset, GLint zoffset, 00269 GLsizei width, GLsizei height, GLsizei depth, 00270 GLenum format, GLenum type, 00271 GLvoid *data); 00272 typedef GLvoid (APIENTRY *PFNGLGETMEMSUBIMAGE2DATIPROC)(GLmem mem, 00273 GLint xoffset, GLint yoffset, 00274 GLsizei width, GLsizei height, 00275 GLenum format, GLenum type, 00276 GLvoid *data); 00277 typedef GLvoid (APIENTRY *PFNGLGETMEMSUBIMAGE1DATIPROC)(GLmem mem, 00278 GLint xoffset, 00279 GLsizei width, 00280 GLenum format, GLenum type, 00281 GLvoid *data); 00282 typedef GLvoid (APIENTRY *PFNGLINVALIDATEMEMATIPROC)(GLmem mem); 00283 typedef GLvoid (APIENTRY *PFNGLATTACHMEMATIPROC)(GLenum target, 00284 GLenum attachment, 00285 GLmem mem); 00286 typedef GLboolean (APIENTRY *PFNGLDETACHMEMATIPROC)(GLmem mem); 00287 00288 typedef GLuint (APIENTRY *PFNGLCREATEFRAMEBUFFERATIPROC)(GLvoid); 00289 typedef GLvoid (APIENTRY *PFNGLDELETEFRAMEBUFFERATIPROC)(GLuint framebuffer); 00290 typedef GLvoid (APIENTRY *PFNGLBINDFRAMEBUFFERATIPROC)(GLenum target, GLuint framebuffer); 00291 typedef GLuint (APIENTRY *PFNGLGETFRAMEBUFFERATIPROC)(GLenum target); 00292 typedef GLboolean (APIENTRY *PFNGLISFRAMEBUFFERATIPROC)(GLuint framebuffer); 00293 typedef GLvoid (APIENTRY *PFNGLFRAMEBUFFERPARAMETERFATIPROC)(GLenum target, GLenum pname, GLfloat param); 00294 typedef GLvoid (APIENTRY *PFNGLFRAMEBUFFERPARAMETERFVATIPROC)(GLenum target, GLenum pname, const GLfloat *params); 00295 typedef GLvoid (APIENTRY *PFNGLFRAMEBUFFERPARAMETERIATIPROC)(GLenum target, GLenum pname, GLint param); 00296 typedef GLvoid (APIENTRY *PFNGLFRAMEBUFFERPARAMETERIVATIPROC)(GLenum target, GLenum pname, const GLint *params); 00297 typedef GLvoid (APIENTRY *PFNGLGETFRAMEBUFFERPARAMETERFVATIPROC)(GLenum target, GLenum pname, GLfloat *params); 00298 typedef GLvoid (APIENTRY *PFNGLGETFRAMEBUFFERPARAMETERIVATIPROC)(GLenum target, GLenum pname, GLint *params); 00299 typedef GLvoid (APIENTRY *PFNGLSWAPBUFFERSATIPROC)(GLvoid); 00300 typedef GLvoid (APIENTRY *PFNGLVERTEXARRAYMEMATIPROC)(GLenum array, GLint size, GLmem mem, GLuint offset); 00301 typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIBMEMATIPROC)(GLuint index, GLint size, GLboolean normalized, 00302 GLmem mem, GLuint offset); 00303 typedef GLvoid (APIENTRY *PFNGLDRAWMEMELEMENTSATIPROC)(GLenum mode, GLsizei count, GLmem mem, GLuint offset); 00304 typedef GLvoid (APIENTRY *PFNGLMULTIDRAWMEMELEMENTSATIPROC)(GLenum mode, GLsizei *count, GLmem *mems, 00305 GLuint *offsets, GLsizei primcount); 00306 00307 00308 #endif /* GL_ATI_uber_buffers */ 00309 00310 #ifdef __cplusplus 00311 } 00312 #endif 00313 00314 #endif

Generated on Mon Oct 18 14:17:40 2004 for Sh by doxygen 1.3.7