summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe
AgeCommit message (Collapse)Author
2007-10-10fix softpipe_clear() to handle ps->offset!=0 (such as when rendering to ↵Brian
texture and level!=0)
2007-10-10free/unreference pipe_surface in get_texel()Brian
2007-10-10use pipe_region_reference() in softpipe_get_tex_surface() to fix refcount errorBrian
2007-10-09Pack fragment program outputs to be consistant with vertex programs.Brian
Previously, output[0] was always Z and output[1] was color. Now output[0] will be color if Z is not written. In shade_quad() use the semantic info to determine which quantity is in which output slot.
2007-10-03Add outputs_written bitfield to pipe_shader_state, use it to determine if ↵Brian
fragment shader writes Z.
2007-10-03Move XSTDCALL definition to p_compiler.hBrian
2007-10-03handle frag progs that write ZBrian
2007-10-03added s8z24_get_tile()Brian
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-03In vertex shaders also expect the template to be stack allocatedZack Rusin
structure so allocate a private copy of it.
2007-10-03Make softpipe behave more like a real driver by always allocating somethingZack Rusin
in the state functions.
2007-10-02Implement/use fragment kill resultsBrian
2007-10-02Move tgsi machine state init/allocations so they're done less frequently.Brian
This, plus expanding all instructions ahead of time, seems to have improved the performance of program execution by 8x or so.
2007-10-01fix a few vert/frag program items to get i915 driver going againBrian
2007-09-28Use texture->first_level, not 0, when not mipmapping.Brian
Fixes crash when GL_BASE_LEVEL!=0. Also, remove old assertion.
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-27reduced debugkeithw
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-27restore primitive trimming in sp_draw_arrays.ckeithw
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-26added a8r8g8b8_put_tile()Brian
2007-09-26s/_mesa_copy_rect/copy_rect/Brian
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-24Enable SSE2 for FS.michal
2007-09-21fix some post-transform vertex layout issues (bcolors, psize emitted lastBrian
2007-09-21Fix up some point size breakage. Start on fogcoord too.Brian
2007-09-21Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.Brian
2007-09-21Make the alpha test state a cso.Zack Rusin
2007-09-21Silence a few warnings.Zack Rusin
2007-09-20Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.Brian
Still need to produce decl instructions for vertex shaders...
2007-09-20remove #includes of tgsi_attribs.hBrian
2007-09-20checkpoint: TGSI_ATTRIB_x tokens no longer usedBrian
2007-09-20Checkpoint: vertex attribute clean-up.Brian
Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
2007-09-20Fix failover state binding and convert the sampler to use the newZack Rusin
state constant state object semantics.
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-19Avoid redundant reallocation of the template.Zack Rusin
cso already allocated the template for us. Returning 0 means we have no driver specific representation and just want the template on the bind.
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-18Fix some issues with perspective-corrected interpolation.Brian
In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match post-transform vertex info convention). More to be done there... In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide by zero happening in perspective_interpolation() tgsi_exec.c As it was, we were only getting perspective correction of texture coords used by the TGSI_TEX instruction since it does a homogeneous divide. Other coords/varyings were incorrect.
2007-09-18additional comments for tri_persp_coeff()Brian
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.