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

📄 get.c

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 C
📖 第 1 页 / 共 5 页
字号:
/*** ***  NOTE!!!  DO NOT EDIT THIS FILE!!!  IT IS GENERATED BY get_gen.py ***/#include "glheader.h"#include "context.h"#include "enable.h"#include "extensions.h"#include "fbobject.h"#include "get.h"#include "macros.h"#include "mtypes.h"#include "state.h"#include "texcompress.h"#define FLOAT_TO_BOOLEAN(X)   ( (X) ? GL_TRUE : GL_FALSE )#define INT_TO_BOOLEAN(I)     ( (I) ? GL_TRUE : GL_FALSE )#define ENUM_TO_BOOLEAN(E)    ( (E) ? GL_TRUE : GL_FALSE )#define ENUM_TO_INT(E)        ( (GLint) (E) )#define ENUM_TO_FLOAT(E)      ( (GLfloat) (E) )#define BOOLEAN_TO_INT(B)     ( (GLint) (B) )#define BOOLEAN_TO_FLOAT(B)   ( (B) ? 1.0F : 0.0F )/* * Check if named extension is enabled, if not generate error and return. */#define CHECK_EXT1(EXT1, FUNC)                                         \   if (!ctx->Extensions.EXT1) {                                        \      _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname);  \      return;                                                          \   }/* * Check if either of two extensions is enabled. */#define CHECK_EXT2(EXT1, EXT2, FUNC)                                   \   if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) {               \      _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname);  \      return;                                                          \   }/* * Check if either of three extensions is enabled. */#define CHECK_EXT3(EXT1, EXT2, EXT3, FUNC)                             \   if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 &&               \       !ctx->Extensions.EXT3) {                                        \      _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname);  \      return;                                                          \   }/* * Check if either of four extensions is enabled. */#define CHECK_EXT4(EXT1, EXT2, EXT3, EXT4, FUNC)                       \   if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 &&               \       !ctx->Extensions.EXT3 && !ctx->Extensions.EXT4) {               \      _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname);  \      return;                                                          \   }void GLAPIENTRY_mesa_GetBooleanv( GLenum pname, GLboolean *params ){   GET_CURRENT_CONTEXT(ctx);   ASSERT_OUTSIDE_BEGIN_END(ctx);   if (!params)      return;   if (ctx->NewState)      _mesa_update_state(ctx);   if (ctx->Driver.GetBooleanv &&       ctx->Driver.GetBooleanv(ctx, pname, params))      return;   switch (pname) {      case GL_ACCUM_RED_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumRedBits);         break;      case GL_ACCUM_GREEN_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumGreenBits);         break;      case GL_ACCUM_BLUE_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumBlueBits);         break;      case GL_ACCUM_ALPHA_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.accumAlphaBits);         break;      case GL_ACCUM_CLEAR_VALUE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Accum.ClearColor[3]);         break;      case GL_ALPHA_BIAS:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.AlphaBias);         break;      case GL_ALPHA_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.alphaBits);         break;      case GL_ALPHA_SCALE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.AlphaScale);         break;      case GL_ALPHA_TEST:         params[0] = ctx->Color.AlphaEnabled;         break;      case GL_ALPHA_TEST_FUNC:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.AlphaFunc);         break;      case GL_ALPHA_TEST_REF:         params[0] = FLOAT_TO_BOOLEAN(ctx->Color.AlphaRef);         break;      case GL_ATTRIB_STACK_DEPTH:         params[0] = INT_TO_BOOLEAN(ctx->AttribStackDepth);         break;      case GL_AUTO_NORMAL:         params[0] = ctx->Eval.AutoNormal;         break;      case GL_AUX_BUFFERS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.numAuxBuffers);         break;      case GL_BLEND:         params[0] = ctx->Color.BlendEnabled;         break;      case GL_BLEND_DST:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstRGB);         break;      case GL_BLEND_SRC:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcRGB);         break;      case GL_BLEND_SRC_RGB_EXT:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcRGB);         break;      case GL_BLEND_DST_RGB_EXT:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstRGB);         break;      case GL_BLEND_SRC_ALPHA_EXT:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendSrcA);         break;      case GL_BLEND_DST_ALPHA_EXT:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendDstA);         break;      case GL_BLEND_EQUATION:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendEquationRGB );         break;      case GL_BLEND_EQUATION_ALPHA_EXT:         params[0] = ENUM_TO_BOOLEAN(ctx->Color.BlendEquationA );         break;      case GL_BLEND_COLOR_EXT:         params[0] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Color.BlendColor[3]);         break;      case GL_BLUE_BIAS:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.BlueBias);         break;      case GL_BLUE_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.blueBits);         break;      case GL_BLUE_SCALE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.BlueScale);         break;      case GL_CLIENT_ATTRIB_STACK_DEPTH:         params[0] = INT_TO_BOOLEAN(ctx->ClientAttribStackDepth);         break;      case GL_CLIP_PLANE0:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 0) & 1;         break;      case GL_CLIP_PLANE1:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 1) & 1;         break;      case GL_CLIP_PLANE2:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 2) & 1;         break;      case GL_CLIP_PLANE3:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 3) & 1;         break;      case GL_CLIP_PLANE4:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 4) & 1;         break;      case GL_CLIP_PLANE5:         params[0] = (ctx->Transform.ClipPlanesEnabled >> 5) & 1;         break;      case GL_COLOR_CLEAR_VALUE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Color.ClearColor[3]);         break;      case GL_COLOR_MATERIAL:         params[0] = ctx->Light.ColorMaterialEnabled;         break;      case GL_COLOR_MATERIAL_FACE:         params[0] = ENUM_TO_BOOLEAN(ctx->Light.ColorMaterialFace);         break;      case GL_COLOR_MATERIAL_PARAMETER:         params[0] = ENUM_TO_BOOLEAN(ctx->Light.ColorMaterialMode);         break;      case GL_COLOR_WRITEMASK:         params[0] = INT_TO_BOOLEAN(ctx->Color.ColorMask[RCOMP] ? 1 : 0);         params[1] = INT_TO_BOOLEAN(ctx->Color.ColorMask[GCOMP] ? 1 : 0);         params[2] = INT_TO_BOOLEAN(ctx->Color.ColorMask[BCOMP] ? 1 : 0);         params[3] = INT_TO_BOOLEAN(ctx->Color.ColorMask[ACOMP] ? 1 : 0);         break;      case GL_CULL_FACE:         params[0] = ctx->Polygon.CullFlag;         break;      case GL_CULL_FACE_MODE:         params[0] = ENUM_TO_BOOLEAN(ctx->Polygon.CullFaceMode);         break;      case GL_CURRENT_COLOR:         {         FLUSH_CURRENT(ctx, 0);         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3]);         }         break;      case GL_CURRENT_INDEX:         {         FLUSH_CURRENT(ctx, 0);         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0]);         }         break;      case GL_CURRENT_NORMAL:         {         FLUSH_CURRENT(ctx, 0);         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][2]);         }         break;      case GL_CURRENT_RASTER_COLOR:         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterColor[3]);         break;      case GL_CURRENT_RASTER_DISTANCE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterDistance);         break;      case GL_CURRENT_RASTER_INDEX:         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterIndex);         break;      case GL_CURRENT_RASTER_POSITION:         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterPos[3]);         break;      case GL_CURRENT_RASTER_SECONDARY_COLOR:         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterSecondaryColor[3]);         break;      case GL_CURRENT_RASTER_TEXTURE_COORDS:         {         const GLuint texUnit = ctx->Texture.CurrentUnit;         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.RasterTexCoords[texUnit][3]);         }         break;      case GL_CURRENT_RASTER_POSITION_VALID:         params[0] = ctx->Current.RasterPosValid;         break;      case GL_CURRENT_TEXTURE_COORDS:         {         const GLuint texUnit = ctx->Texture.CurrentUnit;         params[0] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][0]);         params[1] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][1]);         params[2] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][2]);         params[3] = FLOAT_TO_BOOLEAN(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][3]);         }         break;      case GL_DEPTH_BIAS:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.DepthBias);         break;      case GL_DEPTH_BITS:         params[0] = INT_TO_BOOLEAN(ctx->DrawBuffer->Visual.depthBits);         break;      case GL_DEPTH_CLEAR_VALUE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Depth.Clear);         break;      case GL_DEPTH_FUNC:         params[0] = ENUM_TO_BOOLEAN(ctx->Depth.Func);         break;      case GL_DEPTH_RANGE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Viewport.Near);         params[1] = FLOAT_TO_BOOLEAN(ctx->Viewport.Far);         break;      case GL_DEPTH_SCALE:         params[0] = FLOAT_TO_BOOLEAN(ctx->Pixel.DepthScale);         break;      case GL_DEPTH_TEST:         params[0] = ctx->Depth.Test;         break;      case GL_DEPTH_WRITEMASK:         params[0] = ctx->Depth.Mask;         break;      case GL_DITHER:         params[0] = ctx->Color.DitherFlag;         break;      case GL_DOUBLEBUFFER:         params[0] = ctx->DrawBuffer->Visual.doubleBufferMode;         break;      case GL_DRAW_BUFFER:         params[0] = ENUM_TO_BOOLEAN(ctx->DrawBuffer->ColorDrawBuffer[0]);         break;      case GL_EDGE_FLAG:         {         FLUSH_CURRENT(ctx, 0);

⌨️ 快捷键说明

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