⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlist.c

📁 mesa-6.5-minigui源码
💻 C
📖 第 1 页 / 共 5 页
字号:
                       GLint x, GLint y, GLsizei width, GLint height){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_COPY_TEX_SUB_IMAGE2D, 8);   if (n) {      n[1].e = target;      n[2].i = level;      n[3].i = xoffset;      n[4].i = yoffset;      n[5].i = x;      n[6].i = y;      n[7].i = width;      n[8].i = height;   }   if (ctx->ExecuteFlag) {      CALL_CopyTexSubImage2D(ctx->Exec, (target, level, xoffset, yoffset,                                         x, y, width, height));   }}static void GLAPIENTRYsave_CopyTexSubImage3D(GLenum target, GLint level,                       GLint xoffset, GLint yoffset, GLint zoffset,                       GLint x, GLint y, GLsizei width, GLint height){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_COPY_TEX_SUB_IMAGE3D, 9);   if (n) {      n[1].e = target;      n[2].i = level;      n[3].i = xoffset;      n[4].i = yoffset;      n[5].i = zoffset;      n[6].i = x;      n[7].i = y;      n[8].i = width;      n[9].i = height;   }   if (ctx->ExecuteFlag) {      CALL_CopyTexSubImage3D(ctx->Exec, (target, level,                                         xoffset, yoffset, zoffset,                                         x, y, width, height));   }}static void GLAPIENTRYsave_CullFace(GLenum mode){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_CULL_FACE, 1);   if (n) {      n[1].e = mode;   }   if (ctx->ExecuteFlag) {      CALL_CullFace(ctx->Exec, (mode));   }}static void GLAPIENTRYsave_DepthFunc(GLenum func){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DEPTH_FUNC, 1);   if (n) {      n[1].e = func;   }   if (ctx->ExecuteFlag) {      CALL_DepthFunc(ctx->Exec, (func));   }}static void GLAPIENTRYsave_DepthMask(GLboolean mask){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DEPTH_MASK, 1);   if (n) {      n[1].b = mask;   }   if (ctx->ExecuteFlag) {      CALL_DepthMask(ctx->Exec, (mask));   }}static void GLAPIENTRYsave_DepthRange(GLclampd nearval, GLclampd farval){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DEPTH_RANGE, 2);   if (n) {      n[1].f = (GLfloat) nearval;      n[2].f = (GLfloat) farval;   }   if (ctx->ExecuteFlag) {      CALL_DepthRange(ctx->Exec, (nearval, farval));   }}static void GLAPIENTRYsave_Disable(GLenum cap){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DISABLE, 1);   if (n) {      n[1].e = cap;   }   if (ctx->ExecuteFlag) {      CALL_Disable(ctx->Exec, (cap));   }}static void GLAPIENTRYsave_DrawBuffer(GLenum mode){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DRAW_BUFFER, 1);   if (n) {      n[1].e = mode;   }   if (ctx->ExecuteFlag) {      CALL_DrawBuffer(ctx->Exec, (mode));   }}static void GLAPIENTRYsave_DrawPixels(GLsizei width, GLsizei height,                GLenum format, GLenum type, const GLvoid * pixels){   GET_CURRENT_CONTEXT(ctx);   GLvoid *image = unpack_image(2, width, height, 1, format, type,                                pixels, &ctx->Unpack);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_DRAW_PIXELS, 5);   if (n) {      n[1].i = width;      n[2].i = height;      n[3].e = format;      n[4].e = type;      n[5].data = image;   }   else if (image) {      _mesa_free(image);   }   if (ctx->ExecuteFlag) {      CALL_DrawPixels(ctx->Exec, (width, height, format, type, pixels));   }}static void GLAPIENTRYsave_Enable(GLenum cap){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_ENABLE, 1);   if (n) {      n[1].e = cap;   }   if (ctx->ExecuteFlag) {      CALL_Enable(ctx->Exec, (cap));   }}static void GLAPIENTRY_mesa_save_EvalMesh1(GLenum mode, GLint i1, GLint i2){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_EVALMESH1, 3);   if (n) {      n[1].e = mode;      n[2].i = i1;      n[3].i = i2;   }   if (ctx->ExecuteFlag) {      CALL_EvalMesh1(ctx->Exec, (mode, i1, i2));   }}static void GLAPIENTRY_mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_EVALMESH2, 5);   if (n) {      n[1].e = mode;      n[2].i = i1;      n[3].i = i2;      n[4].i = j1;      n[5].i = j2;   }   if (ctx->ExecuteFlag) {      CALL_EvalMesh2(ctx->Exec, (mode, i1, i2, j1, j2));   }}static void GLAPIENTRYsave_Fogfv(GLenum pname, const GLfloat *params){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_FOG, 5);   if (n) {      n[1].e = pname;      n[2].f = params[0];      n[3].f = params[1];      n[4].f = params[2];      n[5].f = params[3];   }   if (ctx->ExecuteFlag) {      CALL_Fogfv(ctx->Exec, (pname, params));   }}static void GLAPIENTRYsave_Fogf(GLenum pname, GLfloat param){   save_Fogfv(pname, &param);}static void GLAPIENTRYsave_Fogiv(GLenum pname, const GLint *params){   GLfloat p[4];   switch (pname) {   case GL_FOG_MODE:   case GL_FOG_DENSITY:   case GL_FOG_START:   case GL_FOG_END:   case GL_FOG_INDEX:      p[0] = (GLfloat) *params;      break;   case GL_FOG_COLOR:      p[0] = INT_TO_FLOAT(params[0]);      p[1] = INT_TO_FLOAT(params[1]);      p[2] = INT_TO_FLOAT(params[2]);      p[3] = INT_TO_FLOAT(params[3]);      break;   default:      /* Error will be caught later in gl_Fogfv */      ;   }   save_Fogfv(pname, p);}static void GLAPIENTRYsave_Fogi(GLenum pname, GLint param){   save_Fogiv(pname, &param);}static void GLAPIENTRYsave_FrontFace(GLenum mode){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_FRONT_FACE, 1);   if (n) {      n[1].e = mode;   }   if (ctx->ExecuteFlag) {      CALL_FrontFace(ctx->Exec, (mode));   }}static void GLAPIENTRYsave_Frustum(GLdouble left, GLdouble right,             GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_FRUSTUM, 6);   if (n) {      n[1].f = (GLfloat) left;      n[2].f = (GLfloat) right;      n[3].f = (GLfloat) bottom;      n[4].f = (GLfloat) top;      n[5].f = (GLfloat) nearval;      n[6].f = (GLfloat) farval;   }   if (ctx->ExecuteFlag) {      CALL_Frustum(ctx->Exec, (left, right, bottom, top, nearval, farval));   }}static void GLAPIENTRYsave_Hint(GLenum target, GLenum mode){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_HINT, 2);   if (n) {      n[1].e = target;      n[2].e = mode;   }   if (ctx->ExecuteFlag) {      CALL_Hint(ctx->Exec, (target, mode));   }}static void GLAPIENTRYsave_Histogram(GLenum target, GLsizei width, GLenum internalFormat,               GLboolean sink){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_HISTOGRAM, 4);   if (n) {      n[1].e = target;      n[2].i = width;      n[3].e = internalFormat;      n[4].b = sink;   }   if (ctx->ExecuteFlag) {      CALL_Histogram(ctx->Exec, (target, width, internalFormat, sink));   }}static void GLAPIENTRYsave_IndexMask(GLuint mask){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_INDEX_MASK, 1);   if (n) {      n[1].ui = mask;   }   if (ctx->ExecuteFlag) {      CALL_IndexMask(ctx->Exec, (mask));   }}static void GLAPIENTRYsave_InitNames(void){   GET_CURRENT_CONTEXT(ctx);   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   (void) ALLOC_INSTRUCTION(ctx, OPCODE_INIT_NAMES, 0);   if (ctx->ExecuteFlag) {      CALL_InitNames(ctx->Exec, ());   }}static void GLAPIENTRYsave_Lightfv(GLenum light, GLenum pname, const GLfloat *params){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_LIGHT, 6);   if (OPCODE_LIGHT) {      GLint i, nParams;      n[1].e = light;      n[2].e = pname;      switch (pname) {      case GL_AMBIENT:         nParams = 4;         break;      case GL_DIFFUSE:         nParams = 4;         break;      case GL_SPECULAR:         nParams = 4;         break;      case GL_POSITION:         nParams = 4;         break;      case GL_SPOT_DIRECTION:         nParams = 3;         break;      case GL_SPOT_EXPONENT:         nParams = 1;         break;      case GL_SPOT_CUTOFF:         nParams = 1;         break;      case GL_CONSTANT_ATTENUATION:         nParams = 1;         break;      case GL_LINEAR_ATTENUATION:         nParams = 1;         break;      case GL_QUADRATIC_ATTENUATION:         nParams = 1;         break;      default:         nParams = 0;      }      for (i = 0; i < nParams; i++) {         n[3 + i].f = params[i];      }   }   if (ctx->ExecuteFlag) {      CALL_Lightfv(ctx->Exec, (light, pname, params));   }}static void GLAPIENTRYsave_Lightf(GLenum light, GLenum pname, GLfloat params){   save_Lightfv(light, pname, &params);}static void GLAPIENTRYsave_Lightiv(GLenum light, GLenum pname, const GLint *params){   GLfloat fparam[4];   switch (pname) {   case GL_AMBIENT:   case GL_DIFFUSE:   case GL_SPECULAR:      fparam[0] = INT_TO_FLOAT(params[0]);      fparam[1] = INT_TO_FLOAT(params[1]);      fparam[2] = INT_TO_FLOAT(params[2]);      fparam[3] = INT_TO_FLOAT(params[3]);      break;   case GL_POSITION:      fparam[0] = (GLfloat) params[0];      fparam[1] = (GLfloat) params[1];      fparam[2] = (GLfloat) params[2];      fparam[3] = (GLfloat) params[3];      break;   case GL_SPOT_DIRECTION:      fparam[0] = (GLfloat) params[0];      fparam[1] = (GLfloat) params[1];      fparam[2] = (GLfloat) params[2];      break;   case GL_SPOT_EXPONENT:   case GL_SPOT_CUTOFF:   case GL_CONSTANT_ATTENUATION:   case GL_LINEAR_ATTENUATION:   case GL_QUADRATIC_ATTENUATION:      fparam[0] = (GLfloat) params[0];      break;   default:      /* error will be caught later in gl_Lightfv */      ;   }   save_Lightfv(light, pname, fparam);}static void GLAPIENTRYsave_Lighti(GLenum light, GLenum pname, GLint param){   save_Lightiv(light, pname, &param);}static void GLAPIENTRYsave_LightModelfv(GLenum pname, const GLfloat *params){   GET_CURRENT_CONTEXT(ctx);   Node *n;   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);   n = ALLOC_INSTRUCTION(ctx, OPCODE_LIGHT_MODEL, 5);   if (n) {      n[1].e = pname;      n[2].f = params[0];      n[3].f = params[1];      n[4].f = params[2];      n[5].f = params[3];   }   if (ctx->ExecuteFlag) {      CALL_LightModelfv(ctx->Exec, (pname, params));   }}static void GLAPIENTRY

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -