aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/context.c
Commit message (Collapse)AuthorAgeFilesLines
* check if fb->Delete is null (bugs 13507,14293)Brian2008-01-301-1/+6
|
* remove unneeded conditionalBrian2008-01-011-2/+3
|
* fix broken two-sided stencilBrian2007-11-301-1/+0
|
* In _mesa_make_current(), don't unbind FBOs from the old context.Brian2007-09-111-9/+0
| | | | | | This fixes the X server crash reported by KeithP on Aug 29. The old context's FBOs will be unreferenced during context destruction so there's no memleak with this change.
* For _mesa_share_state(), update the context's references to the new share ↵Brian2007-08-231-4/+32
| | | | group's objects (Shane Blackett)
* remove dead code left over after fixing GL_READ/DRAW_BUFFER state issuesBrian2007-08-181-14/+0
|
* Rework the GL_READ_BUFFER, GL_DRAW_BUFFER state repairs that Roland ↵Brian2007-08-161-0/+7
| | | | | | | | | previously did. Basically, in update_framebuffer() (which should be called after an FBO is bound with MakeCurrent or BindFramebuffer) we check if the FBO is a window-system FBO. If it is, update the FBO's GL_READ/DRAW_BUFFER state according to the context state. Old code still in place but disabled with #if 0 / #endif.
* Bring over the texobj refcounting changes from mesa_7_0_branchBrian2007-08-161-2/+3
|
* Fix a few more problems with freeing FBOs/textures during context destruction.Brian2007-08-141-27/+39
| | | | | | Free FBOs before textures since the later may be referenced by the former. Need to bind the context we're destroying if there isn't a current context so that ctx->DeleteTexture() etc can be used.
* free any render/framebuffers left in hash tables when freeing shared stateBrian2007-08-131-0/+23
|
* Implement mutex/locking around texture object reference counting.Brian2007-08-131-11/+3
| | | | | | Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures.
* added some missing Default1D/2DArray texture codeBrian2007-08-131-0/+7
|
* fix mesa's handling of fbo's / window fb (again)Roland Scheidegger2007-07-191-9/+3
| | | | | | | | Make sure the relevant fields in window fbs get updated at appropriate time (those are NOT the same as fbos!!!), and fix up related code accordingly. This is a bit ugly, but there's a reason the issues section in EXT_fbo is a couple hundred pages long... Hopefully correct now.
* more fixes for mesa's fbo handling (fixes tests/fbotest1/2)Roland Scheidegger2007-07-191-0/+5
|
* fix bogus fb/drawable informationRoland Scheidegger2007-07-161-0/+11
| | | | | | | | | | the framebuffer objects attached to drawables can have invalidate state associated with them, since for the window framebuffer this is per-context state and not per-fbo state. Since drivers rely on that information (otherwise would need to check if currently the window-framebuffer is bound in a lot of places) fix it up in _mesa_make_current (ugly). (Brought over from i915tex_privbuffers, where it fixes xdemos/wincopy when switching to front buffer rendering.)
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-7/+7
| | | | of -I flags.
* In generic_nop() call _mesa_warning() instead of _mesa_problem() since it's ↵Brian2007-06-111-1/+1
| | | | an app issue, not a mesa bug.
* disable depthBits test in check_compatible(), see bug 11161Brian2007-06-081-3/+6
|
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-0/+11
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Rename occlude.[ch] to queryobj.[ch]Brian2007-04-211-1/+1
|
* s/GL_SHADER_PROGRAM/GL_SHADER_PROGRAM_MESA/ (a Mesa-specific token)Brian2007-04-181-1/+1
|
* Use generic program limits instead of NV-specific ones to init program ↵Brian2007-04-161-4/+4
| | | | | | | | | constants. Previously, this limited us to 12 temp regs for vertex programs. Many vertex shaders could exceed that. This forces us to stop using t_vb_arbprogram.c for now because of its particular register indexing scheme. Need to increase bits allocated for register indexing, etc.
* more _mesa_unreference_framebuffer() calls, remove dead codeBrian2007-04-141-24/+2
|
* Remove the never-used SI-style imports/exports code.Brian2007-04-041-267/+2
|
* Restore the UseTexEnvProgram logic.Brian2007-03-271-4/+6
| | | | | Was removed during glsl-compiler work. Still need to go back and revisit this because of the interaction with fragment shaders...
* Free shader-related context state: _mesa_free_shader_state()Brian2007-03-241-0/+1
|
* Merge branch 'origin' into glsl-compiler-1Brian2007-03-091-6/+17
|\ | | | | | | | | | | Conflicts: src/mesa/main/context.c
| * Fix/improve framebuffer object reference counting.Brian2007-03-061-12/+13
| | | | | | | | | | | | | | Use _mesa_reference_framebuffer() and _mesa_unreference_framebuffer() functions to be sure reference counting is done correctly. Additional assertions are done too. Note _mesa_dereference_framebuffer() renamed to "unreference" as that's more accurate.
| * Do proper framebuffer refcounting in _mesa_make_current().Brian2007-02-261-0/+14
| | | | | | | | | | | | Also, added DeletePending field to gl_framebuffer used when a window has been deleted, but there still may be rendering contexts attached to the gl_framebuffer object.
* | Merge branch 'origin' into glsl-compiler-1Brian2007-02-221-16/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/state.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/programopt.c src/mesa/shader/slang/slang_execute.c src/mesa/sources src/mesa/swrast/s_arbshader.c src/mesa/swrast/s_context.c src/mesa/swrast/s_span.c src/mesa/swrast/s_zoom.c src/mesa/tnl/t_context.c src/mesa/tnl/t_save_api.c src/mesa/tnl/t_vb_arbprogram.c src/mesa/tnl/t_vp_build.c src/mesa/tnl/t_vtx_eval.c
| * Merge branch 'vbo-0.2'Keith Whitwell2007-02-021-3/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/texcompress_s3tc.c src/mesa/tnl/t_array_api.c
| | * Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-1/+12
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Don't special-case FOG attribute initialization.Keith Whitwell2007-01-151-1/+0
| | | | | | | | | | | | | | | | | | | | Initial fog value was being set to {0,0,0,0}. This results in vector size 4, but isn't necessary. The regular {0,0,0,1} works fine.
| | * | merge current trunk into vbo branchAlan Hourihane2006-11-021-0/+11
| | | |
| | * | Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that ourKeith Whitwell2006-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | NV_vertex_program implementation has slightly incorrect aliasing behaviour. I think this is reasonable given the simplification and the fact that the mainstream ARB_vp continues to have the correct behaviour.
| * | | Override Const.CheckArrayBounds for Xserver in XMesaCreateContext().George Sapountzis2007-01-261-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This leaves one last XFree86Server ifdef in Mesa core. --- Bug 9285: misc glcore, xmesa cleanups ACKed by Ian Romanick.
| * | | Drop old (pre-AIGLX) GLcore interface.George Sapountzis2007-01-261-6/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The old GLcore interface was replaced in Xorg 7.1 with the addition of AIGLX, it is only used by DDX's which are known not to work with the new DIX glx code. --- Bug 9285: misc glcore, xmesa cleanups ACKed by Ian Romanick.
* | | Minor clean-ups, reformatting, comment changes.Brian2006-12-201-23/+24
| | |
* | | Fix shader object reference counting and hash table deallocation.Brian2006-12-201-10/+16
| | |
* | | Clean-up and re-org of the main GLSL object types.Brian2006-12-191-3/+0
| | | | | | | | | | | | | | | | | | | | | Use the gl_shader struct as it should be. Renamed gl_linked_program to gl_shader_program. Store both shaders and programs in the same hash table and use the Type field to distinguish them.
* | | Overhaul of GLSL API functions, dispatching, etc.Brian2006-12-191-8/+9
| | |
* | | Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-10/+51
|/ / | | | | | | New datatypes, constants, variables.
* | replace check for XFree86LOADER and IN_MODULE with XFree86Server (bug 9144)Brian Paul2006-11-271-1/+1
| |
* | delete shader objects when destroying shared context stateBrian Paul2006-11-181-0/+11
| |
* | Merge texmem-0-3-branch.Keith Whitwell2006-11-011-0/+4
| |
* | Added a few new ctx->Const. fields for shader-related limits.Brian Paul2006-11-011-0/+7
|/
* check if ctx->Driver.GetBufferSize==NULL and no-opBrian Paul2006-10-171-5/+6
|
* Added #if / #else / #endif around code related to framebuffer initializationBrian Paul2006-10-151-0/+20
| | | | to describe what should be changed in the drivers.
* resize buffers in MakeCurrentKeith Whitwell2006-09-221-0/+2
|
* Clean-up FEATURE_ARB_shader_objects #ifdefs. Bug 7492.Michal Krol2006-08-011-0/+6
|