summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_quad_fs.c
AgeCommit message (Collapse)Author
2008-01-24disable usage of llvm in fragment shadersZack Rusin
it produces wrong results because it hasn't been adjusted to some new changes and it will just be in the way while changing llvm code to a different vector layout
2008-01-17Back-port miscellaneous fixes from internal branch (mostly portability fixes).José Fonseca
These are changes that are in our internal branch, but somehow were skipped so far. It was done using visual comparison of the branches -- it is likely that changes are being carried on the wrong way
2008-01-01free tgsi machine stateBrian
2007-12-14Don't always declare frag shader INPUT[0] as fragment position.Brian
We were doing this for the sake of softpipe and the tgsi intergrepter since we always need the fragment position and W-coordinate information in order to compute fragment interpolants. But that's not appropriate for hardware drivers. The tgsi interpreter now get x,y,w information from a separate tgsi_exec_vector variable setup by softpipe. The new pipe_shader_state->input_map[] defines how vert shader outputs map to frag shader inputs. It may go away though, since one can also examine the semantic label on frag shader input[0] to figure things out.
2007-12-13Add QuadX,Y fields to tgsi_exec_machine to pass quad's position to tgsi ↵Brian
interpreter. The tgsi linear/perspective attribute code now uses these values rather than input[0]. Need to update SSE path to take quad x,y as function params. Then, we can remove additional code.
2007-12-11Redo the way we pass arguments to the llvm.Zack Rusin
simply pass aligned arrays, they should cast to vectors without any problems. also remove unnecessary memset
2007-12-11Implement kilp and make it workZack Rusin
2007-12-11gallium: remove set_sampler_units interfaceKeith Whitwell
The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
2007-12-10gallium: remove unnecessary guards on qs->nextKeith Whitwell
2007-12-07Move struct softpipe_texture definition into sp_texture.hBrian
Also, added softpipe_texture() cast wrapper.
2007-12-06Hide texture layout details from the state tracker.Michel Dänzer
pipe->get_tex_surface() has to be used for access to texture image data.
2007-11-23gallium: reorg tgsi directories.Michal Krol
2007-11-16note problem with fragment coord Y orientationBrian
2007-11-02Cleanups.Zack Rusin
Remove some debugging output and try to make sure that Mesa compiles when configured without LLVM
2007-11-02Implement COS and CMP opcode.Zack Rusin
There's some weird rounding issue with COS that I can't figure out.
2007-11-02Add debugging ifdefs to make it less verboseZack Rusin
2007-11-02Get fragment shaders working on top of LLVM.Zack Rusin
Redo the entry points, get the output propagation correctly, interpolate the inputs before feeding into llvm for now.
2007-11-02Change the fragment shader signature to better match actualZack Rusin
arguments that we need there.
2007-11-02Add basic entry points for fragment shaders.Zack Rusin
2007-11-02Renaming llvmtgsi to gallivm. Taking first steps on the way to supportingZack Rusin
fragment shaders through llvm.
2007-10-29Make gallium compile in win32.Michal Krol
Use FREE, MALLOC, CALLOC, GETENV wrappers. Silence compiler warnings. Add proper copyrights.
2007-10-28Use FREE and MALLOC instead of free and malloc.Michal Krol
2007-10-27Use FREE instead of free. Fix newlines.michal
2007-10-27Enable SSE path.michal
2007-10-27Respect use_sse flag.michal
2007-10-27Add #ifs.michal
2007-10-27Enable SSE2 for fragment shaders.michal
2007-10-27Define destroy method called by softpipe's destructor.michal
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
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