summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_context.c
AgeCommit message (Collapse)Author
2007-10-27Call quad stage destructors.michal
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-10-25Move the get/put_tile() functions to pipe_context.Brian
The _rgba versions are temporary until the state tracker is updated.
2007-10-22Finish unifying the surface and texture tile caches.Brian
2007-10-20init sp->sbuf_cache to avoid possible segfaultBrian
2007-10-20Convert Z/stencil ops to use cached tiles like colors.Brian
Also, quite a bit of re-org of the tile caches and surface mapping/unmapping. Leave surfaces mapped between primitives now.
2007-10-18remove old commentBrian
2007-10-18sp_context.c:255: error: 'false' undeclared (first use in this function)Oliver McFadden
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
2007-10-01fix a few vert/frag program items to get i915 driver going againBrian
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-28Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin
This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-25First attempt at building vertex buffers post-clip.Keith Whitwell
Build a buffer of contigous vertices and indices at the backend of our software transformation/clipping path. This will become the mechanism for emitting buffers of vertices to rasterization hardware. This is similar to but not the same as the post-transform vertex cache. In particular, these vertices are subject to clipping, culling, poly offset, etc. The vertices emitted will all be used by hardware. TODOs include the actual transformation to hardware vertex formats, moving this out of softpipe to somewhere more useful and allowing >1 primitive to share the generated VB.
2007-09-21Make the alpha test state a cso.Zack Rusin
2007-09-21Silence a few warnings.Zack Rusin
2007-09-19Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian
TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
2007-09-19Finish up conversions of shaders to immutable objects.Zack Rusin
Create/Delete calls should be split since in create we'll be compiling them so we want to know which one it is (vertex/fragment).
2007-09-18Convert shader to an immutable state object.Zack Rusin
2007-09-18Finishing up rename of the setup state to the rasterizer state.Zack Rusin
2007-09-18converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin
state
2007-09-18Combing depth and stencil objects and making them immutable.Zack Rusin
Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
2007-09-18Make sampler an immutable state object.Zack Rusin
Switch the sample to be an immutable state object.
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-11Implement query object interface.Brian
This replaces the temporary occlusion counter functions we had before. Added new ctx->Driver.WaitQuery() function which should block until the result is ready. Sketch out some code for vertex transformation feedback counters.
2007-09-10More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian
2007-08-22Rework of shader constant buffers.Brian
They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.
2007-08-20Checkpoint: remove more of the old draw_vb() code.Brian
2007-08-20Start to remove the temporary draw_vb() and draw_vertices() code.Brian
new st_draw_vertices() utility used by glClear and glDrawPixels
2007-08-20implement draw_elements()Brian
2007-08-19Fix some draw_arrays issues.Brian
We weren't mapping all the needed vertex array buffers. Move array state that was temporarily in draw_context to softpipe_context. Remove a bunch of dead code.
2007-08-16Remove many dependencies on mesa headers.Brian
To build with mesa, need -DMESA in makefile/config file.
2007-08-16misc changes to support vertex shaders (disabled by default)Brian
2007-08-15Hook in new draw_arrays() code, disabled for now.Brian
2007-08-14Continue reducing dependencies on core mesa include files.Keith Whitwell
Mainly down to the support for legacy TNL processing now.
2007-08-13map stencil buffer tooBrian
2007-08-10Move string functions to state_tracker, add queries to pipe, winsys.Keith Whitwell
2007-08-10use winsys supported_formats() querykeithw
2007-08-10added pipe->max_texture_size() query, use it in st_drawpixels()Brian
2007-08-10Lift common winsys functions into pipe's new p_winsys.Keith Whitwell
2007-08-10Handle glFlush/glFinish through the state tracker.Keith Whitwell
2007-08-09added null ptr checksBrian
2007-08-09Add flush/finish functionality to pipe.Keith Whitwell
Not sure if finish() is the right interface yet.
2007-08-07map/unmap texturesBrian
2007-08-07sketch out new pipe surface/sampler typesBrian
2007-08-06added softpipe_mipmap_tree_layoutBrian
2007-08-06Add pipe buffer managment functions.Keith Whitwell
The state_tracker driver needs these to implement, eg. pixel buffer objects, vertex buffer objects.
2007-08-05Add a new interface between softpipe and the window system / buffer manager.Keith Whitwell
This interface is defined by softpipe and any window system (eg i915pipe) wishing to use softpipe is required to implement the interface. Currently the interface is all about buffer management. Generalizing, each pipe driver will advertise an interface in a similar spirit to this, and again any window system driver wishing to use that rendering pipeline will have to implement the interface it defines. It clearly isn't a one-way street however, as softpipe could just do its own buffer management with malloc. The interaction with a buffer manager is desired to allow us to exercise the hardware swapbuffers functionality of the i915pipe driver, and also to get a feel for the way hardware drivers which really need a buffer manager will work.
2007-08-02added pipe->supported_formats()Brian
2007-08-02Implement new draw_vertices() path for simple vertex array drawing, use it ↵Brian
for glClear.