summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_program.c
AgeCommit message (Collapse)Author
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-12mesa: consistantly use mesa memory-functions in gallium state trackerBrian Paul
Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc. Still using CALLOC_STRUCT() at this point.
2009-01-02gallium: assorted state tracker fixes for > 8 texture samplersBrian Paul
2008-11-24mesa: pass shader centroid/invariant info through to the TGSI shaderBrian Paul
2008-11-06gallium: added st_print_shaders() function to help w/ debuggingBrian Paul
2008-09-26gallium: rename tgsi_translate_mesa_program() to st_translate_mesa_program()Brian Paul
2008-09-17gallium: fix fog vs. pointcoord attribute handling in mesa->TGSI conversionBrian Paul
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-08-18gallium: fix vertex program output translation/mapping bugBrian Paul
In some cases, the vertex program output's semantic info didn't match up with the fragment program's input semantic info. This info is now explicitly passed into the st_translate_fragment_program() function.
2008-08-11gallium: added commentBrian Paul
2008-07-28Merge tgsi/exec and tgsi/util directories.José Fonseca
2008-07-03gallium: move, increase ST_MAX_SHADER_TOKENSBrian Paul
2008-06-25mesa: point size arraysBrian Paul
2008-04-24gallium: use cso_destroy_vertex/fragment_shader() functionsBrian Paul
Also, rearrange the st_destroy_context() code a bit to prevent some invalid/NULL ptr derefs during tear-down.
2008-04-22gallium: st_translate_fragment_program() is void nowBrian Paul
The return value was never used.
2008-04-01handle IsPositionInvariant flagBen Skeggs
2008-03-22gallium: fix a few more shader-related mem leaksBrian
2008-03-13gallium: remove semantic info from pipe_shader_stateBrian Paul
Brian's patch to clean up the shader interfaces.
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-26gallium: remove input_map[] from pipe_shader_stateBrian
2008-02-15Code reorganization: update build.José Fonseca
Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
2008-02-12gallium: rename st_fragment_program's fs field to cso to match st_vertex_programBrian
2008-01-31gallium: fix problem in which texcoords and varying vars got mapped to the ↵Brian
same slot This fixes the glsl/bump.c and glsl/texdemo1.c programs
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-19new assertionsBrian
2007-12-18turn off TGSI_DEBUGBrian
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-07include tgsi_dump.hBrian
2007-11-23gallium: reorg tgsi directories.Michal Krol
2007-11-02Renaming llvmtgsi to gallivm. Taking first steps on the way to supportingZack Rusin
fragment shaders through llvm.
2007-10-29Refactor the LLVM code a bit.Zack Rusin
Move the CPU vertex shader execution code to the draw module, remove traces of LLVM from the state tracker, abstract execution engine for the purposes of the draw module.
2007-10-27Move mesa_to_tgsi.[ch] to state_trackerBrian
2007-10-24Add copyright headers and do some cleanups.Zack Rusin
2007-10-24Cleanup some code.Zack Rusin
2007-10-24Execution engine is a singleton, for now keep it in the pipe.Zack Rusin
2007-10-24Initial stab at LLVM integration.Zack Rusin
2007-10-10Merge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into ↵Brian
tgsi_translate_mesa_program().
2007-10-09Finish up decls for packed fragment program outputs.Brian
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-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-01fix a few vert/frag program items to get i915 driver going againBrian
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
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-28Revert "Use sse only if GALLIUM_SSE is defined"Zack Rusin
This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-25clean-up #includesBrian