summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/enable.c
Commit message (Collapse)AuthorAgeFilesLines
* Track two sets of back-face stencil stateIan Romanick2009-01-231-2/+5
| | | | | | | | | | | | 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
* mesa: remove GL_DEPTH_TEST + no depth buffer testBrian Paul2009-01-161-4/+0
| | | | | One could enable depth testing before binding an FBO that has a depth buffer so this test is no longer useful or correct.
* mesa: increase max texture image units and GLSL samplers to 16Brian Paul2008-12-311-56/+92
| | | | | | | | | | | | | | | | 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.
* mesa: point size arraysBrian Paul2008-09-211-0/+12
|
* Call _ae_update_state when array enable state changesKrzysztof Czurylo2008-08-211-0/+4
| | | | | | | | | | | | | | 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.
* fix DD_TRI_LIGHT_TWOSIDE bug (#13368)Brian2007-12-031-4/+4
|
* Restore old _TriangleCaps code to fix Blender problem (bug 12164)Brian2007-09-271-0/+13
|
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-0/+16
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Fix reversed enable logic in enable_textureIan Romanick2007-05-101-1/+1
| | | | | Fix bug inserted in commit c9e723e5013443df984cb3987ffa3a9ba3384b89. Discovered by Oliver McFadden (z3ro).
* Convert "bit" parameters to GLbitfield. Fix cut-and-paste bug in _mesa_IsEnabledIan Romanick2007-05-101-3/+3
| | | | | These changes are based on patch review comments from Brian Paul, Alan Hourihane, and vehemens.
* Refactor Enable / Disable and IsEnabled bits related to texture targets.Ian Romanick2007-05-101-82/+50
|
* Colortable re-org.Brian2007-03-161-9/+9
| | | | | The pixel transfer path has three color table lookups. Use an array [3] to store that info, rather than separate variables.
* Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-61/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Move all the code for computing ctx->_TriangleCaps into state.c.Brian2006-12-131-61/+30
| | | | | | | | ctx->_TriangleCaps should probably go away altogether someday...
* | better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell2006-10-301-1/+1
|/
* Compute ctx->Color._LogicOpEnabled in one place instead of four places!Brian Paul2006-07-181-14/+2
|
* Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick2006-06-121-20/+20
| | | | | | | 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.
* Use standard ARB names instead of vendor-specific NV names for the ↵Roland Scheidegger2006-03-031-6/+6
| | | | 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.
* Fix more enums defined not only by one extension when queried by glGet ↵Roland Scheidegger2006-03-021-7/+19
| | | | (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.
* Fix glGet with enums which are used not only in NV_vertex_program, but other ↵Roland Scheidegger2006-03-011-2/+6
| | | | 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
* Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul2005-12-141-28/+0
| | | | done with fragment programs nowadays.
* removed GL_HP_occlusion_test extensionBrian Paul2005-08-251-20/+2
|
* Add a set of predicate functions for testing matrices instead of directlyBrian Paul2005-06-301-1/+1
| | | | | | testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
* Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul2005-05-041-8/+13
| | | | | | | Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
* Implement software ATI_fragment_shaderDave Airlie2004-12-191-1/+14
| | | | no error detection, slow, may not be 100% correct but a good start
* uint*t -> u_int*t changesAlan Hourihane2004-12-141-3/+0
|
* added DD_TRI_TWOSTENCIL to ease EXT_stencil_two_side in device driversDaniel Borca2004-11-121-0/+5
|
* check for either GL_NV_vertex_program or GL_ARB_vertex_program for some enablesBrian Paul2004-08-181-12/+13
|
* Add EXT_vertex_cull support to mesaKeith Whitwell2004-05-101-0/+9
|
* Added support for EXT_blend_equation_separate / ATI_blend_equation_separate.Ian Romanick2004-01-271-2/+2
| | | | | The internal driver interface was also changed to use BlendEquationSeparate instead of BlendEquation.
* Don't set extra bits in FLUSH_VERTICES, fix several state bugs.Keith Whitwell2004-01-231-20/+5
|
* Ville Syrjala's logic op patchBrian Paul2003-11-121-3/+12
|
* Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett2003-10-211-5/+5
| | | | | points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
* Trivial changes to add support for GL_ARB_point_sprite, which is aIan Romanick2003-08-231-1/+7
| | | | subset of GL_NV_point_sprite (which was already supported).
* Initial implementation of GL_MESA_program_debug - a vertex/fragment programBrian Paul2003-07-211-0/+18
| | | | debugging extension.
* Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell2003-07-171-4/+67
|
* Implemented GL_EXT_depth_bounds_test.Brian Paul2003-04-211-0/+19
|
* more GL_ARB_vertex/fragment_program bitsBrian Paul2003-04-181-2/+15
|
* fix GL_COLOR_MATERIAL bugBrian Paul2003-03-211-3/+3
|
* Fix up some fragment program texture enable issues.Brian Paul2003-03-151-2/+2
| | | | Implemented TXD instruction.
* Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]Brian Paul2003-03-011-2/+1
| | | | | Moved type conversion and interpolation macros into macros.h Updated all the files that used to include mmath.h
* Make GL_SGI_texture_color_table work per-texture unit.Brian Paul2003-01-261-3/+8
| | | | Clean-up and optimize _swrast_texture_table_lookup().
* GL_SGI_texture_color_table extension (Eric Plante)Brian Paul2003-01-211-1/+8
|
* First batch of code for GL_NV_fragment_program.Brian Paul2003-01-141-2/+18
| | | | | Re-org of some GL_NV_vertex_program code. Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
* Header file clean-up:Brian Paul2002-10-241-5/+2
| | | | | | | | 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.
* surround vertex program code with #if FEATURE_NV_vertex_program/#endifBrian Paul2002-10-161-4/+8
|
* GL_EXT_stencil_two_side extension, not 100% complete yet.Brian Paul2002-09-061-1/+16
|
* Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.Brian Paul2002-06-291-22/+10
| | | | Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
* Moved GL_PROGRAM_ERROR_POSITION_NV state (it's not per-program).Brian Paul2002-06-181-38/+52
| | | | | Finished all glGet* queries for GL_NV_vertex_program. Improved error reporting in glEnable/Disable/Get, etc.
* Implemented GL_NV_texture_rectangle extension.Brian Paul2002-06-151-13/+38
| | | | | | | | | 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.