📄 dlist.c
字号:
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, ¶m);}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, ¶m);}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, ¶ms);}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, ¶m);}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 + -