summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_context.h
AgeCommit message (Collapse)Author
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-20Checkpoint: vertex attribute clean-up.Brian
Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
2007-09-18Convert shader to an immutable state object.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-30In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors ↵Brian
to cpy. One less dependency on the TGSI_ATTRIB_x flags. This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
2007-08-23Use vertex_info struct for softpipe - lots of clean-up.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-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-16Begin added vertex shader state/support.Brian
Renamed pipe_fs_state to pipe_shader_state since it can be used for both vertex and fragment shader info.
2007-08-15Remove mesa include directories, be stricter about include paths.Keith Whitwell
2007-08-15added state funcs for vertex buffer/element infoBrian
2007-08-14Continue reducing dependencies on core mesa include files.Keith Whitwell
Mainly down to the support for legacy TNL processing now.
2007-08-07s/pipe_texture_object/pipe_mipmap_tree/, drop st_texobj.cBrian
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-07-27Maintain cliprect (scissor) info in sp_state_derived.c.Brian
The cliprect depends on the scissor rect (if enabled), otherwise the drawing surface bounds.
2007-07-25Implement line stippling.Brian
Also added draw_stage::reset_line_stipple(). There may be a better way of doing that though.
2007-07-13Implement AA points and AA coverage application in quad pipeline.Brian
2007-07-13Added basic occlusion countingBrian
2007-07-12Add a quad 'bufloop' stage to handle glDrawBuffer(GL_FRONT_AND_BACK).Brian
This removes the notion of multiple color buffers from all other stages. Will need a bit more work when shaders with multiple render targets arrive.
2007-07-12Rename prim_stage -> draw_stageBrian
2007-07-12Added colormask, dither, multisample state. Implement colormasking stage.Brian
2007-07-11Implement polygon stipple state tracking, application.Brian
2007-07-10Begin hooking up stenciling.Brian
2007-07-10commentsBrian
2007-07-09Rename G_NEW_* tokens to SP_NEW_*Brian
2007-07-09New 'draw' module for primitive drawing (clipping, culling, etc).Brian
2007-07-03added blend_colorBrian
2007-07-02rename a few structs (use _state suffix consistantly), reorder/sort fields ↵Brian
in some structs
2007-06-29s/G_CONTEXT_H/SP_CONTEXT_H/Brian
2007-06-26consolidate point/line state into pipe_setup_stateBrian
2007-06-22initial texture object, texture format codeBrian
2007-06-22more texture sampler workBrian
2007-06-21alpha test and misc changesBrian
2007-06-20checkpoint: implement z/depth testingBrian
2007-06-20Remove dependency on vf.h in public headersKeith Whitwell
2007-06-20update includes (s/tile/quad/)Brian
2007-06-20Initial implementation of a software pipeline for quad rasterization ↵Brian
(fragment ops). This is very much like the clipper/setup pipeline for primitives.
2007-06-20Initial work for glClear(), clear color state.Brian
2007-06-19hook up point stateBrian
2007-06-19Re-org of surface/framebuffer state.Brian
We should be able to render to any depth/format of X window now.
2007-06-18Added alpha test state.Brian
2007-06-15framebuffer stateBrian
2007-06-15initial framebuffer stateBrian
2007-06-14Renamed softpipe directories and files to something less confusing.Keith Whitwell
softpipe/state_tracker --> state_tracker/ softpipe/ --> pipe/ softpipe/generic --> pipe/softpipe/ I don't think pipe is a great name, but I disliked all the others too. Luckily it's fairly easy to rename with git, so this can be revisited later.