aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_context.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer2009-03-041-1/+0
|
* gallium: Unify reference counting.Michel Dänzer2009-03-041-1/+1
| | | | | | | | | | | | | | The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
* gallium: include st_cb_viewport.h to silence warningBrian Paul2009-02-231-0/+1
|
* gallium: add winsys interface for viewport changes to support DRI2Alan Hourihane2009-02-231-0/+1
|
* mesa: use new ST_CALLOC_STRUCT() macro in gallium state trackerBrian Paul2009-02-121-1/+1
|
* mesa: consistantly use mesa memory-functions in gallium state trackerBrian Paul2009-02-121-2/+2
| | | | | Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
* st: build fixAlan Hourihane2009-01-091-1/+0
|
* gallium: clean-up/fix msaa override in state trackerBrian Paul2008-09-171-0/+15
|
* gallium: move _vbo_DestroyContext() callBrian Paul2008-09-161-2/+2
| | | | Call it before freeing core Mesa state to avoid references to freed buffer objects.
* gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca2008-09-031-1/+1
| | | | | We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
* gallium: do a proper implementation of GL_OES_read_formatBrian Paul2008-08-191-0/+2
| | | | | Examine the currently bound color buffer's format to see if there's a good format/type match.
* mesa: Call pipe->destroy on context destruction for all platforms.José Fonseca2008-08-191-3/+0
|
* gallium: use a default texture in update_textures(), update_samplers() when ↵Brian Paul2008-08-141-0/+5
| | | | | | | needed The default texture is used when the current fragment shader has texture sample instructions but the user has not provided/bound a texture.
* gallium: more context clean-upBrian Paul2008-08-121-0/+6
|
* gallium: Temporary workaround for mismatched pipe create and pipe destroyJonathan White2008-07-211-0/+3
|
* gallium: check for FEATURE_feedback and FEATURE_drawpix when creating/using ↵Brian Paul2008-07-101-0/+4
| | | | the aux draw module
* gallium: always need st_init-blit()Brian Paul2008-06-201-4/+0
|
* gallium: assorted FEATURE testsBrian Paul2008-06-201-1/+9
|
* gallium: more FEATURE_x testsBrian Paul2008-06-181-1/+5
|
* gallium: added st_get_proc_address()Brian Paul2008-06-181-0/+9
|
* gallium: added FEATURE_x testsBrian Paul2008-06-181-2/+12
|
* gallium: include scissor.hBrian Paul2008-06-091-0/+1
|
* gallium: move vertex/fragment program unbindingBrian Paul2008-05-201-3/+3
|
* gallium: clean-up glDraw/CopyPixels shaders when destroying contextBrian Paul2008-05-201-0/+1
|
* gallium: release textures during context tear-down (fix mem leak)Brian Paul2008-05-161-0/+4
|
* gallium: implement full reference counting for vertex/fragment programsBrian2008-05-061-0/+3
| | | | | | Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test. Another memory bug involving shaders yet to be fixed...
* gallium: use new buffer wrapper functions in p_inlines.hBrian Paul2008-04-301-3/+1
| | | | This allows us to remove most of the direct references to winsys in the state tracker.
* gallium: use cso_destroy_vertex/fragment_shader() functionsBrian Paul2008-04-241-2/+9
| | | | | Also, rearrange the st_destroy_context() code a bit to prevent some invalid/NULL ptr derefs during tear-down.
* gallium: reorder some of the destroy context codeBrian Paul2008-04-171-4/+6
|
* gallium: remove unneeded st->haveFramebufferSurfaces field.Brian Paul2008-04-091-2/+0
|
* gallium: streamline viewport/raster/shader state for clearing with quadsBrian Paul2008-04-031-0/+1
| | | | Move init of these items to new st_init_clear().
* gallium: implement a glBitmap cacheBrian2008-03-281-0/+1
| | | | | | | The bitmap cache attempts to accumulate a series of glBitmap calls in a buffer to effectively render a whole bunch of bitmaps at once. The cache can be disabled, if needed, by setting UseBitmapCache=GL_FALSE.
* gallium: disable the selection/feedback draw module's options for wide ↵Brian Paul2008-03-251-0/+8
| | | | | | | lines, points, etc. Disable paths that would convert points/lines to tris as that upsets selection, feedback, rastpos.
* gallium: free bitmap fragment shaders, misc clean-upBrian Paul2008-03-241-0/+1
|
* gallium: glBitmap code now separe from glDraw/CopyPixels codeBrian2008-03-201-2/+5
| | | | | Also, glBitmap now re-uses the vertex buffer to avoid frequent allocations/ deallocations. And, use u_simple_shaders utility code.
* gallium: use the utility pasthrough shadersBrian2008-03-201-0/+1
| | | | This avoids the Mesa->TGSI translation step.
* gallium: plug in and init GL_EXT_framebuffer_blit function/extensionBrian2008-03-181-0/+5
|
* gallium: rework CSO-related code in state trackerBrian2008-03-111-2/+7
| | | | | | | | | | Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
* Code reorganization: update build.José Fonseca2008-02-151-2/+2
| | | | | | | | | Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
* gallium: initial implemenation of auto mipmap generation in state trackerBrian2008-02-081-0/+2
| | | | | | Use hardware rendering to compute/render mipmap levels. The fallback path (which will be used for non-renderable texture formats) isn't working yet.
* gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell2008-01-251-1/+2
| | | | | | | | | | | Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
* unref const buffers during context destroyBrian2008-01-011-0/+10
|
* Fix problem with initial viewport/scissor size.Brian2007-12-191-0/+14
| | | | | | | | | | | If an app never called glViewport, the viewport size was always 0 by 0 pixels. Now pass initial size to st_create_framebuffer() and initialize the viewport and scissor bounds in st_make_current(). This could also be fixed by ensuring the gl_framebuffers passed to _mesa_make_current() were initialized to the right size. But that involves allocating the renderbuffers/pipe_surfaces earlier and that runs into some other issues ATM. Also remove obsolete createRenderbuffers param to st_create_framebuffer().
* Move _mesa_init_glsl_driver_functions() into shader_api.cBrian2007-12-071-1/+1
| | | | | This allows making a bunch of functions static, and removes a state tracker dependency on driverfuncs.c
* Eliminate struct pipe_region.Michel Dänzer2007-12-071-1/+1
| | | | | Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
* init glsl functions in st_init_driver_functions()Brian2007-11-071-0/+3
|
* Determine GL extensions/limits by making pipe queries.Brian2007-11-051-3/+5
| | | | | | The state tracker calls pipe->get_param() to determine the GL limits and which OpenGL extensions are supported. This is an initial implementation that'll probably change...
* Remove some temporary state tracker context/framebuffer_create functions.Brian2007-11-051-31/+25
|
* Update xlib driver to use newer state tracker context/framebuffer functions.Brian2007-11-051-0/+7
| | | | XMesaContext has an st_context * which contains a mesa context.
* comments, tweaksBrian2007-11-051-2/+8
|