Please try to mark derived values with a leading underscore ('_').
#include "main/glheader.h"
#include "main/config.h"
#include "main/compiler.h"
#include "main/mfeatures.h"
#include "glapi/glapi.h"
#include "math/m_matrix.h"
#include "main/simple_list.h"
#include "dd.h"
Data Structures | |
struct | gl_color_table |
Data structure for color tables. More... | |
struct | gl_shine_tab |
Material shininess lookup table. More... | |
struct | gl_light |
Light source state. More... | |
struct | gl_lightmodel |
Light model state. More... | |
struct | gl_material |
Material state. More... | |
struct | gl_accum_attrib |
Accumulation buffer attribute group (GL_ACCUM_BUFFER_BIT). More... | |
struct | gl_colorbuffer_attrib |
Color buffer attribute group (GL_COLOR_BUFFER_BIT). More... | |
struct | gl_current_attrib |
Current attribute group (GL_CURRENT_BIT). More... | |
struct | gl_depthbuffer_attrib |
Depth buffer attribute group (GL_DEPTH_BUFFER_BIT). More... | |
struct | gl_eval_attrib |
Evaluator attribute group (GL_EVAL_BIT). More... | |
struct | gl_fog_attrib |
Fog attribute group (GL_FOG_BIT). More... | |
struct | gl_hint_attrib |
Hint attribute group (GL_HINT_BIT). More... | |
struct | gl_histogram_attrib |
Histogram attributes. More... | |
struct | gl_minmax_attrib |
Color Min/max state. More... | |
struct | gl_convolution_attrib |
Image convolution state. More... | |
struct | gl_light_attrib |
Lighting attribute group (GL_LIGHT_BIT). More... | |
struct | gl_line_attrib |
Line attribute group (GL_LINE_BIT). More... | |
struct | gl_list_attrib |
Display list attribute group (GL_LIST_BIT). More... | |
struct | gl_list_instruction |
Used by device drivers to hook new commands into display lists. More... | |
struct | gl_list_extensions |
Used by device drivers to hook new commands into display lists. More... | |
struct | gl_multisample_attrib |
Multisample attribute group (GL_MULTISAMPLE_BIT). More... | |
struct | gl_pixelmap |
A pixelmap (see glPixelMap). More... | |
struct | gl_pixelmaps |
Collection of all pixelmaps. More... | |
struct | gl_pixel_attrib |
Pixel attribute group (GL_PIXEL_MODE_BIT). More... | |
struct | gl_point_attrib |
Point attribute group (GL_POINT_BIT). More... | |
struct | gl_polygon_attrib |
Polygon attribute group (GL_POLYGON_BIT). More... | |
struct | gl_scissor_attrib |
Scissor attributes (GL_SCISSOR_BIT). More... | |
struct | gl_stencil_attrib |
Stencil attribute group (GL_STENCIL_BUFFER_BIT). More... | |
struct | gl_texture_format |
Texture format record. More... | |
struct | gl_texture_image |
Texture image state. More... | |
struct | gl_texture_object |
Texture object state. More... | |
struct | gl_tex_env_combine_state |
Texture combine environment state. More... | |
struct | gl_texgen |
Texture coord generation state. More... | |
struct | gl_texture_unit |
Texture unit state. More... | |
struct | gl_texture_attrib |
Texture attribute group (GL_TEXTURE_BIT). More... | |
struct | gl_transform_attrib |
Transformation attribute group (GL_TRANSFORM_BIT). More... | |
struct | gl_viewport_attrib |
Viewport attribute group (GL_VIEWPORT_BIT). More... | |
struct | gl_buffer_object |
GL_ARB_vertex/pixel_buffer_object buffer object. More... | |
struct | gl_pixelstore_attrib |
Client pixel packing/unpacking attributes. More... | |
struct | gl_client_array |
Client vertex array attributes. More... | |
struct | gl_array_object |
Collection of vertex arrays. More... | |
struct | gl_array_attrib |
Vertex array state. More... | |
struct | gl_feedback |
Feedback buffer state. More... | |
struct | gl_selection |
Selection buffer state. More... | |
struct | gl_1d_map |
1-D Evaluator control points More... | |
struct | gl_2d_map |
2-D Evaluator control points More... | |
struct | gl_evaluators |
All evaluator control point state. More... | |
struct | gl_program |
Base class for any kind of program object. More... | |
struct | gl_vertex_program |
Vertex program object. More... | |
struct | gl_fragment_program |
Fragment program object. More... | |
struct | gl_program_state |
State common to vertex and fragment programs. More... | |
struct | gl_vertex_program_state |
Context state for vertex programs. More... | |
struct | gl_fragment_program_state |
Context state for fragment programs. More... | |
struct | ati_fragment_shader |
ATI fragment shader. More... | |
struct | gl_ati_fragment_shader_state |
Context state for GL_ATI_fragment_shader. More... | |
struct | gl_query_object |
Occlusion/timer query object. More... | |
struct | gl_query_state |
Context state for query objects. More... | |
struct | gl_sync_object |
Sync object state. More... | |
struct | gl_sl_pragmas |
Set by pragma directives. More... | |
struct | gl_shader |
A GLSL vertex or fragment shader object. More... | |
struct | gl_shader_program |
A GLSL program object. More... | |
struct | gl_shader_state |
Context state for GLSL vertex/fragment shaders. More... | |
struct | gl_shared_state |
State which can be shared by multiple contexts:. More... | |
struct | gl_renderbuffer |
A renderbuffer stores colors or depth values or stencil values. More... | |
struct | gl_renderbuffer_attachment |
A renderbuffer attachment points to either a texture object (and specifies a mipmap level, cube face or 3D texture slice) or points to a renderbuffer. More... | |
struct | gl_framebuffer |
A framebuffer is a collection of renderbuffers (color, depth, stencil, etc). More... | |
struct | gl_program_constants |
Limits for vertex and fragment programs. More... | |
struct | gl_constants |
Constants which may be overridden by device driver during context creation but are never changed after that. More... | |
struct | gl_extensions |
Enable flag for each OpenGL extension. More... | |
struct | gl_matrix_stack |
A stack of matrices (projection, modelview, color, texture, etc). More... | |
struct | gl_tnl_module |
Core Mesa's support for tnl modules:. More... | |
struct | gl_display_list |
Provide a location where information about a display list can be collected. More... | |
struct | gl_dlist_state |
State used during display list compilation and execution. More... | |
struct | __GLcontextRec |
Mesa rendering context. More... | |
Defines | |
#define | BUFFER_BIT_FRONT_LEFT (1 << BUFFER_FRONT_LEFT) |
Bit flags for all renderbuffers. | |
#define | BUFFER_BIT_BACK_LEFT (1 << BUFFER_BACK_LEFT) |
#define | BUFFER_BIT_FRONT_RIGHT (1 << BUFFER_FRONT_RIGHT) |
#define | BUFFER_BIT_BACK_RIGHT (1 << BUFFER_BACK_RIGHT) |
#define | BUFFER_BIT_AUX0 (1 << BUFFER_AUX0) |
#define | BUFFER_BIT_AUX1 (1 << BUFFER_AUX1) |
#define | BUFFER_BIT_AUX2 (1 << BUFFER_AUX2) |
#define | BUFFER_BIT_AUX3 (1 << BUFFER_AUX3) |
#define | BUFFER_BIT_DEPTH (1 << BUFFER_DEPTH) |
#define | BUFFER_BIT_STENCIL (1 << BUFFER_STENCIL) |
#define | BUFFER_BIT_ACCUM (1 << BUFFER_ACCUM) |
#define | BUFFER_BIT_COLOR0 (1 << BUFFER_COLOR0) |
#define | BUFFER_BIT_COLOR1 (1 << BUFFER_COLOR1) |
#define | BUFFER_BIT_COLOR2 (1 << BUFFER_COLOR2) |
#define | BUFFER_BIT_COLOR3 (1 << BUFFER_COLOR3) |
#define | BUFFER_BIT_COLOR4 (1 << BUFFER_COLOR4) |
#define | BUFFER_BIT_COLOR5 (1 << BUFFER_COLOR5) |
#define | BUFFER_BIT_COLOR6 (1 << BUFFER_COLOR6) |
#define | BUFFER_BIT_COLOR7 (1 << BUFFER_COLOR7) |
#define | BUFFER_BITS_COLOR |
Mask of all the color buffer bits (but not accum). | |
#define | EXP_TABLE_SIZE 512 |
Specular exponent lookup table sizes. | |
#define | SHINE_TABLE_SIZE 256 |
Material shininess lookup table sizes. | |
#define | MAX_DLIST_EXT_OPCODES 16 |
#define | ENABLE_TEXGEN(unit) (1 << (unit)) |
Tex-gen enabled for texture unit? | |
#define | ENABLE_TEXMAT(unit) (1 << (unit)) |
Non-identity texture matrix for texture unit? | |
#define | TEXSTORE_PARAMS |
This macro defines the (many) parameters to the texstore functions. | |
#define | MAX_COMBINER_TERMS 4 |
Up to four combiner sources are possible with GL_NV_texture_env_combine4. | |
#define | ATI_FS_INPUT_PRIMARY 0 |
ATI_fragment_shader runtime state. | |
#define | ATI_FS_INPUT_SECONDARY 1 |
#define | GLSL_DUMP 0x1 |
Dump shaders to stdout. | |
#define | GLSL_LOG 0x2 |
Write shaders to files. | |
#define | GLSL_OPT 0x4 |
Force optimizations (override pragmas). | |
#define | GLSL_NO_OPT 0x8 |
Force no optimizations (override pragmas). | |
#define | GLSL_UNIFORMS 0x10 |
Print glUniform calls. | |
#define | RB_MAGIC 0xaabbccdd |
#define | NUM_VERTEX_FORMAT_ENTRIES (sizeof(GLvertexformat) / sizeof(void *)) |
#define | DLIST_DANGLING_REFS 0x1 |
Display list flags. | |
#define | MESA_VERBOSE 0 |
#define | MESA_DEBUG_FLAGS 0 |
#define | MESA_FUNCTION "a function" |
#define | VERT_BIT_POS (1 << VERT_ATTRIB_POS) |
Bitflags for vertex attributes. | |
#define | VERT_BIT_WEIGHT (1 << VERT_ATTRIB_WEIGHT) |
#define | VERT_BIT_NORMAL (1 << VERT_ATTRIB_NORMAL) |
#define | VERT_BIT_COLOR0 (1 << VERT_ATTRIB_COLOR0) |
#define | VERT_BIT_COLOR1 (1 << VERT_ATTRIB_COLOR1) |
#define | VERT_BIT_FOG (1 << VERT_ATTRIB_FOG) |
#define | VERT_BIT_COLOR_INDEX (1 << VERT_ATTRIB_COLOR_INDEX) |
#define | VERT_BIT_EDGEFLAG (1 << VERT_ATTRIB_EDGEFLAG) |
#define | VERT_BIT_TEX0 (1 << VERT_ATTRIB_TEX0) |
#define | VERT_BIT_TEX1 (1 << VERT_ATTRIB_TEX1) |
#define | VERT_BIT_TEX2 (1 << VERT_ATTRIB_TEX2) |
#define | VERT_BIT_TEX3 (1 << VERT_ATTRIB_TEX3) |
#define | VERT_BIT_TEX4 (1 << VERT_ATTRIB_TEX4) |
#define | VERT_BIT_TEX5 (1 << VERT_ATTRIB_TEX5) |
#define | VERT_BIT_TEX6 (1 << VERT_ATTRIB_TEX6) |
#define | VERT_BIT_TEX7 (1 << VERT_ATTRIB_TEX7) |
#define | VERT_BIT_GENERIC0 (1 << VERT_ATTRIB_GENERIC0) |
#define | VERT_BIT_GENERIC1 (1 << VERT_ATTRIB_GENERIC1) |
#define | VERT_BIT_GENERIC2 (1 << VERT_ATTRIB_GENERIC2) |
#define | VERT_BIT_GENERIC3 (1 << VERT_ATTRIB_GENERIC3) |
#define | VERT_BIT_GENERIC4 (1 << VERT_ATTRIB_GENERIC4) |
#define | VERT_BIT_GENERIC5 (1 << VERT_ATTRIB_GENERIC5) |
#define | VERT_BIT_GENERIC6 (1 << VERT_ATTRIB_GENERIC6) |
#define | VERT_BIT_GENERIC7 (1 << VERT_ATTRIB_GENERIC7) |
#define | VERT_BIT_GENERIC8 (1 << VERT_ATTRIB_GENERIC8) |
#define | VERT_BIT_GENERIC9 (1 << VERT_ATTRIB_GENERIC9) |
#define | VERT_BIT_GENERIC10 (1 << VERT_ATTRIB_GENERIC10) |
#define | VERT_BIT_GENERIC11 (1 << VERT_ATTRIB_GENERIC11) |
#define | VERT_BIT_GENERIC12 (1 << VERT_ATTRIB_GENERIC12) |
#define | VERT_BIT_GENERIC13 (1 << VERT_ATTRIB_GENERIC13) |
#define | VERT_BIT_GENERIC14 (1 << VERT_ATTRIB_GENERIC14) |
#define | VERT_BIT_GENERIC15 (1 << VERT_ATTRIB_GENERIC15) |
#define | VERT_BIT_TEX(u) (1 << (VERT_ATTRIB_TEX0 + (u))) |
#define | VERT_BIT_GENERIC(g) (1 << (VERT_ATTRIB_GENERIC0 + (g))) |
#define | FRAG_BIT_WPOS (1 << FRAG_ATTRIB_WPOS) |
Bitflags for fragment program input attributes. | |
#define | FRAG_BIT_COL0 (1 << FRAG_ATTRIB_COL0) |
#define | FRAG_BIT_COL1 (1 << FRAG_ATTRIB_COL1) |
#define | FRAG_BIT_FOGC (1 << FRAG_ATTRIB_FOGC) |
#define | FRAG_BIT_FACE (1 << FRAG_ATTRIB_FACE) |
#define | FRAG_BIT_PNTC (1 << FRAG_ATTRIB_PNTC) |
#define | FRAG_BIT_TEX0 (1 << FRAG_ATTRIB_TEX0) |
#define | FRAG_BIT_TEX1 (1 << FRAG_ATTRIB_TEX1) |
#define | FRAG_BIT_TEX2 (1 << FRAG_ATTRIB_TEX2) |
#define | FRAG_BIT_TEX3 (1 << FRAG_ATTRIB_TEX3) |
#define | FRAG_BIT_TEX4 (1 << FRAG_ATTRIB_TEX4) |
#define | FRAG_BIT_TEX5 (1 << FRAG_ATTRIB_TEX5) |
#define | FRAG_BIT_TEX6 (1 << FRAG_ATTRIB_TEX6) |
#define | FRAG_BIT_TEX7 (1 << FRAG_ATTRIB_TEX7) |
#define | FRAG_BIT_VAR0 (1 << FRAG_ATTRIB_VAR0) |
#define | FRAG_BIT_TEX(U) (FRAG_BIT_TEX0 << (U)) |
#define | FRAG_BIT_VAR(V) (FRAG_BIT_VAR0 << (V)) |
#define | FRAG_BITS_TEX_ANY |
Bit flags used for updating material values. | |
#define | MAT_ATTRIB_FRONT_AMBIENT 0 |
#define | MAT_ATTRIB_BACK_AMBIENT 1 |
#define | MAT_ATTRIB_FRONT_DIFFUSE 2 |
#define | MAT_ATTRIB_BACK_DIFFUSE 3 |
#define | MAT_ATTRIB_FRONT_SPECULAR 4 |
#define | MAT_ATTRIB_BACK_SPECULAR 5 |
#define | MAT_ATTRIB_FRONT_EMISSION 6 |
#define | MAT_ATTRIB_BACK_EMISSION 7 |
#define | MAT_ATTRIB_FRONT_SHININESS 8 |
#define | MAT_ATTRIB_BACK_SHININESS 9 |
#define | MAT_ATTRIB_FRONT_INDEXES 10 |
#define | MAT_ATTRIB_BACK_INDEXES 11 |
#define | MAT_ATTRIB_MAX 12 |
#define | MAT_ATTRIB_AMBIENT(f) (MAT_ATTRIB_FRONT_AMBIENT+(f)) |
#define | MAT_ATTRIB_DIFFUSE(f) (MAT_ATTRIB_FRONT_DIFFUSE+(f)) |
#define | MAT_ATTRIB_SPECULAR(f) (MAT_ATTRIB_FRONT_SPECULAR+(f)) |
#define | MAT_ATTRIB_EMISSION(f) (MAT_ATTRIB_FRONT_EMISSION+(f)) |
#define | MAT_ATTRIB_SHININESS(f) (MAT_ATTRIB_FRONT_SHININESS+(f)) |
#define | MAT_ATTRIB_INDEXES(f) (MAT_ATTRIB_FRONT_INDEXES+(f)) |
#define | MAT_INDEX_AMBIENT 0 |
#define | MAT_INDEX_DIFFUSE 1 |
#define | MAT_INDEX_SPECULAR 2 |
#define | MAT_BIT_FRONT_AMBIENT (1<<MAT_ATTRIB_FRONT_AMBIENT) |
#define | MAT_BIT_BACK_AMBIENT (1<<MAT_ATTRIB_BACK_AMBIENT) |
#define | MAT_BIT_FRONT_DIFFUSE (1<<MAT_ATTRIB_FRONT_DIFFUSE) |
#define | MAT_BIT_BACK_DIFFUSE (1<<MAT_ATTRIB_BACK_DIFFUSE) |
#define | MAT_BIT_FRONT_SPECULAR (1<<MAT_ATTRIB_FRONT_SPECULAR) |
#define | MAT_BIT_BACK_SPECULAR (1<<MAT_ATTRIB_BACK_SPECULAR) |
#define | MAT_BIT_FRONT_EMISSION (1<<MAT_ATTRIB_FRONT_EMISSION) |
#define | MAT_BIT_BACK_EMISSION (1<<MAT_ATTRIB_BACK_EMISSION) |
#define | MAT_BIT_FRONT_SHININESS (1<<MAT_ATTRIB_FRONT_SHININESS) |
#define | MAT_BIT_BACK_SHININESS (1<<MAT_ATTRIB_BACK_SHININESS) |
#define | MAT_BIT_FRONT_INDEXES (1<<MAT_ATTRIB_FRONT_INDEXES) |
#define | MAT_BIT_BACK_INDEXES (1<<MAT_ATTRIB_BACK_INDEXES) |
#define | FRONT_MATERIAL_BITS |
#define | BACK_MATERIAL_BITS |
#define | ALL_MATERIAL_BITS (FRONT_MATERIAL_BITS | BACK_MATERIAL_BITS) |
#define | LIGHT_SPOT 0x1 |
Light state flags. | |
#define | LIGHT_LOCAL_VIEWER 0x2 |
#define | LIGHT_POSITIONAL 0x4 |
#define | LIGHT_NEED_VERTICES (LIGHT_POSITIONAL|LIGHT_LOCAL_VIEWER) |
#define | TEXTURE_2D_ARRAY_BIT (1 << TEXTURE_2D_ARRAY_INDEX) |
Bit flags for each type of texture object Used for Texture.Unit[]._ReallyEnabled flags. | |
#define | TEXTURE_1D_ARRAY_BIT (1 << TEXTURE_1D_ARRAY_INDEX) |
#define | TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX) |
#define | TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX) |
#define | TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX) |
#define | TEXTURE_2D_BIT (1 << TEXTURE_2D_INDEX) |
#define | TEXTURE_1D_BIT (1 << TEXTURE_1D_INDEX) |
#define | S_BIT 1 |
TexGenEnabled flags. | |
#define | T_BIT 2 |
#define | R_BIT 4 |
#define | Q_BIT 8 |
#define | TEXGEN_SPHERE_MAP 0x1 |
Bit flag versions of the corresponding GL_ constants. | |
#define | TEXGEN_OBJ_LINEAR 0x2 |
#define | TEXGEN_EYE_LINEAR 0x4 |
#define | TEXGEN_REFLECTION_MAP_NV 0x8 |
#define | TEXGEN_NORMAL_MAP_NV 0x10 |
#define | TEXGEN_NEED_NORMALS |
#define | TEXGEN_NEED_EYE_COORD |
Bits for image transfer operations | |
| |
#define | IMAGE_SCALE_BIAS_BIT 0x1 |
#define | IMAGE_SHIFT_OFFSET_BIT 0x2 |
#define | IMAGE_MAP_COLOR_BIT 0x4 |
#define | IMAGE_COLOR_TABLE_BIT 0x8 |
#define | IMAGE_CONVOLUTION_BIT 0x10 |
#define | IMAGE_POST_CONVOLUTION_SCALE_BIAS 0x20 |
#define | IMAGE_POST_CONVOLUTION_COLOR_TABLE_BIT 0x40 |
#define | IMAGE_COLOR_MATRIX_BIT 0x80 |
#define | IMAGE_POST_COLOR_MATRIX_COLOR_TABLE_BIT 0x100 |
#define | IMAGE_HISTOGRAM_BIT 0x200 |
#define | IMAGE_MIN_MAX_BIT 0x400 |
#define | IMAGE_CLAMP_BIT 0x800 |
#define | IMAGE_PRE_CONVOLUTION_BITS |
Pixel Transfer ops up to convolution. | |
#define | IMAGE_POST_CONVOLUTION_BITS |
Pixel transfer ops after convolution. | |
Bits to indicate what state has changed. | |
4 unused flags. | |
#define | _NEW_MODELVIEW 0x1 |
__GLcontextRec::ModelView | |
#define | _NEW_PROJECTION 0x2 |
__GLcontextRec::Projection | |
#define | _NEW_TEXTURE_MATRIX 0x4 |
__GLcontextRec::TextureMatrix | |
#define | _NEW_COLOR_MATRIX 0x8 |
__GLcontextRec::ColorMatrix | |
#define | _NEW_ACCUM 0x10 |
__GLcontextRec::Accum | |
#define | _NEW_COLOR 0x20 |
__GLcontextRec::Color | |
#define | _NEW_DEPTH 0x40 |
__GLcontextRec::Depth | |
#define | _NEW_EVAL 0x80 |
__GLcontextRec::Eval, __GLcontextRec::EvalMap | |
#define | _NEW_FOG 0x100 |
__GLcontextRec::Fog | |
#define | _NEW_HINT 0x200 |
__GLcontextRec::Hint | |
#define | _NEW_LIGHT 0x400 |
__GLcontextRec::Light | |
#define | _NEW_LINE 0x800 |
__GLcontextRec::Line | |
#define | _NEW_PIXEL 0x1000 |
__GLcontextRec::Pixel | |
#define | _NEW_POINT 0x2000 |
__GLcontextRec::Point | |
#define | _NEW_POLYGON 0x4000 |
__GLcontextRec::Polygon | |
#define | _NEW_POLYGONSTIPPLE 0x8000 |
__GLcontextRec::PolygonStipple | |
#define | _NEW_SCISSOR 0x10000 |
__GLcontextRec::Scissor | |
#define | _NEW_STENCIL 0x20000 |
__GLcontextRec::Stencil | |
#define | _NEW_TEXTURE 0x40000 |
__GLcontextRec::Texture | |
#define | _NEW_TRANSFORM 0x80000 |
__GLcontextRec::Transform | |
#define | _NEW_VIEWPORT 0x100000 |
__GLcontextRec::Viewport | |
#define | _NEW_PACKUNPACK 0x200000 |
__GLcontextRec::Pack, __GLcontextRec::Unpack | |
#define | _NEW_ARRAY 0x400000 |
__GLcontextRec::Array | |
#define | _NEW_RENDERMODE 0x800000 |
__GLcontextRec::RenderMode, __GLcontextRec::Feedback, __GLcontextRec::Select | |
#define | _NEW_BUFFERS 0x1000000 |
__GLcontextRec::Visual, __GLcontextRec::DrawBuffer, | |
#define | _NEW_MULTISAMPLE 0x2000000 |
__GLcontextRec::Multisample | |
#define | _NEW_TRACK_MATRIX 0x4000000 |
__GLcontextRec::VertexProgram | |
#define | _NEW_PROGRAM 0x8000000 |
__GLcontextRec::VertexProgram | |
#define | _NEW_CURRENT_ATTRIB 0x10000000 |
__GLcontextRec::Current | |
#define | _NEW_PROGRAM_CONSTANTS 0x20000000 |
#define | _NEW_BUFFER_OBJECT 0x40000000 |
#define | _NEW_ALL ~0 |
Bits to track array state changes | |
Also used to summarize array enabled. | |
#define | _NEW_ARRAY_VERTEX VERT_BIT_POS |
#define | _NEW_ARRAY_WEIGHT VERT_BIT_WEIGHT |
#define | _NEW_ARRAY_NORMAL VERT_BIT_NORMAL |
#define | _NEW_ARRAY_COLOR0 VERT_BIT_COLOR0 |
#define | _NEW_ARRAY_COLOR1 VERT_BIT_COLOR1 |
#define | _NEW_ARRAY_FOGCOORD VERT_BIT_FOG |
#define | _NEW_ARRAY_INDEX VERT_BIT_COLOR_INDEX |
#define | _NEW_ARRAY_EDGEFLAG VERT_BIT_EDGEFLAG |
#define | _NEW_ARRAY_POINT_SIZE VERT_BIT_COLOR_INDEX |
#define | _NEW_ARRAY_TEXCOORD_0 VERT_BIT_TEX0 |
#define | _NEW_ARRAY_TEXCOORD_1 VERT_BIT_TEX1 |
#define | _NEW_ARRAY_TEXCOORD_2 VERT_BIT_TEX2 |
#define | _NEW_ARRAY_TEXCOORD_3 VERT_BIT_TEX3 |
#define | _NEW_ARRAY_TEXCOORD_4 VERT_BIT_TEX4 |
#define | _NEW_ARRAY_TEXCOORD_5 VERT_BIT_TEX5 |
#define | _NEW_ARRAY_TEXCOORD_6 VERT_BIT_TEX6 |
#define | _NEW_ARRAY_TEXCOORD_7 VERT_BIT_TEX7 |
#define | _NEW_ARRAY_ATTRIB_0 VERT_BIT_GENERIC0 |
#define | _NEW_ARRAY_ALL 0xffffffff |
#define | _NEW_ARRAY_TEXCOORD(i) (_NEW_ARRAY_TEXCOORD_0 << (i)) |
#define | _NEW_ARRAY_ATTRIB(i) (_NEW_ARRAY_ATTRIB_0 << (i)) |
A bunch of flags that we think might be useful to drivers. | |
#define | DD_FLATSHADE 0x1 |
#define | DD_SEPARATE_SPECULAR 0x2 |
#define | DD_TRI_CULL_FRONT_BACK 0x4 |
#define | DD_TRI_LIGHT_TWOSIDE 0x8 |
#define | DD_TRI_UNFILLED 0x10 |
#define | DD_TRI_SMOOTH 0x20 |
#define | DD_TRI_STIPPLE 0x40 |
#define | DD_TRI_OFFSET 0x80 |
#define | DD_LINE_SMOOTH 0x100 |
#define | DD_LINE_STIPPLE 0x200 |
#define | DD_LINE_WIDTH 0x400 |
#define | DD_POINT_SMOOTH 0x800 |
#define | DD_POINT_SIZE 0x1000 |
#define | DD_POINT_ATTEN 0x2000 |
#define | DD_TRI_TWOSTENCIL 0x4000 |
Define the state changes under which each of these bits might change | |
#define | _DD_NEW_FLATSHADE _NEW_LIGHT |
#define | _DD_NEW_SEPARATE_SPECULAR (_NEW_LIGHT | _NEW_FOG | _NEW_PROGRAM) |
#define | _DD_NEW_TRI_CULL_FRONT_BACK _NEW_POLYGON |
#define | _DD_NEW_TRI_LIGHT_TWOSIDE _NEW_LIGHT |
#define | _DD_NEW_TRI_UNFILLED _NEW_POLYGON |
#define | _DD_NEW_TRI_SMOOTH _NEW_POLYGON |
#define | _DD_NEW_TRI_STIPPLE _NEW_POLYGON |
#define | _DD_NEW_TRI_OFFSET _NEW_POLYGON |
#define | _DD_NEW_LINE_SMOOTH _NEW_LINE |
#define | _DD_NEW_LINE_STIPPLE _NEW_LINE |
#define | _DD_NEW_LINE_WIDTH _NEW_LINE |
#define | _DD_NEW_POINT_SMOOTH _NEW_POINT |
#define | _DD_NEW_POINT_SIZE _NEW_POINT |
#define | _DD_NEW_POINT_ATTEN _NEW_POINT |
#define | _MESA_NEW_NEED_EYE_COORDS |
Composite state flags. | |
#define | _MESA_NEW_NEED_NORMALS |
#define | _MESA_NEW_TRANSFER_STATE |
Typedefs | |
typedef void(* | FetchTexelFuncC )(const struct gl_texture_image *texImage, GLint col, GLint row, GLint img, GLchan *texelOut) |
Texel fetch function prototype. | |
typedef void(* | FetchTexelFuncF )(const struct gl_texture_image *texImage, GLint col, GLint row, GLint img, GLfloat *texelOut) |
As above, but returns floats. | |
typedef void(* | StoreTexelFunc )(struct gl_texture_image *texImage, GLint col, GLint row, GLint img, const void *texel) |
typedef GLboolean(* | StoreTexImageFunc )(TEXSTORE_PARAMS) |
Texture image storage function. | |
Some forward type declarations | |
Color channel data type.
Stencil buffer data type. | |
typedef struct __GLcontextRec | GLcontext |
typedef struct __GLcontextModesRec | GLvisual |
typedef struct gl_framebuffer | GLframebuffer |
Enumerations | |
enum | gl_vert_attrib { VERT_ATTRIB_POS = 0, VERT_ATTRIB_WEIGHT = 1, VERT_ATTRIB_NORMAL = 2, VERT_ATTRIB_COLOR0 = 3, VERT_ATTRIB_COLOR1 = 4, VERT_ATTRIB_FOG = 5, VERT_ATTRIB_COLOR_INDEX = 6, VERT_ATTRIB_POINT_SIZE = 6, VERT_ATTRIB_EDGEFLAG = 7, VERT_ATTRIB_TEX0 = 8, VERT_ATTRIB_TEX1 = 9, VERT_ATTRIB_TEX2 = 10, VERT_ATTRIB_TEX3 = 11, VERT_ATTRIB_TEX4 = 12, VERT_ATTRIB_TEX5 = 13, VERT_ATTRIB_TEX6 = 14, VERT_ATTRIB_TEX7 = 15, VERT_ATTRIB_GENERIC0 = 16, VERT_ATTRIB_GENERIC1 = 17, VERT_ATTRIB_GENERIC2 = 18, VERT_ATTRIB_GENERIC3 = 19, VERT_ATTRIB_GENERIC4 = 20, VERT_ATTRIB_GENERIC5 = 21, VERT_ATTRIB_GENERIC6 = 22, VERT_ATTRIB_GENERIC7 = 23, VERT_ATTRIB_GENERIC8 = 24, VERT_ATTRIB_GENERIC9 = 25, VERT_ATTRIB_GENERIC10 = 26, VERT_ATTRIB_GENERIC11 = 27, VERT_ATTRIB_GENERIC12 = 28, VERT_ATTRIB_GENERIC13 = 29, VERT_ATTRIB_GENERIC14 = 30, VERT_ATTRIB_GENERIC15 = 31, VERT_ATTRIB_MAX = 32 } |
Indexes for vertex program attributes. More... | |
enum | gl_vert_result { VERT_RESULT_HPOS = 0, VERT_RESULT_COL0 = 1, VERT_RESULT_COL1 = 2, VERT_RESULT_FOGC = 3, VERT_RESULT_TEX0 = 4, VERT_RESULT_TEX1 = 5, VERT_RESULT_TEX2 = 6, VERT_RESULT_TEX3 = 7, VERT_RESULT_TEX4 = 8, VERT_RESULT_TEX5 = 9, VERT_RESULT_TEX6 = 10, VERT_RESULT_TEX7 = 11, VERT_RESULT_PSIZ = 12, VERT_RESULT_BFC0 = 13, VERT_RESULT_BFC1 = 14, VERT_RESULT_EDGE = 15, VERT_RESULT_VAR0 = 16, VERT_RESULT_MAX = (VERT_RESULT_VAR0 + MAX_VARYING) } |
Indexes for vertex program result attributes. More... | |
enum | gl_frag_attrib { FRAG_ATTRIB_WPOS = 0, FRAG_ATTRIB_COL0 = 1, FRAG_ATTRIB_COL1 = 2, FRAG_ATTRIB_FOGC = 3, FRAG_ATTRIB_TEX0 = 4, FRAG_ATTRIB_TEX1 = 5, FRAG_ATTRIB_TEX2 = 6, FRAG_ATTRIB_TEX3 = 7, FRAG_ATTRIB_TEX4 = 8, FRAG_ATTRIB_TEX5 = 9, FRAG_ATTRIB_TEX6 = 10, FRAG_ATTRIB_TEX7 = 11, FRAG_ATTRIB_FACE = 12, FRAG_ATTRIB_PNTC = 13, FRAG_ATTRIB_VAR0 = 14, FRAG_ATTRIB_MAX = (FRAG_ATTRIB_VAR0 + MAX_VARYING) } |
Indexes for fragment program input attributes. More... | |
enum | gl_frag_result { FRAG_RESULT_DEPTH = 0, FRAG_RESULT_COLOR = 1, FRAG_RESULT_DATA0 = 2, FRAG_RESULT_MAX = (FRAG_RESULT_DATA0 + MAX_DRAW_BUFFERS) } |
Fragment program results. More... | |
enum | gl_buffer_index { BUFFER_FRONT_LEFT, BUFFER_BACK_LEFT, BUFFER_FRONT_RIGHT, BUFFER_BACK_RIGHT, BUFFER_DEPTH, BUFFER_STENCIL, BUFFER_ACCUM, BUFFER_AUX0, BUFFER_COLOR0, BUFFER_COLOR1, BUFFER_COLOR2, BUFFER_COLOR3, BUFFER_COLOR4, BUFFER_COLOR5, BUFFER_COLOR6, BUFFER_COLOR7, BUFFER_COUNT } |
Indexes for all renderbuffers. More... | |
enum | gl_colortable_index { COLORTABLE_PRECONVOLUTION, COLORTABLE_POSTCONVOLUTION, COLORTABLE_POSTCOLORMATRIX, COLORTABLE_MAX } |
The pixel transfer path has three color tables:. More... | |
enum | gl_texture_index { TEXTURE_2D_ARRAY_INDEX, TEXTURE_1D_ARRAY_INDEX, TEXTURE_CUBE_INDEX, TEXTURE_3D_INDEX, TEXTURE_RECT_INDEX, TEXTURE_2D_INDEX, TEXTURE_1D_INDEX, NUM_TEXTURE_TARGETS } |
An index for each type of texture object. More... | |
enum | gl_face_index { FACE_POS_X = 0, FACE_NEG_X = 1, FACE_POS_Y = 2, FACE_NEG_Y = 3, FACE_POS_Z = 4, FACE_NEG_Z = 5, MAX_FACES = 6 } |
Indexes for cube map faces. More... | |
enum | gl_register_file { PROGRAM_TEMPORARY, PROGRAM_INPUT, PROGRAM_OUTPUT, PROGRAM_VARYING, PROGRAM_LOCAL_PARAM, PROGRAM_ENV_PARAM, PROGRAM_STATE_VAR, PROGRAM_NAMED_PARAM, PROGRAM_CONSTANT, PROGRAM_UNIFORM, PROGRAM_WRITE_ONLY, PROGRAM_ADDRESS, PROGRAM_SAMPLER, PROGRAM_UNDEFINED, PROGRAM_FILE_MAX } |
Names of the various vertex/fragment program register files, etc. More... | |
enum | _verbose { VERBOSE_VARRAY = 0x0001, VERBOSE_TEXTURE = 0x0002, VERBOSE_IMMEDIATE = 0x0004, VERBOSE_PIPELINE = 0x0008, VERBOSE_DRIVER = 0x0010, VERBOSE_STATE = 0x0020, VERBOSE_API = 0x0040, VERBOSE_DISPLAY_LIST = 0x0100, VERBOSE_LIGHTING = 0x0200, VERBOSE_PRIMS = 0x0400, VERBOSE_VERTS = 0x0800, VERBOSE_DISASSEM = 0x1000 } |
enum | _debug { DEBUG_ALWAYS_FLUSH = 0x1 } |
Variables | |
const char * | _mesa_prim_name [GL_POLYGON+4] |
The string names for GL_POINT, GL_LINE_LOOP, etc. |
#define _DD_NEW_FLATSHADE _NEW_LIGHT |
#define _DD_NEW_LINE_SMOOTH _NEW_LINE |
#define _DD_NEW_LINE_STIPPLE _NEW_LINE |
#define _DD_NEW_LINE_WIDTH _NEW_LINE |
#define _DD_NEW_POINT_ATTEN _NEW_POINT |
#define _DD_NEW_POINT_SIZE _NEW_POINT |
#define _DD_NEW_POINT_SMOOTH _NEW_POINT |
#define _DD_NEW_SEPARATE_SPECULAR (_NEW_LIGHT | _NEW_FOG | _NEW_PROGRAM) |
#define _DD_NEW_TRI_CULL_FRONT_BACK _NEW_POLYGON |
#define _DD_NEW_TRI_LIGHT_TWOSIDE _NEW_LIGHT |
#define _DD_NEW_TRI_OFFSET _NEW_POLYGON |
#define _DD_NEW_TRI_SMOOTH _NEW_POLYGON |
#define _DD_NEW_TRI_STIPPLE _NEW_POLYGON |
#define _DD_NEW_TRI_UNFILLED _NEW_POLYGON |
#define _MESA_NEW_NEED_EYE_COORDS |
Value:
(_NEW_LIGHT | \ _NEW_TEXTURE | \ _NEW_POINT | \ _NEW_PROGRAM | \ _NEW_MODELVIEW)
#define _MESA_NEW_NEED_NORMALS |
Value:
(_NEW_LIGHT | \ _NEW_TEXTURE)
#define _MESA_NEW_TRANSFER_STATE |
Value:
(_NEW_PIXEL | \ _NEW_COLOR_MATRIX)
#define _NEW_ACCUM 0x10 |
#define _NEW_ALL ~0 |
#define _NEW_ARRAY 0x400000 |
#define _NEW_ARRAY_ALL 0xffffffff |
#define _NEW_ARRAY_ATTRIB | ( | i | ) | (_NEW_ARRAY_ATTRIB_0 << (i)) |
#define _NEW_ARRAY_ATTRIB_0 VERT_BIT_GENERIC0 |
#define _NEW_ARRAY_COLOR0 VERT_BIT_COLOR0 |
#define _NEW_ARRAY_COLOR1 VERT_BIT_COLOR1 |
#define _NEW_ARRAY_EDGEFLAG VERT_BIT_EDGEFLAG |
#define _NEW_ARRAY_FOGCOORD VERT_BIT_FOG |
#define _NEW_ARRAY_INDEX VERT_BIT_COLOR_INDEX |
#define _NEW_ARRAY_NORMAL VERT_BIT_NORMAL |
#define _NEW_ARRAY_POINT_SIZE VERT_BIT_COLOR_INDEX |
#define _NEW_ARRAY_TEXCOORD | ( | i | ) | (_NEW_ARRAY_TEXCOORD_0 << (i)) |
#define _NEW_ARRAY_TEXCOORD_0 VERT_BIT_TEX0 |
#define _NEW_ARRAY_TEXCOORD_1 VERT_BIT_TEX1 |
#define _NEW_ARRAY_TEXCOORD_2 VERT_BIT_TEX2 |
#define _NEW_ARRAY_TEXCOORD_3 VERT_BIT_TEX3 |
#define _NEW_ARRAY_TEXCOORD_4 VERT_BIT_TEX4 |
#define _NEW_ARRAY_TEXCOORD_5 VERT_BIT_TEX5 |
#define _NEW_ARRAY_TEXCOORD_6 VERT_BIT_TEX6 |
#define _NEW_ARRAY_TEXCOORD_7 VERT_BIT_TEX7 |
#define _NEW_ARRAY_VERTEX VERT_BIT_POS |
#define _NEW_ARRAY_WEIGHT VERT_BIT_WEIGHT |
#define _NEW_BUFFER_OBJECT 0x40000000 |
#define _NEW_BUFFERS 0x1000000 |
#define _NEW_COLOR 0x20 |
#define _NEW_COLOR_MATRIX 0x8 |
__GLcontextRec::ColorMatrix
#define _NEW_CURRENT_ATTRIB 0x10000000 |
#define _NEW_DEPTH 0x40 |
#define _NEW_EVAL 0x80 |
#define _NEW_FOG 0x100 |
#define _NEW_HINT 0x200 |
#define _NEW_LIGHT 0x400 |
#define _NEW_LINE 0x800 |
#define _NEW_MODELVIEW 0x1 |
__GLcontextRec::ModelView
#define _NEW_MULTISAMPLE 0x2000000 |
#define _NEW_PACKUNPACK 0x200000 |
#define _NEW_PIXEL 0x1000 |
#define _NEW_POINT 0x2000 |
#define _NEW_POLYGON 0x4000 |
#define _NEW_POLYGONSTIPPLE 0x8000 |
#define _NEW_PROGRAM 0x8000000 |
#define _NEW_PROGRAM_CONSTANTS 0x20000000 |
#define _NEW_PROJECTION 0x2 |
__GLcontextRec::Projection
#define _NEW_RENDERMODE 0x800000 |
#define _NEW_SCISSOR 0x10000 |
#define _NEW_STENCIL 0x20000 |
#define _NEW_TEXTURE 0x40000 |
#define _NEW_TEXTURE_MATRIX 0x4 |
__GLcontextRec::TextureMatrix
#define _NEW_TRACK_MATRIX 0x4000000 |
#define _NEW_TRANSFORM 0x80000 |
#define _NEW_VIEWPORT 0x100000 |
#define ALL_MATERIAL_BITS (FRONT_MATERIAL_BITS | BACK_MATERIAL_BITS) |
#define ATI_FS_INPUT_PRIMARY 0 |
ATI_fragment_shader runtime state.
#define ATI_FS_INPUT_SECONDARY 1 |
#define BACK_MATERIAL_BITS |
Value:
#define BUFFER_BIT_ACCUM (1 << BUFFER_ACCUM) |
#define BUFFER_BIT_AUX0 (1 << BUFFER_AUX0) |
#define BUFFER_BIT_AUX1 (1 << BUFFER_AUX1) |
#define BUFFER_BIT_AUX2 (1 << BUFFER_AUX2) |
#define BUFFER_BIT_AUX3 (1 << BUFFER_AUX3) |
#define BUFFER_BIT_BACK_LEFT (1 << BUFFER_BACK_LEFT) |
#define BUFFER_BIT_BACK_RIGHT (1 << BUFFER_BACK_RIGHT) |
#define BUFFER_BIT_COLOR0 (1 << BUFFER_COLOR0) |
#define BUFFER_BIT_COLOR1 (1 << BUFFER_COLOR1) |
#define BUFFER_BIT_COLOR2 (1 << BUFFER_COLOR2) |
#define BUFFER_BIT_COLOR3 (1 << BUFFER_COLOR3) |
#define BUFFER_BIT_COLOR4 (1 << BUFFER_COLOR4) |
#define BUFFER_BIT_COLOR5 (1 << BUFFER_COLOR5) |
#define BUFFER_BIT_COLOR6 (1 << BUFFER_COLOR6) |
#define BUFFER_BIT_COLOR7 (1 << BUFFER_COLOR7) |
#define BUFFER_BIT_DEPTH (1 << BUFFER_DEPTH) |
#define BUFFER_BIT_FRONT_LEFT (1 << BUFFER_FRONT_LEFT) |
Bit flags for all renderbuffers.
#define BUFFER_BIT_FRONT_RIGHT (1 << BUFFER_FRONT_RIGHT) |
#define BUFFER_BIT_STENCIL (1 << BUFFER_STENCIL) |
#define BUFFER_BITS_COLOR |
Value:
(BUFFER_BIT_FRONT_LEFT | \ BUFFER_BIT_BACK_LEFT | \ BUFFER_BIT_FRONT_RIGHT | \ BUFFER_BIT_BACK_RIGHT | \ BUFFER_BIT_AUX0 | \ BUFFER_BIT_COLOR0 | \ BUFFER_BIT_COLOR1 | \ BUFFER_BIT_COLOR2 | \ BUFFER_BIT_COLOR3 | \ BUFFER_BIT_COLOR4 | \ BUFFER_BIT_COLOR5 | \ BUFFER_BIT_COLOR6 | \ BUFFER_BIT_COLOR7)
#define DD_FLATSHADE 0x1 |
#define DD_LINE_SMOOTH 0x100 |
#define DD_LINE_STIPPLE 0x200 |
#define DD_LINE_WIDTH 0x400 |
#define DD_POINT_ATTEN 0x2000 |
#define DD_POINT_SIZE 0x1000 |
#define DD_POINT_SMOOTH 0x800 |
#define DD_SEPARATE_SPECULAR 0x2 |
#define DD_TRI_CULL_FRONT_BACK 0x4 |
#define DD_TRI_LIGHT_TWOSIDE 0x8 |
#define DD_TRI_OFFSET 0x80 |
#define DD_TRI_SMOOTH 0x20 |
#define DD_TRI_STIPPLE 0x40 |
#define DD_TRI_TWOSTENCIL 0x4000 |
#define DD_TRI_UNFILLED 0x10 |
#define DLIST_DANGLING_REFS 0x1 |
Display list flags.
Strictly this is a tnl-private concept, but it doesn't seem worthwhile adding a tnl private structure just to hold this one bit of information:
#define ENABLE_TEXGEN | ( | unit | ) | (1 << (unit)) |
Tex-gen enabled for texture unit?
#define ENABLE_TEXMAT | ( | unit | ) | (1 << (unit)) |
Non-identity texture matrix for texture unit?
#define EXP_TABLE_SIZE 512 |
Specular exponent lookup table sizes.
#define FRAG_BIT_COL0 (1 << FRAG_ATTRIB_COL0) |
#define FRAG_BIT_COL1 (1 << FRAG_ATTRIB_COL1) |
#define FRAG_BIT_FACE (1 << FRAG_ATTRIB_FACE) |
#define FRAG_BIT_FOGC (1 << FRAG_ATTRIB_FOGC) |
#define FRAG_BIT_PNTC (1 << FRAG_ATTRIB_PNTC) |
#define FRAG_BIT_TEX | ( | U | ) | (FRAG_BIT_TEX0 << (U)) |
#define FRAG_BIT_TEX0 (1 << FRAG_ATTRIB_TEX0) |
#define FRAG_BIT_TEX1 (1 << FRAG_ATTRIB_TEX1) |
#define FRAG_BIT_TEX2 (1 << FRAG_ATTRIB_TEX2) |
#define FRAG_BIT_TEX3 (1 << FRAG_ATTRIB_TEX3) |
#define FRAG_BIT_TEX4 (1 << FRAG_ATTRIB_TEX4) |
#define FRAG_BIT_TEX5 (1 << FRAG_ATTRIB_TEX5) |
#define FRAG_BIT_TEX6 (1 << FRAG_ATTRIB_TEX6) |
#define FRAG_BIT_TEX7 (1 << FRAG_ATTRIB_TEX7) |
#define FRAG_BIT_VAR | ( | V | ) | (FRAG_BIT_VAR0 << (V)) |
#define FRAG_BIT_VAR0 (1 << FRAG_ATTRIB_VAR0) |
#define FRAG_BIT_WPOS (1 << FRAG_ATTRIB_WPOS) |
Bitflags for fragment program input attributes.
#define FRAG_BITS_TEX_ANY |
Value:
(FRAG_BIT_TEX0| \ FRAG_BIT_TEX1| \ FRAG_BIT_TEX2| \ FRAG_BIT_TEX3| \ FRAG_BIT_TEX4| \ FRAG_BIT_TEX5| \ FRAG_BIT_TEX6| \ FRAG_BIT_TEX7)
#define FRONT_MATERIAL_BITS |
Value:
#define GLSL_DUMP 0x1 |
Dump shaders to stdout.
#define GLSL_LOG 0x2 |
Write shaders to files.
#define GLSL_NO_OPT 0x8 |
Force no optimizations (override pragmas).
#define GLSL_OPT 0x4 |
Force optimizations (override pragmas).
#define GLSL_UNIFORMS 0x10 |
Print glUniform calls.
#define IMAGE_CLAMP_BIT 0x800 |
#define IMAGE_COLOR_MATRIX_BIT 0x80 |
#define IMAGE_COLOR_TABLE_BIT 0x8 |
#define IMAGE_CONVOLUTION_BIT 0x10 |
#define IMAGE_HISTOGRAM_BIT 0x200 |
#define IMAGE_MAP_COLOR_BIT 0x4 |
#define IMAGE_MIN_MAX_BIT 0x400 |
#define IMAGE_POST_COLOR_MATRIX_COLOR_TABLE_BIT 0x100 |
#define IMAGE_POST_CONVOLUTION_BITS |
Value:
(IMAGE_POST_CONVOLUTION_SCALE_BIAS | \ IMAGE_POST_CONVOLUTION_COLOR_TABLE_BIT | \ IMAGE_COLOR_MATRIX_BIT | \ IMAGE_POST_COLOR_MATRIX_COLOR_TABLE_BIT |\ IMAGE_HISTOGRAM_BIT | \ IMAGE_MIN_MAX_BIT)
#define IMAGE_POST_CONVOLUTION_COLOR_TABLE_BIT 0x40 |
#define IMAGE_POST_CONVOLUTION_SCALE_BIAS 0x20 |
#define IMAGE_PRE_CONVOLUTION_BITS |
Value:
Pixel Transfer ops up to convolution.
#define IMAGE_SCALE_BIAS_BIT 0x1 |
#define IMAGE_SHIFT_OFFSET_BIT 0x2 |
#define LIGHT_LOCAL_VIEWER 0x2 |
#define LIGHT_NEED_VERTICES (LIGHT_POSITIONAL|LIGHT_LOCAL_VIEWER) |
#define LIGHT_POSITIONAL 0x4 |
#define LIGHT_SPOT 0x1 |
Light state flags.
#define MAT_ATTRIB_AMBIENT | ( | f | ) | (MAT_ATTRIB_FRONT_AMBIENT+(f)) |
#define MAT_ATTRIB_BACK_AMBIENT 1 |
#define MAT_ATTRIB_BACK_DIFFUSE 3 |
#define MAT_ATTRIB_BACK_EMISSION 7 |
#define MAT_ATTRIB_BACK_INDEXES 11 |
#define MAT_ATTRIB_BACK_SHININESS 9 |
#define MAT_ATTRIB_BACK_SPECULAR 5 |
#define MAT_ATTRIB_DIFFUSE | ( | f | ) | (MAT_ATTRIB_FRONT_DIFFUSE+(f)) |
#define MAT_ATTRIB_EMISSION | ( | f | ) | (MAT_ATTRIB_FRONT_EMISSION+(f)) |
#define MAT_ATTRIB_FRONT_AMBIENT 0 |
#define MAT_ATTRIB_FRONT_DIFFUSE 2 |
#define MAT_ATTRIB_FRONT_EMISSION 6 |
#define MAT_ATTRIB_FRONT_INDEXES 10 |
#define MAT_ATTRIB_FRONT_SHININESS 8 |
#define MAT_ATTRIB_FRONT_SPECULAR 4 |
#define MAT_ATTRIB_INDEXES | ( | f | ) | (MAT_ATTRIB_FRONT_INDEXES+(f)) |
#define MAT_ATTRIB_MAX 12 |
#define MAT_ATTRIB_SHININESS | ( | f | ) | (MAT_ATTRIB_FRONT_SHININESS+(f)) |
#define MAT_ATTRIB_SPECULAR | ( | f | ) | (MAT_ATTRIB_FRONT_SPECULAR+(f)) |
#define MAT_BIT_BACK_AMBIENT (1<<MAT_ATTRIB_BACK_AMBIENT) |
#define MAT_BIT_BACK_DIFFUSE (1<<MAT_ATTRIB_BACK_DIFFUSE) |
#define MAT_BIT_BACK_EMISSION (1<<MAT_ATTRIB_BACK_EMISSION) |
#define MAT_BIT_BACK_INDEXES (1<<MAT_ATTRIB_BACK_INDEXES) |
#define MAT_BIT_BACK_SHININESS (1<<MAT_ATTRIB_BACK_SHININESS) |
#define MAT_BIT_BACK_SPECULAR (1<<MAT_ATTRIB_BACK_SPECULAR) |
#define MAT_BIT_FRONT_AMBIENT (1<<MAT_ATTRIB_FRONT_AMBIENT) |
#define MAT_BIT_FRONT_DIFFUSE (1<<MAT_ATTRIB_FRONT_DIFFUSE) |
#define MAT_BIT_FRONT_EMISSION (1<<MAT_ATTRIB_FRONT_EMISSION) |
#define MAT_BIT_FRONT_INDEXES (1<<MAT_ATTRIB_FRONT_INDEXES) |
#define MAT_BIT_FRONT_SHININESS (1<<MAT_ATTRIB_FRONT_SHININESS) |
#define MAT_BIT_FRONT_SPECULAR (1<<MAT_ATTRIB_FRONT_SPECULAR) |
#define MAT_INDEX_AMBIENT 0 |
#define MAT_INDEX_DIFFUSE 1 |
#define MAT_INDEX_SPECULAR 2 |
#define MAX_COMBINER_TERMS 4 |
Up to four combiner sources are possible with GL_NV_texture_env_combine4.
#define MAX_DLIST_EXT_OPCODES 16 |
#define MESA_DEBUG_FLAGS 0 |
#define MESA_FUNCTION "a function" |
#define MESA_VERBOSE 0 |
#define NUM_VERTEX_FORMAT_ENTRIES (sizeof(GLvertexformat) / sizeof(void *)) |
#define Q_BIT 8 |
#define R_BIT 4 |
#define RB_MAGIC 0xaabbccdd |
#define S_BIT 1 |
TexGenEnabled flags.
#define SHINE_TABLE_SIZE 256 |
Material shininess lookup table sizes.
#define T_BIT 2 |
#define TEXGEN_EYE_LINEAR 0x4 |
#define TEXGEN_NEED_EYE_COORD |
Value:
#define TEXGEN_NEED_NORMALS |
Value:
#define TEXGEN_NORMAL_MAP_NV 0x10 |
#define TEXGEN_OBJ_LINEAR 0x2 |
#define TEXGEN_REFLECTION_MAP_NV 0x8 |
#define TEXGEN_SPHERE_MAP 0x1 |
Bit flag versions of the corresponding GL_ constants.
#define TEXSTORE_PARAMS |
Value:
GLcontext *ctx, GLuint dims, \ GLenum baseInternalFormat, \ const struct gl_texture_format *dstFormat, \ GLvoid *dstAddr, \ GLint dstXoffset, GLint dstYoffset, GLint dstZoffset, \ GLint dstRowStride, const GLuint *dstImageOffsets, \ GLint srcWidth, GLint srcHeight, GLint srcDepth, \ GLenum srcFormat, GLenum srcType, \ const GLvoid *srcAddr, \ const struct gl_pixelstore_attrib *srcPacking
dims | either 1 or 2 or 3 | |
baseInternalFormat | user-specified base internal format | |
dstFormat | destination Mesa texture format | |
dstAddr | destination image address | |
dstX/Y/Zoffset | destination x/y/z offset (ala TexSubImage), in texels | |
dstRowStride | destination image row stride, in bytes | |
dstImageOffsets | offset of each 2D slice within 3D texture, in texels | |
srcWidth/Height/Depth | source image size, in pixels | |
srcFormat | incoming image format | |
srcType | incoming image data type | |
srcAddr | source image address | |
srcPacking | source image packing parameters |
#define TEXTURE_1D_ARRAY_BIT (1 << TEXTURE_1D_ARRAY_INDEX) |
#define TEXTURE_1D_BIT (1 << TEXTURE_1D_INDEX) |
#define TEXTURE_2D_ARRAY_BIT (1 << TEXTURE_2D_ARRAY_INDEX) |
Bit flags for each type of texture object Used for Texture.Unit[]._ReallyEnabled flags.
#define TEXTURE_2D_BIT (1 << TEXTURE_2D_INDEX) |
#define TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX) |
#define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX) |
#define TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX) |
#define VERT_BIT_COLOR0 (1 << VERT_ATTRIB_COLOR0) |
#define VERT_BIT_COLOR1 (1 << VERT_ATTRIB_COLOR1) |
#define VERT_BIT_COLOR_INDEX (1 << VERT_ATTRIB_COLOR_INDEX) |
#define VERT_BIT_EDGEFLAG (1 << VERT_ATTRIB_EDGEFLAG) |
#define VERT_BIT_FOG (1 << VERT_ATTRIB_FOG) |
#define VERT_BIT_GENERIC | ( | g | ) | (1 << (VERT_ATTRIB_GENERIC0 + (g))) |
#define VERT_BIT_GENERIC0 (1 << VERT_ATTRIB_GENERIC0) |
#define VERT_BIT_GENERIC1 (1 << VERT_ATTRIB_GENERIC1) |
#define VERT_BIT_GENERIC10 (1 << VERT_ATTRIB_GENERIC10) |
#define VERT_BIT_GENERIC11 (1 << VERT_ATTRIB_GENERIC11) |
#define VERT_BIT_GENERIC12 (1 << VERT_ATTRIB_GENERIC12) |
#define VERT_BIT_GENERIC13 (1 << VERT_ATTRIB_GENERIC13) |
#define VERT_BIT_GENERIC14 (1 << VERT_ATTRIB_GENERIC14) |
#define VERT_BIT_GENERIC15 (1 << VERT_ATTRIB_GENERIC15) |
#define VERT_BIT_GENERIC2 (1 << VERT_ATTRIB_GENERIC2) |
#define VERT_BIT_GENERIC3 (1 << VERT_ATTRIB_GENERIC3) |
#define VERT_BIT_GENERIC4 (1 << VERT_ATTRIB_GENERIC4) |
#define VERT_BIT_GENERIC5 (1 << VERT_ATTRIB_GENERIC5) |
#define VERT_BIT_GENERIC6 (1 << VERT_ATTRIB_GENERIC6) |
#define VERT_BIT_GENERIC7 (1 << VERT_ATTRIB_GENERIC7) |
#define VERT_BIT_GENERIC8 (1 << VERT_ATTRIB_GENERIC8) |
#define VERT_BIT_GENERIC9 (1 << VERT_ATTRIB_GENERIC9) |
#define VERT_BIT_NORMAL (1 << VERT_ATTRIB_NORMAL) |
#define VERT_BIT_POS (1 << VERT_ATTRIB_POS) |
Bitflags for vertex attributes.
These are used in bitfields in many places.
#define VERT_BIT_TEX | ( | u | ) | (1 << (VERT_ATTRIB_TEX0 + (u))) |
#define VERT_BIT_TEX0 (1 << VERT_ATTRIB_TEX0) |
#define VERT_BIT_TEX1 (1 << VERT_ATTRIB_TEX1) |
#define VERT_BIT_TEX2 (1 << VERT_ATTRIB_TEX2) |
#define VERT_BIT_TEX3 (1 << VERT_ATTRIB_TEX3) |
#define VERT_BIT_TEX4 (1 << VERT_ATTRIB_TEX4) |
#define VERT_BIT_TEX5 (1 << VERT_ATTRIB_TEX5) |
#define VERT_BIT_TEX6 (1 << VERT_ATTRIB_TEX6) |
#define VERT_BIT_TEX7 (1 << VERT_ATTRIB_TEX7) |
#define VERT_BIT_WEIGHT (1 << VERT_ATTRIB_WEIGHT) |
typedef void(* FetchTexelFuncC)(const struct gl_texture_image *texImage, GLint col, GLint row, GLint img, GLchan *texelOut) |
Texel fetch function prototype.
We use texel fetch functions to extract RGBA, color indexes and depth components out of 1D, 2D and 3D texture images. These functions help to isolate us from the gritty details of all the various texture image encodings.
texImage | texture image. | |
col | texel column. | |
row | texel row. | |
img | texel image level/layer. | |
texelOut | output texel (up to 4 GLchans) |
typedef void(* FetchTexelFuncF)(const struct gl_texture_image *texImage, GLint col, GLint row, GLint img, GLfloat *texelOut) |
As above, but returns floats.
Used for depth component images and for upcoming signed/float texture images.
typedef struct __GLcontextRec GLcontext |
typedef struct gl_framebuffer GLframebuffer |
typedef struct __GLcontextModesRec GLvisual |
typedef void(* StoreTexelFunc)(struct gl_texture_image *texImage, GLint col, GLint row, GLint img, const void *texel) |
typedef GLboolean(* StoreTexImageFunc)(TEXSTORE_PARAMS) |
Texture image storage function.
enum _debug |
enum _verbose |
enum gl_buffer_index |
enum gl_colortable_index |
enum gl_face_index |
enum gl_frag_attrib |
Indexes for fragment program input attributes.
enum gl_frag_result |
enum gl_register_file |
Names of the various vertex/fragment program register files, etc.
NOTE: first four tokens must fit into 2 bits (see t_vb_arbprogram.c) All values should fit in a 4-bit field.
NOTE: PROGRAM_ENV_PARAM, PROGRAM_STATE_VAR, PROGRAM_NAMED_PARAM, PROGRAM_CONSTANT, and PROGRAM_UNIFORM can all be considered to be "uniform" variables since they can only be set outside glBegin/End. They're also all stored in the same Parameters array.
enum gl_texture_index |
An index for each type of texture object.
These correspond to the GL texture target enums, such as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc. Note: the order is from highest priority to lowest priority.
enum gl_vert_attrib |
Indexes for vertex program attributes.
GL_NV_vertex_program aliases generic attributes over the conventional attributes. In GL_ARB_vertex_program shader the aliasing is optional. In GL_ARB_vertex_shader / OpenGL 2.0 the aliasing is disallowed (the generic attributes are distinct/separate).
enum gl_vert_result |
Indexes for vertex program result attributes.
const char* _mesa_prim_name[GL_POLYGON+4] |
The string names for GL_POINT, GL_LINE_LOOP, etc.