summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_quad_fs.c
AgeCommit message (Collapse)Author
2007-10-24Cleanup some code.Zack Rusin
2007-10-24Implement the conversion and do the initial execution pass.Zack Rusin
2007-10-24Initial stab at LLVM integration.Zack Rusin
2007-10-22remove unused varBrian
2007-10-22Finish unifying the surface and texture tile caches.Brian
2007-10-18Corrected the file permissions in src/mesa/pipe.Oliver McFadden
2007-10-10minor optimization for color/z resultsBrian
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-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-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-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-24Enable SSE2 for FS.michal
2007-09-20remove #includes of tgsi_attribs.hBrian
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-18Convert shader to an immutable state object.Zack Rusin
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-08-24Fix fragment program color output mapping (0=depth, 1=color)Brian
2007-08-24Fixup include paths after renameKeith Whitwell
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-23For the time being, interpolate Z in shade_quad() rather in the shader.Brian
This was causing trouble for the i915 driver.
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-20move ALIGN16-related macros into p_compiler.hBrian
2007-08-16Silence warnings.michal
2007-08-15Add UsageMask to DECLARATION in TGSI.michal
Interpolate FS attributes in the shader. Do not copy WPOS in FS.
2007-08-15Cleanup, do not use fp_attr_to_slot[] mapping array.michal
2007-08-14Continue reducing dependencies on core mesa include files.Keith Whitwell
Mainly down to the support for legacy TNL processing now.
2007-08-14Implement texture cache with multiple, direct-mapped entries.Brian
2007-08-14tgsi_sampler->get_samples() now operates on a quad (returns 4 colors).Brian
Lambda/level-of-detail is also computed in get_samples() now.
2007-08-13Start breaking the #include dependencies between pipe drivers and mesa.Keith Whitwell
Pipe drivers shouldn't really know much about mesa and certainly shouldn't be #including files from src/mesa/main and the like. I've also (in i915simple especially) moved over from GL types to more conventional int/unsigned usage. This probably isn't really the ultimate desired set of types to use - possibly C99 would be better. It may even be that a subset of the GL types is preferable.
2007-08-08initial lod/mipmap texture supportedBrian
2007-08-08fix qs->next testsBrian
2007-08-08add quad_stage::begin() funcsBrian
2007-08-08Add a quad_stage::begin() method to do per-primitive preparations (like ↵Brian
setting up samplers).
2007-08-07use new tex filtering codeBrian
2007-08-07checkpoint new tgsi_sampler_state structBrian
2007-08-06Use fp_attr_to_slot[].michal
2007-08-01Build libsoftpipe.aKeith Whitwell
Each pipe driver will build to a .a library, as these will optionally be included in the various DRI drivers (this will make more sense once there is at least one hardware driver...). Not strictly necessary for softpipe, but want to minimize the differences between it and actual hw implementations.
2007-07-27Avoid unnecessary input attrib copy by aligning exec_machine attribs.michal
2007-07-25rename some varsBrian
2007-07-25Fix pinterp() to compute 1 / FRAG_ATTRIB_WPOS.w Update comments too.Brian
2007-07-24Compute need_z and need_w properly and use the correct ↵Brian
const/linear/perspective interpolation in shade_quad().
2007-07-24Basic fragment programs run now.Brian
Handling of constants might change. For now, the st_fragment_program struct contains a pipe_constant_buffer (not a pointer).
2007-07-23Execute fs tokens.michal
Fix align128 bug.
2007-07-13commentsBrian
2007-06-25emit quad->outputs.depth[], hack need_zBrian
2007-06-20update includes (s/tile/quad/)Brian