📄 dlist.c
字号:
n[6].i = params[3];
}
}
if (ctx->ExecuteFlag) {
CALL_ColorTableParameteriv(ctx->Exec, ( target, pname, params ));
}
}
static void GLAPIENTRY save_ColorSubTable( GLenum target, GLsizei start, GLsizei count,
GLenum format, GLenum type,
const GLvoid *table)
{
GET_CURRENT_CONTEXT(ctx);
GLvoid *image = unpack_image(1, count, 1, 1, format, type, table,
&ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COLOR_SUB_TABLE, 6 );
if (n) {
n[1].e = target;
n[2].i = start;
n[3].i = count;
n[4].e = format;
n[5].e = type;
n[6].data = image;
}
else if (image) {
FREE(image);
}
if (ctx->ExecuteFlag) {
CALL_ColorSubTable(ctx->Exec, (target, start, count, format, type, table));
}
}
static void GLAPIENTRY
save_CopyColorSubTable(GLenum target, GLsizei start,
GLint x, GLint y, GLsizei width)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_COLOR_SUB_TABLE, 5 );
if (n) {
n[1].e = target;
n[2].i = start;
n[3].i = x;
n[4].i = y;
n[5].i = width;
}
if (ctx->ExecuteFlag) {
CALL_CopyColorSubTable(ctx->Exec, (target, start, x, y, width));
}
}
static void GLAPIENTRY
save_CopyColorTable(GLenum target, GLenum internalformat,
GLint x, GLint y, GLsizei width)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_COLOR_TABLE, 5 );
if (n) {
n[1].e = target;
n[2].e = internalformat;
n[3].i = x;
n[4].i = y;
n[5].i = width;
}
if (ctx->ExecuteFlag) {
CALL_CopyColorTable(ctx->Exec, (target, internalformat, x, y, width));
}
}
static void GLAPIENTRY
save_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width,
GLenum format, GLenum type, const GLvoid *filter)
{
GET_CURRENT_CONTEXT(ctx);
GLvoid *image = unpack_image(1, width, 1, 1, format, type, filter,
&ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_FILTER_1D, 6 );
if (n) {
n[1].e = target;
n[2].e = internalFormat;
n[3].i = width;
n[4].e = format;
n[5].e = type;
n[6].data = image;
}
else if (image) {
FREE(image);
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionFilter1D(ctx->Exec, ( target, internalFormat, width,
format, type, filter ));
}
}
static void GLAPIENTRY
save_ConvolutionFilter2D(GLenum target, GLenum internalFormat,
GLsizei width, GLsizei height, GLenum format,
GLenum type, const GLvoid *filter)
{
GET_CURRENT_CONTEXT(ctx);
GLvoid *image = unpack_image(2, width, height, 1, format, type, filter,
&ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_FILTER_2D, 7 );
if (n) {
n[1].e = target;
n[2].e = internalFormat;
n[3].i = width;
n[4].i = height;
n[5].e = format;
n[6].e = type;
n[7].data = image;
}
else if (image) {
FREE(image);
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionFilter2D(ctx->Exec, ( target, internalFormat, width, height,
format, type, filter ));
}
}
static void GLAPIENTRY
save_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_PARAMETER_I, 3 );
if (n) {
n[1].e = target;
n[2].e = pname;
n[3].i = param;
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionParameteri(ctx->Exec, ( target, pname, param ));
}
}
static void GLAPIENTRY
save_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_PARAMETER_IV, 6 );
if (n) {
n[1].e = target;
n[2].e = pname;
n[3].i = params[0];
if (pname == GL_CONVOLUTION_BORDER_COLOR ||
pname == GL_CONVOLUTION_FILTER_SCALE ||
pname == GL_CONVOLUTION_FILTER_BIAS) {
n[4].i = params[1];
n[5].i = params[2];
n[6].i = params[3];
}
else {
n[4].i = n[5].i = n[6].i = 0;
}
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionParameteriv(ctx->Exec, ( target, pname, params ));
}
}
static void GLAPIENTRY
save_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_PARAMETER_F, 3 );
if (n) {
n[1].e = target;
n[2].e = pname;
n[3].f = param;
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionParameterf(ctx->Exec, ( target, pname, param ));
}
}
static void GLAPIENTRY
save_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_CONVOLUTION_PARAMETER_FV, 6 );
if (n) {
n[1].e = target;
n[2].e = pname;
n[3].f = params[0];
if (pname == GL_CONVOLUTION_BORDER_COLOR ||
pname == GL_CONVOLUTION_FILTER_SCALE ||
pname == GL_CONVOLUTION_FILTER_BIAS) {
n[4].f = params[1];
n[5].f = params[2];
n[6].f = params[3];
}
else {
n[4].f = n[5].f = n[6].f = 0.0F;
}
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionParameterfv(ctx->Exec, ( target, pname, params ));
}
}
static void GLAPIENTRY
save_CopyPixels( GLint x, GLint y,
GLsizei width, GLsizei height, GLenum type )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_PIXELS, 5 );
if (n) {
n[1].i = x;
n[2].i = y;
n[3].i = (GLint) width;
n[4].i = (GLint) height;
n[5].e = type;
}
if (ctx->ExecuteFlag) {
CALL_CopyPixels(ctx->Exec, ( x, y, width, height, type ));
}
}
static void GLAPIENTRY
save_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat,
GLint x, GLint y, GLsizei width, GLint border )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_TEX_IMAGE1D, 7 );
if (n) {
n[1].e = target;
n[2].i = level;
n[3].e = internalformat;
n[4].i = x;
n[5].i = y;
n[6].i = width;
n[7].i = border;
}
if (ctx->ExecuteFlag) {
CALL_CopyTexImage1D(ctx->Exec, ( target, level, internalformat,
x, y, width, border ));
}
}
static void GLAPIENTRY
save_CopyTexImage2D( GLenum target, GLint level,
GLenum internalformat,
GLint x, GLint y, GLsizei width,
GLsizei height, GLint border )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_TEX_IMAGE2D, 8 );
if (n) {
n[1].e = target;
n[2].i = level;
n[3].e = internalformat;
n[4].i = x;
n[5].i = y;
n[6].i = width;
n[7].i = height;
n[8].i = border;
}
if (ctx->ExecuteFlag) {
CALL_CopyTexImage2D(ctx->Exec, ( target, level, internalformat,
x, y, width, height, border ));
}
}
static void GLAPIENTRY
save_CopyTexSubImage1D( GLenum target, GLint level,
GLint xoffset, GLint x, GLint y,
GLsizei width )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION( ctx, OPCODE_COPY_TEX_SUB_IMAGE1D, 6 );
if (n) {
n[1].e = target;
n[2].i = level;
n[3].i = xoffset;
n[4].i = x;
n[5].i = y;
n[6].i = width;
}
if (ctx->ExecuteFlag) {
CALL_CopyTexSubImage1D(ctx->Exec, ( target, level, xoffset, x, y, width ));
}
}
static void GLAPIENTRY
save_CopyTexSubImage2D( GLenum target, GLint level,
GLint xoffset, GLint yoffset,
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 GLAPIENTRY
save_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 GLAPIENTRY save_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 GLAPIENTRY save_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 GLAPIENTRY save_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 GLAPIENTRY save_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 GLAPIENTRY save_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 GLAPIENTRY save_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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -