summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_vb_program.c
AgeCommit message (Collapse)Author
2009-04-01swrast: do texture sampling/combining in floating pointBrian Paul
The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
2008-07-01init machine->Samplers (fixes vertex program texture fetches)Brian Paul
2007-11-29New ctx->Driver.Map/UnmapTexture() functions for accessing textures from ↵Brian
t_vb_program.c
2007-11-29cleanups, commentsBrian
2007-11-29Move _mesa_load_tracked_matrices() from TNL module to prog_statevars.cBrian
2007-11-15fix position invariant vertex programs for sw-tnlRoland Scheidegger
do the same math as for fixed function pipe, including user clip planes. (mostly resurrected from the dead t_vb_arbprogram.c code)
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-05-02changes to get DDX/DDY working againBrian
2007-04-17Enable texture sampling for vertex programs/shaders.Brian
This is a bit of a hack for now because the tnl module is using the swrast module to fetch texels. The texture fetch/filter code should probably be moved into the main/ module since it doesn't really depend upon other swrast code.
2007-04-17cleanups for t_vb_program.cRoland Scheidegger
use VertexProgram._Current instead of VertexProgram.Current in a few more places. Only fixup fogc and psiz in case this is really a nv program (others are fine if undefined), and fix this case up so the values actually get written.
2007-04-16unhook t_vb_arbprogram.c code - it's going awayBrian
2007-03-27init machine->StackDepth=0Brian
2007-02-25remove 'maxInst' parameter from _mesa_execute_program()Brian
2007-02-25remove unused 'element' parameter from _mesa_execute_program()Brian
2007-02-25s/attribs/results/Brian
2007-02-25Optimize the loop for copying output results.Brian
2007-02-25only copy used outputsBrian
2007-02-24Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated toBrian
handle branch instructions, etc.
2007-02-23expose _mesa_load_tracked_matrices()Brian
2007-02-22use new _mesa_execute_program() functionBrian
2006-12-15updated includesBrian
2006-12-13Checkpoint work for new GLSL compiler back-end.Brian
Among changes: Remove ctx->FragmentProgram._Active Remove _UseTexEnvProgram Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and _TnlProgram fields. Remove/disable old GLSL interpreter code.
2006-10-30Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.Brian Paul
Massage nvvertexec.c code to work more like s_nvfragprog.c - another step toward unifying vertex/fragment program execution.
2006-10-10a step toward moving run-time vertex program state out of GLcontextBrian Paul
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-06-14A number of vertex buffer fields like NormalPtr, FogCoordPtr, etc are reallyBrian Paul
just aliases for members of the VB->AttribPtr[] array. Begin replacing FogCoordPtr with VB->AttribPtr[_TNL_ATTRIB_FOG], and similarly for NormalPtr, TexCoordPtr, PointSizePtr, etc.
2006-06-13remove some unneeded #includesBrian Paul
2006-04-14Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul
in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
2006-04-06Rename CLIP_ALL_BITS to CLIP_FRUSTUM_BITS to reflect the fact that the valueBrian Paul
only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex cull bit.
2006-03-21GLSL fixes:Michal Krol
- generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
2006-02-13Add ARB_vertex_shader stage just before render stage.Michal Krol
If enabled, all other stages, except render, are disabled.
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-06-09Store compiled vertex program representations in a pointer in theKeith Whitwell
vertex_program struct. Allow switching between regular and vertex_program implementations of fixed function TNL with the MESA_TNL_PROG environment var (previously this required recompilation). Ensure program compilation only references program data, not the wider context. This means that compiled programs only need to be invalidated when the program string changes, not on other state changes.
2005-04-22Simplify the pipeline_stage structureKeith Whitwell
- remove input/output fields, input tracking removed. - remove state fields, the validate function now called on every statechange. - add an explicit 'create' function. Add in code to build vertex program to implement current t&l state. Still disabled, but turn on with a #define in t_vp_build.h.
2005-03-02use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4VAlan Hourihane
2005-02-10mesa-tnl-0-to-NULL.patch from Jeff MuizelaarKeith Whitwell
2004-04-23Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragmentBrian Paul
program is enabled AND the currently bound program is valid. Check _Enable instead of Enable to prevent things from blowing up when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually defining a program.
2004-04-21Fix up some assorted issues with initialization of vertex program registers.Brian Paul
Some need to be set per-vertex, other per-primitive. Cleared that up. Only need to init temp/result registers if executing an NV vertex program.
2004-01-05Beef up t_vertex.c:Keith Whitwell
- cope with input vectors with size less than that of the emitted attribute. - cope with vertices with 'holes' inside and between vertices. Fix calculation of tnl->render_inputs to work with fp programs. Mirror VB->PointSizePtr in VB->AttribPtr so that it can work with t_vertex.c. Transition swrast_setup/ to use t_vertex.c to build swrast vertices.
2004-01-05Re-commit t_vertex.[ch] changes to fd.o server.Keith Whitwell
2003-11-24Merge vtx-0-2-branchKeith Whitwell
2003-09-17More work on ARB_vertex_buffer_object.Brian Paul
Use GLubyte * instead of void * for gl_client_array->Ptr to simplify upcoming pointer arithmetic changes.
2003-08-17Re-org of register files for vertex/fragment programs. Will be easier toBrian Paul
hook in global state references, etc. for ARB programs.
2003-04-07initialize attribute vectors to 4 componentsBrian Paul
2003-04-07fix color array mixupBrian Paul
2003-04-03more memory-related fixesBrian Paul
2003-03-01Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]Brian Paul
Moved type conversion and interpolation macros into macros.h Updated all the files that used to include mmath.h
2003-01-14First batch of code for GL_NV_fragment_program.Brian Paul
Re-org of some GL_NV_vertex_program code. Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
2002-10-31fix the occasional missing triangle bugBrian Paul