summaryrefslogtreecommitdiff
path: root/src/mesa/main/enable.c
AgeCommit message (Collapse)Author
2009-01-23Track two sets of back-face stencil stateIan Romanick
Track separate back-face stencil state for OpenGL 2.0 / GL_ATI_separate_stencil and GL_EXT_stencil_two_side. This allows all three to be enabled in a driver. One set of state is set via the 2.0 or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT is disabled. The other is set by StencilFunc and StencilOp when the active stencil face is set to BACK. The GL_EXT_stencil_two_side spec has more details. http://opengl.org/registry/specs/EXT/stencil_two_side.txt
2009-01-16mesa: remove GL_DEPTH_TEST + no depth buffer testBrian Paul
One could enable depth testing before binding an FBO that has a depth buffer so this test is no longer useful or correct.
2008-12-31mesa: increase max texture image units and GLSL samplers to 16Brian Paul
The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
2008-09-21mesa: point size arraysBrian Paul
2008-08-21Call _ae_update_state when array enable state changesKrzysztof Czurylo
Basically, the application enables client vertex and color arrays, renders something, then disables color array, and renders something else (using vertex array only). Even though the color array is disabled (and the pointer is no longer valid), the driver still tries to read color data from this array (which results in an exception). This is because enabling/disabling array does not trigger _ae_update_state() and the list of enabled arrays is not updated. _ae_update_state() it's called on the first state validation only (as all the "dirty" flags are set at the beginning). Any further change to client arrays' state has no effect.
2007-12-03fix DD_TRI_LIGHT_TWOSIDE bug (#13368)Brian
2007-09-27Restore old _TriangleCaps code to fix Blender problem (bug 12164)Brian
2007-05-16Initial implementation of MESA_texture_arrayIan Romanick
Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
2007-05-10Fix reversed enable logic in enable_textureIan Romanick
Fix bug inserted in commit c9e723e5013443df984cb3987ffa3a9ba3384b89. Discovered by Oliver McFadden (z3ro).
2007-05-10Convert "bit" parameters to GLbitfield. Fix cut-and-paste bug in _mesa_IsEnabledIan Romanick
These changes are based on patch review comments from Brian Paul, Alan Hourihane, and vehemens.
2007-05-10Refactor Enable / Disable and IsEnabled bits related to texture targets.Ian Romanick
2007-03-16Colortable re-org.Brian
The pixel transfer path has three color table lookups. Use an array [3] to store that info, rather than separate variables.
2007-01-16Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa ↵Keith Whitwell
into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
2006-12-13Move all the code for computing ctx->_TriangleCaps into state.c.Brian
ctx->_TriangleCaps should probably go away altogether someday...
2006-10-30better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell
2006-07-18Compute ctx->Color._LogicOpEnabled in one place instead of four places!Brian Paul
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick
and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
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-03-02Fix more enums defined not only by one extension when queried by glGet ↵Roland Scheidegger
(GL_COLOR_SUM_EXT, GL_POINT_SPRITE_NV, GL_POINT_SPRITE_COORD_ORIGIN, GL_TRANSPOSE_CURRENT_MATRIX_ARB). Fix similar bugs (also those previously overseen dependant on NV/ARB_vertex_program) in glIsEnabled. Add missing GL_COLOR_SUM_EXT enum to glIsEnabled.
2006-03-01Fix glGet with enums which are used not only in NV_vertex_program, but other ↵Roland Scheidegger
extensions too (ARB_vertex_program, ARB_fragment_program, NV_fragment_program), if no support for NV_vertex_program is present. While here, fix return value if enum is used which is not supported by the exposed extensions (GL_INVALID_ENUM instead of GL_INVALID_VALUE). Fix some compile-time #ifs depending on NV_vertex/fragment_program which should also be dependant on ARB_vertex/fragment_program. See bug #6070
2005-12-14Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul
done with fragment programs nowadays.
2005-08-25removed GL_HP_occlusion_test extensionBrian Paul
2005-06-30Add a set of predicate functions for testing matrices instead of directlyBrian Paul
testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2004-12-19Implement software ATI_fragment_shaderDave Airlie
no error detection, slow, may not be 100% correct but a good start
2004-12-14uint*t -> u_int*t changesAlan Hourihane
2004-11-12added DD_TRI_TWOSTENCIL to ease EXT_stencil_two_side in device driversDaniel Borca
2004-08-18check for either GL_NV_vertex_program or GL_ARB_vertex_program for some enablesBrian Paul
2004-05-10Add EXT_vertex_cull support to mesaKeith Whitwell
2004-01-27Added support for EXT_blend_equation_separate / ATI_blend_equation_separate.Ian Romanick
The internal driver interface was also changed to use BlendEquationSeparate instead of BlendEquation.
2004-01-23Don't set extra bits in FLUSH_VERTICES, fix several state bugs.Keith Whitwell
2003-11-12Ville Syrjala's logic op patchBrian Paul
2003-10-21Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett
points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
2003-08-23Trivial changes to add support for GL_ARB_point_sprite, which is aIan Romanick
subset of GL_NV_point_sprite (which was already supported).
2003-07-21Initial implementation of GL_MESA_program_debug - a vertex/fragment programBrian Paul
debugging extension.
2003-07-17Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell
2003-04-21Implemented GL_EXT_depth_bounds_test.Brian Paul
2003-04-18more GL_ARB_vertex/fragment_program bitsBrian Paul
2003-03-21fix GL_COLOR_MATERIAL bugBrian Paul
2003-03-15Fix up some fragment program texture enable issues.Brian Paul
Implemented TXD instruction.
2003-03-01Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]Brian Paul
Moved type conversion and interpolation macros into macros.h Updated all the files that used to include mmath.h
2003-01-26Make GL_SGI_texture_color_table work per-texture unit.Brian Paul
Clean-up and optimize _swrast_texture_table_lookup().
2003-01-21GL_SGI_texture_color_table extension (Eric Plante)Brian Paul
2003-01-14First batch of code for GL_NV_fragment_program.Brian Paul
Re-org of some GL_NV_vertex_program code. Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
2002-10-24Header file clean-up:Brian Paul
1. Remove all.h and PC_HEADER junk. 2. Rolled mem.c and mem.h into imports.c and imports.h 3. Include imports.h instead of mem.h Restore _mesa_create/initialize_context() to be like they were in 4.0.4 New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
2002-10-16surround vertex program code with #if FEATURE_NV_vertex_program/#endifBrian Paul
2002-09-06GL_EXT_stencil_two_side extension, not 100% complete yet.Brian Paul
2002-06-29Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
2002-06-18Moved GL_PROGRAM_ERROR_POSITION_NV state (it's not per-program).Brian Paul
Finished all glGet* queries for GL_NV_vertex_program. Improved error reporting in glEnable/Disable/Get, etc.
2002-06-15Implemented GL_NV_texture_rectangle extension.Brian Paul
Replace struct gl_texure_object's Dimension w/ Target field. Added _EnabledUnits to struct gl_texture_attrib - the _ReallyEnabled field is obsolete, but still present for now. This effectively removes the 8-texture units limit, 32 units now possible, but unlikely! New TEXTURE_1D/2D/3D/CUBE/RECT_BIT tokens for unit->_ReallyEnabled field. Updated device drivers to use ctx->Texture._EnabledUnits.