/* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */
/*
* (C) Copyright IBM Corporation 2004, 2005
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* IBM,
* AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include <GL/gl.h>
#include "indirect.h"
#include "glxclient.h"
#include "indirect_size.h"
#include <GL/glxproto.h>
#ifdef USE_XCB
#include <X11/xcl.h>
#include <X11/XCB/xcb.h>
#include <X11/XCB/glx.h>
#endif /* USE_XCB */
#define __GLX_PAD(n) (((n) + 3) & ~3)
# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
# define FASTCALL __attribute__((fastcall))
# else
# define FASTCALL
# endif
# if defined(__GNUC__)
# define NOINLINE __attribute__((noinline))
# else
# define NOINLINE
# endif
#if !defined __GNUC__ || __GNUC__ < 3
# define __builtin_expect(x, y) x
#endif
/* If the size and opcode values are known at compile-time, this will, on
* x86 at least, emit them with a single instruction.
*/
#define emit_header(dest, op, size) \
do { union { short s[2]; int i; } temp; \
temp.s[0] = (size); temp.s[1] = (op); \
*((int *)(dest)) = temp.i; } while(0)
NOINLINE CARD32
__glXReadReply( Display *dpy, size_t size, void * dest, GLboolean reply_is_always_array )
{
xGLXSingleReply reply;
(void) _XReply(dpy, (xReply *) & reply, 0, False);
if (size != 0) {
if ((reply.length > 0) || reply_is_always_array) {
const GLint bytes = (reply_is_always_array)
? (4 * reply.length) : (reply.size * size);
const GLint extra = 4 - (bytes & 3);
_XRead(dpy, dest, bytes);
if ( extra < 4 ) {
_XEatData(dpy, extra);
}
}
else {
(void) memcpy( dest, &(reply.pad3), size);
}
}
return reply.retval;
}
NOINLINE void
__glXReadPixelReply( Display *dpy, __GLXcontext * gc, unsigned max_dim,
GLint width, GLint height, GLint depth, GLenum format, GLenum type,
void * dest, GLboolean dimensions_in_reply )
{
xGLXSingleReply reply;
GLint size;
(void) _XReply(dpy, (xReply *) & reply, 0, False);
if ( dimensions_in_reply ) {
width = reply.pad3;
height = reply.pad4;
depth = reply.pad5;
if ((height == 0) || (max_dim < 2)) { height = 1; }
if ((depth == 0) || (max_dim < 3)) { depth = 1; }
}
size = reply.length * 4;
if (size != 0) {
void * buf = Xmalloc( size );
if ( buf == NULL ) {
_XEatData(dpy, size);
__glXSetError(gc, GL_OUT_OF_MEMORY);
}
else {
const GLint extra = 4 - (size & 3);
_XRead(dpy, buf, size);
if ( extra < 4 ) {
_XEatData(dpy, extra);
}
__glEmptyImage(gc, 3, width, height, depth, format, type,
buf, dest);
Xfree(buf);
}
}
}
#define X_GLXSingle 0
NOINLINE FASTCALL GLubyte *
__glXSetupSingleRequest( __GLXcontext * gc, GLint sop, GLint cmdlen )
{
xGLXSingleReq * req;
Display * const dpy = gc->currentDpy;
(void) __glXFlushRenderBuffer(gc, gc->pc);
LockDisplay(dpy);
GetReqExtra(GLXSingle, cmdlen, req);
req->reqType = gc->majorOpcode;
req->contextTag = gc->currentContextTag;
req->glxCode = sop;
return (GLubyte *)(req) + sz_xGLXSingleReq;
}
NOINLINE FASTCALL GLubyte *
__glXSetupVendorRequest( __GLXcontext * gc, GLint code, GLint vop, GLint cmdlen )
{
xGLXVendorPrivateReq * req;
Display * const dpy = gc->currentDpy;
(void) __glXFlushRenderBuffer(gc, gc->pc);
LockDisplay(dpy);
GetReqExtra(GLXVendorPrivate, cmdlen, req);
req->reqType = gc->majorOpcode;
req->glxCode = code;
req->vendorCode = vop;
req->contextTag = gc->currentContextTag;
return (GLubyte *)(req) + sz_xGLXVendorPrivateReq;
}
const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 };
#define zero (__glXDefaultPixelStore+0)
#define one (__glXDefaultPixelStore+8)
#define default_pixel_store_1D (__glXDefaultPixelStore+4)
#define default_pixel_store_1D_size 20
#define default_pixel_store_2D (__glXDefaultPixelStore+4)
#define default_pixel_store_2D_size 20
#define default_pixel_store_3D (__glXDefaultPixelStore+0)
#define default_pixel_store_3D_size 36
#define default_pixel_store_4D (__glXDefaultPixelStore+0)
#define default_pixel_store_4D_size 36
static FASTCALL NOINLINE void
generic_3_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 8;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 4);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_4_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 8;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 4);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_6_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 12;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 8);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_8_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 12;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 8);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_12_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 16;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 12);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_16_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 20;
emit_header(gc->pc, rop, cmdlen);
(void) memcpy((void *)(gc->pc + 4), ptr, 16);
gc->pc += cmdlen;
if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
}
static FASTCALL NOINLINE void
generic_24_byte( GLint rop, const void * ptr )
{
__GLXcontext * const gc = __glXGetCurrentContext();
const GLuint cmdlen = 28;
emi
没有合适的资源?快使用搜索试试~ 我知道了~
mesa-6.5-minigui.tar.gz
需积分: 9 17 下载量 126 浏览量
2009-04-29
13:47:09
上传
评论
收藏 7.4MB GZ 举报
温馨提示
共2107个文件
c:903个
h:713个
cc:74个
This project intends to implement OpenGL APIs on MiniGUI based on the famous open-source implementation of OpenGL: Mesa3D. This project uses MiniGUI as the graphics backend of Mesa3D. By using Mesa3D4MiniGUI, you can run OpenGL 3D applications on MiniGUI
资源推荐
资源详情
资源评论
收起资源包目录
mesa-6.5-minigui.tar.gz (2107个子文件)
mms-config. 457B
libGLw.so.1.0.0 11KB
RELNOTES-4.0 4KB
RELNOTES-6.0 2KB
RELNOTES-5.0 2KB
libGL.so.1.5.060500 2.22MB
libGLU.so.1.3.060500 479KB
libOSMesa.so.6.5.060500 30KB
libGL.so.1 2.22MB
libGLU.so.1 479KB
libglut.so.3.7.1 226KB
libGLw.so.1 11KB
RELNOTES-4.1 11KB
RELNOTES-5.1 10KB
RELNOTES-3.1 4KB
RELNOTES-6.1 3KB
RELNOTES-6.0.1 1KB
RELNOTES-5.0.1 1KB
RELNOTES-6.2.1 1KB
RELNOTES-6.4.1 1KB
RELNOTES-6.3.1 1KB
RELNOTES-3.2.1 861B
RELNOTES-3.4.1 643B
RELNOTES-4.0.1 623B
RELNOTES-6.1~ 2KB
RELNOTES-4.0.2 2KB
RELNOTES-6.2 1KB
RELNOTES-5.0.2 1KB
RELNOTES-6.4.2 1KB
RELNOTES-6.3.2 962B
RELNOTES-3.4.2 643B
RELNOTES-3.2 370B
libglut.so.3 226KB
RELNOTES-3.3 8KB
RELNOTES-6.3 3KB
RELNOTES-4.0.3 2KB
README.3DFX 26KB
RELNOTES-6.4 1KB
RELNOTES-3.4 603B
RELNOTES-3.5 7KB
RELNOTES-6.5 2KB
libOSMesa.so.6 30KB
aix 687B
aix-64 750B
aix-gcc 451B
aix-static 423B
alg-outline 10KB
README.AMIWIN 7KB
depend.bak 755B
Root.bak 42B
README.BEOS 5KB
beos 2KB
wrs_logo.bmp 192KB
indirect.c 325KB
mipmap.c 264KB
dlist.c 235KB
get.c 213KB
enums.c 180KB
texstore.c 156KB
xm_span.c 150KB
image.c 140KB
arbprogparse.c 125KB
teximage.c 112KB
texstate.c 100KB
tdfx_texstate.c 91KB
s_texfilter.c 86KB
xm_api.c 82KB
glxcmds.c 81KB
grammar.c 79KB
fxg.c 79KB
fakeglx.c 78KB
dglwgl.c 76KB
r200_state.c 72KB
radeon_state.c 70KB
fxdd.c 70KB
dumpstate.c 69KB
pixel.c 69KB
fxsetup.c 67KB
savagetex.c 67KB
dglcontext.c 67KB
mach64_tris.c 62KB
renderbuffer.c 61KB
r300_state.c 61KB
program.c 61KB
tdfx_tex.c 59KB
s_nvfragprog.c 57KB
savagestate.c 57KB
f9x15.c 56KB
r200_texstate.c 56KB
slang_compile.c 55KB
attrib.c 54KB
fxddtex.c 53KB
nvfragparse.c 53KB
convolve.c 51KB
fxtris.c 51KB
glut_tr24.c 51KB
glut_tr24.c 51KB
tr24.c 51KB
context.c 50KB
indirect_vertex_array.c 50KB
共 2107 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22
资源评论
yong_f
- 粉丝: 120
- 资源: 228
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- flutter appflutter app
- 扫描全能王 2024-05-10 16.45.pdf
- spire.office.free-5.3.1.jar
- 数字电路:异步触发器计数器分频器 Quartus II 环境Verilog HDL语言编程+仿真+开发板FPGACPLDEDA
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- CSDN_1715329934159.png
- Node安装教程(附安装包)
- 对点云更改重心位置和尺度python代码
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 实验五朴素贝叶斯西瓜数据集
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功