summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_context.c
AgeCommit message (Collapse)Author
2008-06-20gallium: always need st_init-blit()Brian Paul
2008-06-20gallium: assorted FEATURE testsBrian Paul
2008-06-18gallium: more FEATURE_x testsBrian Paul
2008-06-18gallium: added st_get_proc_address()Brian Paul
2008-06-18gallium: added FEATURE_x testsBrian Paul
2008-06-09gallium: include scissor.hBrian Paul
2008-05-20gallium: move vertex/fragment program unbindingBrian Paul
2008-05-20gallium: clean-up glDraw/CopyPixels shaders when destroying contextBrian Paul
2008-05-16gallium: release textures during context tear-down (fix mem leak)Brian Paul
2008-05-06gallium: implement full reference counting for vertex/fragment programsBrian
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...
2008-04-30gallium: use new buffer wrapper functions in p_inlines.hBrian Paul
This allows us to remove most of the direct references to winsys in the state tracker.
2008-04-24gallium: use cso_destroy_vertex/fragment_shader() functionsBrian Paul
Also, rearrange the st_destroy_context() code a bit to prevent some invalid/NULL ptr derefs during tear-down.
2008-04-17gallium: reorder some of the destroy context codeBrian Paul
2008-04-09gallium: remove unneeded st->haveFramebufferSurfaces field.Brian Paul
2008-04-03gallium: streamline viewport/raster/shader state for clearing with quadsBrian Paul
Move init of these items to new st_init_clear().
2008-03-28gallium: implement a glBitmap cacheBrian
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.
2008-03-25gallium: disable the selection/feedback draw module's options for wide ↵Brian Paul
lines, points, etc. Disable paths that would convert points/lines to tris as that upsets selection, feedback, rastpos.
2008-03-24gallium: free bitmap fragment shaders, misc clean-upBrian Paul
2008-03-20gallium: glBitmap code now separe from glDraw/CopyPixels codeBrian
Also, glBitmap now re-uses the vertex buffer to avoid frequent allocations/ deallocations. And, use u_simple_shaders utility code.
2008-03-20gallium: use the utility pasthrough shadersBrian
This avoids the Mesa->TGSI translation step.
2008-03-18gallium: plug in and init GL_EXT_framebuffer_blit function/extensionBrian
2008-03-11gallium: rework CSO-related code in state trackerBrian
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...
2008-02-15Code reorganization: update build.José Fonseca
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.
2008-02-08gallium: initial implemenation of auto mipmap generation in state trackerBrian
Use hardware rendering to compute/render mipmap levels. The fallback path (which will be used for non-renderable texture formats) isn't working yet.
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
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.
2008-01-01unref const buffers during context destroyBrian
2007-12-19Fix problem with initial viewport/scissor size.Brian
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().
2007-12-07Move _mesa_init_glsl_driver_functions() into shader_api.cBrian
This allows making a bunch of functions static, and removes a state tracker dependency on driverfuncs.c
2007-12-07Eliminate struct pipe_region.Michel Dänzer
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
2007-11-07init glsl functions in st_init_driver_functions()Brian
2007-11-05Determine GL extensions/limits by making pipe queries.Brian
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...
2007-11-05Remove some temporary state tracker context/framebuffer_create functions.Brian
2007-11-05Update xlib driver to use newer state tracker context/framebuffer functions.Brian
XMesaContext has an st_context * which contains a mesa context.
2007-11-05comments, tweaksBrian
2007-11-05move st_create_framebuffer() to new st_framebuffer.c fileBrian
2007-11-05Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()Brian
2007-11-01Sketch out new create/destroy context functions which create/wrap a Mesa ↵Brian
context.
2007-11-01remove dead codeBrian
2007-11-01remove unneeded tnl stuffBrian
2007-10-31Lift VBO/tnl stuff up out of driversBrian
2007-10-31plug st_invalidate_state() into ctx->Driver.UpdateStateBrian
Start lifting Mesa stuff up out of winsys/driver code.
2007-10-30Use program serial numbers to avoid re-generating fragment programs for ↵Brian
glDrawPixels.
2007-10-30added pixel_transfer_cacheBrian
2007-10-18Alternate CopyPixels path based on get/put_tile().Brian
For some drivers (like Xlib) it's not possible to treat the front/back color buffers as pipe_regions. So pipe->region_copy() won't work. Added a new state tracker field indicating if we can use regions for colorbuffer accesses. This should probably be re-considered someday...
2007-10-14Added accum function/files.Brian
2007-09-25Disable vertex shader fog, compute fog in fragment shader.Brian
2007-09-18move cso cache to the pipe directoryZack Rusin
2007-09-18Implementing a better hash, removing state_tracker dependency from the cache.Zack Rusin
Replacing mesa's main hash with one that handles collisions, moving state_tracker related caching to the state tracker to keep cso cache independent of it. Cleanups.
2007-09-18First stab at immutable state objects (create/bind/delete)Zack Rusin
We want our state objects to be immutable, handled via the create/bind/delete calls instead of struct propagation. Only implementing the blend state to see how it would look like and work.
2007-09-17Plug in selection/feedback code.Brian
Not quite finished yet. Selection/feedback are done with a private instance of the 'draw' module in the state tracker. Not quite all the draw context's state is set yet, namely vertex format info. Hold off on that for a bit...