summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_program.c
AgeCommit message (Collapse)Author
2008-01-15include pipe/draw/draw_context.hBrian
2008-01-14free stvp->draw_shaderBrian
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-10-30Use program serial numbers to avoid re-generating fragment programs for ↵Brian
glDrawPixels.
2007-10-27Move mesa_to_tgsi.[ch] to state_trackerBrian
2007-10-10remove unused varBrian
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-03Get rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAMZack Rusin
which is being hit all the time. Done by Keith really.
2007-09-28fix st_use_program()Brian
2007-09-28Instead of linked program pairs, keep a list of vertex programs translated ↵Brian
for each fragment program.
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-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-25some clean-up of ST_NEW_ shader flagsBrian
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-24Enable SSE2 for FS.michal
2007-08-25checkpoint in constant tracking reworkKeith Whitwell
2007-08-24check for USE_X86_ASM or SLANG_X86 in st_delete_program()Brian
2007-08-24Hook-up SSE2 to VS.michal
2007-08-09silence warningKeith Whitwell
2007-08-06New st_init_*_functions() to initialize the driver functions table.Brian
We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
2007-07-30disable ProgramStringNotify assertionBrian
2007-07-24added GL_FRAGMENT_PROGRAM_NV in st_new_program()Brian
2007-07-19Trigger tgsi compilation for fragment programs.Keith Whitwell
Not sure the generated program looks correct though...
2007-07-05Softpipe: import TGSI tree. Not hooked-up yet.michal
2007-06-14Renamed softpipe directories and files to something less confusing.Keith Whitwell
softpipe/state_tracker --> state_tracker/ softpipe/ --> pipe/ softpipe/generic --> pipe/softpipe/ I don't think pipe is a great name, but I disliked all the others too. Luckily it's fairly easy to rename with git, so this can be revisited later.