aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_cb_clear.c
Commit message (Collapse)AuthorAgeFilesLines
* Some minor cleanups.Michel Dänzer2007-10-031-6/+5
|
* Instead of linked program pairs, keep a list of vertex programs translated ↵Brian2007-09-281-2/+2
| | | | for each fragment program.
* st_draw_vertices() no longer needs attribs[] array parameterBrian2007-09-251-5/+1
|
* Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian2007-09-251-2/+4
| | | | | | | | | | | | | | | | | | 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.
* reenable some clear code that was temporarily disabledBrian2007-09-211-4/+1
|
* Make the alpha test state a cso.Zack Rusin2007-09-211-2/+4
|
* Checkpoint: vertex attribute clean-up.Brian2007-09-201-1/+1
| | | | | Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
* Convert depth_stencil state to the new semantics.Zack Rusin2007-09-201-5/+4
|
* Switch fragment/vertex shaders to the new caching semantics.Zack Rusin2007-09-201-4/+4
| | | | | Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
* Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian2007-09-191-36/+9
| | | | | | | | 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.
* Convert the rasterizer cso to the new semantics.Zack Rusin2007-09-191-4/+4
| | | | | Basically make cso hold the driver specific struct, while managing the template.
* Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin2007-09-191-4/+4
| | | | | | 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.
* Finish up conversions of shaders to immutable objects.Zack Rusin2007-09-191-2/+2
| | | | | 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).
* Checkpoint: rework shader input/output register mapping.Brian2007-09-181-3/+18
| | | | | | | 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...
* Convert shader to an immutable state object.Zack Rusin2007-09-181-4/+8
|
* converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin2007-09-181-5/+7
| | | | state
* Combing depth and stencil objects and making them immutable.Zack Rusin2007-09-181-27/+24
| | | | | Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
* Implementing a better hash, removing state_tracker dependency from the cache.Zack Rusin2007-09-181-3/+2
| | | | | 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.
* First stab at immutable state objects (create/bind/delete)Zack Rusin2007-09-181-2/+5
| | | | | | | 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.
* code re-org, minor improvementsBrian2007-08-241-6/+58
|
* Checkpoint: new vertex/fragment attribute namingBrian2007-08-231-1/+2
| | | | | | | 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...
* Rework of shader constant buffers.Brian2007-08-221-2/+0
| | | | | They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.
* Set viewport state so viewport matches window dims.Brian2007-08-201-14/+32
| | | | trivial/readpixels.c works again.
* Update glClear and glDrawPixels code.Brian2007-08-201-4/+9
| | | | | Since they're implemented by drawing quadrilaterals (and go through vertex transformation and viewport mapping) we don't have to invert Y coords.
* Start to remove the temporary draw_vb() and draw_vertices() code.Brian2007-08-201-4/+25
| | | | new st_draw_vertices() utility used by glClear and glDrawPixels
* Use simple st->pipe->clear() in more cases for depth/stencil clears.Brian2007-08-171-14/+17
|
* added assertions, disable debug outputBrian2007-08-171-0/+2
|
* make pass-through vertex shaderBrian2007-08-161-0/+54
|
* Begin added vertex shader state/support.Brian2007-08-161-1/+1
| | | | | Renamed pipe_fs_state to pipe_shader_state since it can be used for both vertex and fragment shader info.
* added PIPE_PRIM_x tokens (matching GL), use in a few placesBrian2007-08-151-1/+1
|
* added an assertionBrian2007-08-131-2/+4
|
* Y invert, clean-upBrian2007-08-101-82/+74
|
* commentsBrian2007-08-091-1/+3
|
* Checkpoint intel_renderbuffer removal.Brian2007-08-091-13/+22
| | | | | | Remove surface ptr from gl_renderbuffer. Use st_renderbuffer in most places. More clean-up.
* setup frag shader state: color pass-through programBrian2007-08-081-2/+62
|
* New st_init_*_functions() to initialize the driver functions table.Brian2007-08-061-9/+1
| | | | | We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
* trim #includesBrian2007-08-021-1/+0
|
* pipe->clear() now takes a surface, rather than color/depth/stencil flags.Brian2007-08-021-35/+239
| | | | | pipe->clear() only used to clear whole buffers (no scissor) w/out masking. Draw a colored quadrilateral in all other cases.
* setup more state for clear_with_quad()Brian2007-08-021-18/+31
|
* Implement new draw_vertices() path for simple vertex array drawing, use it ↵Brian2007-08-021-10/+57
| | | | for glClear.
* Remove references to accum buffers in softpipe.Keith Whitwell2007-08-021-7/+13
| | | | Also some minor clear fixes.
* sketch out clearing with quadsBrian2007-08-021-5/+79
|
* Reroute some clear functionality.Keith Whitwell2007-08-021-0/+89
Still require the intelClear() call to flush batchbuffers. That will be removed later...