summaryrefslogtreecommitdiff
path: root/src/mesa/main/mtypes.h
AgeCommit message (Collapse)Author
2006-05-23Add const qualifiers in a number of places.Brian Paul
2006-05-22memory usage fixes for glean/conform, use a better hash functionKeith Whitwell
2006-05-22Better caching for texenv programs.Keith Whitwell
Initialize some values correctly.
2006-05-20In gl_texture_image, replace ImageStride with an ImageOffsets array.Brian Paul
Some hardware lays out 3D mipmaps in a manner that can't be expressed with a simple image stride. The ImageOffsets array is allocated and initialized to typical defaults in the _mesa_init_teximage_fields() function. If needed, a driver will then have to replace these offsets. TexStore and TexelFetch routines updated to use offsets array.
2006-05-05Define VERT_RESULT_EDGEKeith Whitwell
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
2006-04-25No longer alias generic vertex attribs with conventional attribs for ↵Brian Paul
GL_ARB_vertex_program.
2006-04-14Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul
in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
2006-04-13Fix comment about MaxTextureUnits, needs to be min of coord and image units.Brian Paul
See bug 5994. Also add a few assertions. Use MaxTextureUnits in get.c code. There's probably other places where we need to clean-up the usage of the MaxTexture[Coord/Image]Units constants.
2006-04-11More GLSL code:Michal Krol
- use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
2006-03-29 Committing in .Jouk Jansen
Removing <CR> Modified Files: Mesa/src/mesa/main/fog.c Mesa/src/mesa/main/hint.c Mesa/src/mesa/main/mtypes.h ----------------------------------------------------------------------
2006-03-29Move the computation of the viewport matrix into a new update_viewport_matrix()Brian Paul
function since the matrix depends on the viewport params and the framebuffer's depth buffer resolution. Fixes some renderbuffer / depth range issues. This simplifies the _mesa_set_viewport() and _mesa_DepthRange() functions too.
2006-03-28updated comment about framebuffer's Visual fieldBrian Paul
2006-03-26merge from texman branchBrian Paul
2006-03-21GLSL fixes:Michal Krol
- generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
2006-03-03Use standard ARB names instead of vendor-specific NV names for the ↵Roland Scheidegger
ARB/NV_vertex_program enums in common state handling code, and update comments accordingly. Change some slightly confusing code which gave the impression GL_VERTEX_PROGRAM_ARB and GL_VERTEX_PROGRAM_NV enums were different.
2006-02-13Rename current glsl program variable.Michal Krol
2005-12-14Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul
done with fragment programs nowadays.
2005-12-12Split _MaintainTexEnvProgram into two flags _Maintain and _Use. ThisKeith Whitwell
restores the ability to run the software driver with program TNL but tradtional swrast.
2005-12-07Updates for GL_EXT_timer_query:Brian Paul
New GLint64EXT and GLuint64EXT types (use C99's long long types). New glGetQueryObject[u]i64vEXT() functions.
2005-11-19No longer derive 'ati_fragment_shader' from 'program' class. Only theBrian Paul
program->Id and program->RefCount fields were used and ATI fragment shaders didn't have too much in common with ARB/NV vertex/fragment programs anyway.
2005-11-19move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.hBrian Paul
2005-11-16Support for combined depth/stencil renderbuffers (GL_EXT_packed_depth_stencil).Brian Paul
depthstencil.c provides wrappers for treating depth/stencil buffers either as regular depth or stencil renderbuffers.
2005-11-12Added OSMesaColorClamp(), bug 4917Brian Paul
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-10Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).Brian Paul
Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.
2005-11-08At keithw's request, remove all traces of the "fragment program to C" andIan Romanick
TCC experiment.
2005-11-08some initial work on upcoming GL_EXT_framebuffer_blit extensionBrian Paul
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-05Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul
2005-11-01Several fp and vp tweaks:Keith Whitwell
- Renumber VERT_RESULT_* values so that they match the numbers of the corresponding FRAG_ATTRIB_ values. - Add ctx->VertexProgram._Current and FragmentProgram._Current values which point to either the current client-supplied program if enabled, or otherwise to the current mesa-internal program. Thus this program is always the correct one for the current state, providing that the mesa flags to turn on automatic generation are enabled. - Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c and t_vp_build.c so that the driver knows when the generated program changes. This is cleaner than trying to code all the possible _NEW_* flags into the driver, and more precise as well. - Add a UsesKill flag to identify fragment programs with that instruction, as these can require special treatment. - Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
2005-11-01Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul
temporaries, parameters, etc). glGetProgramivARB() now returns all the right things. Updated i915 and r300 code to initialize program native limits and current program's native instruction/temporary/etc counts.
2005-10-29clean-up commentsBrian Paul
2005-10-05Remove _IsPowerOfTwo from gl_texture_object, not really needed.Brian Paul
2005-10-05s/IntFormat/InternalFormat/ and s/Format/_BaseFormat/ for gl_color_table.Brian Paul
2005-10-05In gl_texture_image replace IntFormat with InternalFormat and Format withBrian Paul
_BaseFormat to be consistant with gl_renderbuffer.
2005-10-01updated commentBrian Paul
2005-09-28Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul
glReadPixels done, glDrawPixels mostly done.
2005-09-23Replace gl_framebuffer's _ColorReadBufferMask with _ColorReadBufferIndex,Brian Paul
Streamline the _mesa_update_framebuffer() function a bit.
2005-09-23Add Wrapper field to gl_renderbuffer. Used for wrapping one renderbufferBrian Paul
with another, such as wrapping a hardware/win-sys RGB renderbuffer with a software-based alpha buffer. Previous alpha buffer wrapping was conflicting with the X driver's xmesa_renderbuffer structure containment/inheritance. That lead to memory corruption.
2005-09-22Replace gl_renderbuffer.ComponentSizes[] with separate RedBits, GreenBits,Brian Paul
BlueBits, etc fields.
2005-09-21Remove ACCUM_BITS.Brian Paul
2005-09-21replace GLdepth with GLuint and remove GLdepthBrian Paul
2005-09-20remove STENCIL_MAXBrian Paul
2005-09-19additional wrapper updates, bug 4468Brian Paul
2005-09-15Replace GLuint with GLbitfield where appropriate. Also replace GLuintBrian Paul
with GLboolean in a few places.
2005-09-13OpenGL 2.0's two-sided stencil feature wasn't implemented correctly.Brian Paul
See comment near top of stencil.c for info about OpenGL 2.0 vs. GL_EXT_stencil_two_side.
2005-09-13Use GLuint/GLint intead of GLstencil for stencil state.Brian Paul
2005-09-03Remove last remnants of pre-renderbuffer code.Brian Paul