summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_clear.c
AgeCommit message (Collapse)Author
2008-03-27gallium: Update calls to the simple shader functionsBrian
2008-03-20gallium: in clear_with_quad() check fb orientation, invert Y if neededBrian
2008-03-20gallium: create one vertex buffer and re-use, also enable bypass_clippingBrian
Quad clears should be a little more efficient now.
2008-03-20gallium: use the utility pasthrough shadersBrian
This avoids the Mesa->TGSI translation step.
2008-03-19gallium: implement CSO save/restore functions for use by meta operations ↵Brian
(blit, gen-mipmaps, quad-clear, etc) Also, additional cso_set_*() functions for viewport, framebuffer, blend color, etc. state.
2008-03-18gallium: restore additional state after clearing with quadBrian
2008-03-18gallium: use new color packing utility functionsBrian
2008-03-13gallium: for TEST_DRAW_PASSTHROUGH, pass inClipCoords=FALSE to ↵Brian
st_draw_vertices() When pass-through mode is fully supported we'll clean this up more.
2008-03-13gallium: add some temporary code for testing draw module vertex passthroughBrian
Set TEST_DRAW_PASSTHROUGH=1, run progs/trivial/clear-scissor
2008-03-12gallium: in clear_stencil_buffer() check surface format to determine stencil ↵Brian
clear value ... as we do for the Z and Z+stencil cases
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-28gallium: State tracker cleanups wrt clears.Keith Whitwell
2008-02-14gallium: Cleanups related to clears.Keith Whitwell
2008-02-12gallium: rename st_fragment_program's fs field to cso to match st_vertex_programBrian
2008-02-08gallium: added inClipCoords param to st_draw_vertices() to indicate coord ↵Brian
system of vertices Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
2008-01-28gallium: check if surface has defined status in check_clear_depth_with_quad()Brian
This was part of Keith's patch from Friday.
2008-01-14Fix problems with vertex shaders and the private draw module.Brian
The CSO returned by pipe->create_vs_state() can't be passed to the private draw module. That was causing glRasterPos to blow up. Add a 'draw_shader' field to st_vertex_program for use with the private draw module. Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
2007-12-17gallium: incorporate alpha state into depth_stencil state object.Keith Whitwell
2007-12-07Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian
This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
2007-12-07Replace "duplicate" formatsBrian
2007-12-05added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()Brian
2007-11-20initial support for PIPE_FORMAT_Z24_S8Brian
2007-11-08simplify depth_value(), return proper value for Z16 formatBrian
2007-11-07Float->uint conversion for PIPE_FORMAT_U_Z32 resulted in overflow in ↵Brian
depth_value(). Special-case it.
2007-10-27Move mesa_to_tgsi.[ch] to state_trackerBrian
2007-10-25silence warningBrian
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...