summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_clear.c
AgeCommit message (Collapse)Author
2007-10-17remove #include vf.hBrian
2007-10-17Fix viewport Z scale/bias to get the right Z values from drawing the quad.Brian
2007-10-16use new st_clear_accum_buffer() functionBrian
2007-10-03Some minor cleanups.Michel Dänzer
2007-09-28Instead of linked program pairs, keep a list of vertex programs translated ↵Brian
for each fragment program.
2007-09-25st_draw_vertices() no longer needs attribs[] array parameterBrian
2007-09-25Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian
proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
2007-09-21reenable some clear code that was temporarily disabledBrian
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-20Convert depth_stencil state to the new semantics.Zack Rusin
2007-09-20Switch fragment/vertex shaders to the new caching semantics.Zack Rusin
Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
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-19Convert the rasterizer cso to the new semantics.Zack Rusin
Basically make cso hold the driver specific struct, while managing the template.
2007-09-19Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin
Drivers can now create whatever they want from the state template. We use cso_state object to store the template (necessary during lookups), and the driver data. Convert blend state to the new semantics.
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-18Checkpoint: rework shader input/output register mapping.Brian
This is a step toward removing TGSI_ATTRIB_ tokens. Basically, when translating Mesa programs to TGSI programs, pass in input and output register re-maps, plus interpolation info. There's some known breakage (cubemap.c) so more to be done...
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-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-08-24code re-org, minor improvementsBrian
2007-08-23Checkpoint: new vertex/fragment attribute namingBrian
Replace VF_ATTRIB_x with TGSI_ATTRIB_x When converting mesa programs to TGSI programs, also convert the InputsRead and OutputsWritten to a mask of TGSI_ATTRIB_ bits. Still need to do conversion for vertex programs...
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-20Set viewport state so viewport matches window dims.Brian
trivial/readpixels.c works again.
2007-08-20Update glClear and glDrawPixels code.Brian
Since they're implemented by drawing quadrilaterals (and go through vertex transformation and viewport mapping) we don't have to invert Y coords.
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-17Use simple st->pipe->clear() in more cases for depth/stencil clears.Brian
2007-08-17added assertions, disable debug outputBrian
2007-08-16make pass-through vertex shaderBrian
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-15added PIPE_PRIM_x tokens (matching GL), use in a few placesBrian
2007-08-13added an assertionBrian
2007-08-10Y invert, clean-upBrian
2007-08-09commentsBrian
2007-08-09Checkpoint intel_renderbuffer removal.Brian
Remove surface ptr from gl_renderbuffer. Use st_renderbuffer in most places. More clean-up.
2007-08-08setup frag shader state: color pass-through programBrian
2007-08-06New st_init_*_functions() to initialize the driver functions table.Brian
We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
2007-08-02trim #includesBrian
2007-08-02pipe->clear() now takes a surface, rather than color/depth/stencil flags.Brian
pipe->clear() only used to clear whole buffers (no scissor) w/out masking. Draw a colored quadrilateral in all other cases.
2007-08-02setup more state for clear_with_quad()Brian
2007-08-02Implement new draw_vertices() path for simple vertex array drawing, use it ↵Brian
for glClear.
2007-08-02Remove references to accum buffers in softpipe.Keith Whitwell
Also some minor clear fixes.
2007-08-02sketch out clearing with quadsBrian
2007-08-02Reroute some clear functionality.Keith Whitwell
Still require the intelClear() call to flush batchbuffers. That will be removed later...