summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/enable.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: added infrastructure for GL_EXT_draw_buffers2Brian Paul2009-12-291-3/+10
|
* mesa: per-buffer blend enabled flagsBrian Paul2009-12-291-5/+79
| | | | | | | | | | | | | | | ctx->Color.BlendEnabled is now a GLbitfield instead of a GLboolean to indicate blend on/off status for each color/draw buffer. This is infrastructure for GL_EXT_draw_buffers2 and OpenGL 3.x New functions include _mesa_EnableIndexed(), _mesa_DisableIndexed(), and _mesa_IsEnabledIndexed(). The enable function corresponds to glEnableIndexedEXT() for GL_EXT_draw_buffers2 or glEnablei() for GL3. Note that there's quite a few tests for ctx->Color.BlendEnabled != 0 in drivers, etc. Those tests can remain as-is since the mask will be 0 or ~0 unless GL_EXT_draw_buffers2 is enabled.
* mesa: minor code clean-up in client_state()Brian Paul2009-10-271-10/+11
|
* mesa: use _mesa_get_current_tex_unit() helperBrian Paul2009-09-281-2/+2
|
* Merge branch 'mesa_7_6_branch'Brian Paul2009-09-241-6/+1
|\ | | | | | | | | | | Conflicts: src/mesa/vbo/vbo_exec_array.c
| * Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-241-6/+1
| |\
| | * mesa: remove glEnable(GL_DEPTH_BOUNDS_TEST_EXT) check/warningBrian Paul2009-09-241-5/+0
| | | | | | | | | | | | | | | At the time of the enable there may not be a Z buffer, but one may be attached to the FBO later.
| | * mesa: remove rgbMode check in enable_texture()Brian Paul2009-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | If the currently bound FBO isn't yet validated it's possible for rgbMode to be zero so we'll lose the texture enable. This could fix some FBO rendering glitches, but I don't know of any specific instances.
* | | mesa: move call to init_c_cliptest() from enable.c to tnl module.Brian Paul2009-09-091-8/+0
| | | | | | | | | | | | Fixed gallium build breakage.
* | | mesa: Add support for ARB_depth_clamp.Eric Anholt2009-09-081-0/+20
|/ / | | | | | | | | This currently doesn't include fixing up the cliptests in the assembly paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path.
* | Infrastructure for GL_ARB_seamless_cube_mapIan Romanick2009-08-141-0/+10
| |
* | mesa: added some assertionsBrian Paul2009-05-221-0/+2
| |
* | mesa: minor simplification in enable_texture(), updated commentsBrian Paul2009-05-051-3/+5
|/
* mesa: remove GL_MESA_program_debug extensionBrian Paul2009-03-071-22/+0
| | | | This was never fully fleshed out and hasn't been used.
* mesa: remove warning/short-circuit of stencil enable w/ no stencil bufferBrian Paul2009-03-021-5/+0
| | | | With FBOs one could enable stencil before a stencil buffer is later bound.
* mesa: don't include m_xform.h where not neededBrian Paul2009-02-121-1/+0
|
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-091-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| * Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-221-4/+0
| |\ | | | | | | | | | | | | | | | | | | Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
| * \ Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-021-56/+92
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| * \ \ Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-0/+17
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
| | * | | mesa: point size arraysBrian Paul2008-06-251-0/+12
| | | | |
| | * | | mesa: add some #if FEATURE_x testsBrian Paul2008-06-121-0/+5
| | | | |
* | | | | Make GL_ARB_multisample mandatoryIan Romanick2009-01-281-10/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ian Romanick <[email protected]>
* | | | | 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
|