summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_vb_program.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_7_branch'Jakob Bornecrantz2010-01-141-1/+0
|\ | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
| * tnl: Remove unnecessary header from t_vb_program.c.Vinson Lee2010-01-121-1/+0
| |
* | Merge branch 'mesa_7_7_branch'Brian Paul2010-01-081-0/+7
|\ \ | |/ | | | | | | | | Conflicts: src/mesa/drivers/dri/i965/brw_wm_emit.c
| * tnl: set FOGC result to (f,0,0,1)Brian Paul2010-01-061-0/+7
| | | | | | | | Fixed FDO bug 23397.
* | tnl: Replace deprecated FogCoordPtr with AttribPtr[_TNL_ATTRIB_FOG]Eric Anholt2009-11-191-6/+2
| |
* | tnl: Replace deprecated ColorPtr[] with AttribPtr or new BackfaceColorPtr.Eric Anholt2009-11-191-4/+4
| |
* | tnl: Replace deprecated TexCoordPtr with AttribPtr[_TNL_ATTRIB_TEX*]Eric Anholt2009-11-191-1/+0
|/
* Merge branch 'outputswritten64'Ian Romanick2009-11-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
* Revert "Store clipping distance for user clip planes as part of vertex ↵Ian Romanick2009-10-221-15/+0
| | | | | | | | | | processing" This reverts commit f058b25881e08c9d89a33345e5c84e1357396932. This change is completely wrong in so many ways. When clip distances are generated as part of vertex processing, they must be interpolated to perform clipping. Geometric clipping goes right out the window.
* Store clipping distance for user clip planes as part of vertex processingIan Romanick2009-10-131-0/+15
| | | | | | | | | | | | | | Once the clipping distance is calculated and stored per vertex, the distances can be re-used when clipping is actually performed. This doesn't have any immediate benefit, but it paves the way for implementing gl_ClipDistance in vertex shaders and result.clip[] in vertex programs. This has not produces any oglconform regressions on my G31 system which uses software TNL. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: move call to init_c_cliptest() from enable.c to tnl module.Brian Paul2009-09-091-0/+2
| | | | Fixed gallium build breakage.
* mesa: Add support for ARB_depth_clamp.Eric Anholt2009-09-081-2/+4
| | | | | This currently doesn't include fixing up the cliptests in the assembly paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path.
* tnl: if NAN_CHECK is enabled, also assert that pos.x != 0Brian Paul2009-08-131-0/+3
|
* tnl: add some floating point sanity checks (disabled)Brian Paul2009-06-031-2/+25
|
* mesa: remove MAX_VERTEX_PROGRAM_ATTRIBSBrian Paul2009-05-221-1/+1
| | | | | Use MAX_VERTEX_GENERIC_ATTRIBS instead. No need for two #defines for the same quantity.
* swrast: do texture sampling/combining in floating pointBrian Paul2009-04-011-6/+1
| | | | | The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
* init machine->Samplers (fixes vertex program texture fetches)Brian Paul2008-07-011-0/+2
|
* New ctx->Driver.Map/UnmapTexture() functions for accessing textures from ↵Brian2007-11-291-0/+48
| | | | t_vb_program.c
* cleanups, commentsBrian2007-11-291-27/+28
|
* Move _mesa_load_tracked_matrices() from TNL module to prog_statevars.cBrian2007-11-291-93/+1
|
* fix position invariant vertex programs for sw-tnlRoland Scheidegger2007-11-151-52/+151
| | | | | | do the same math as for fixed function pipe, including user clip planes. (mostly resurrected from the dead t_vb_arbprogram.c code)
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-5/+5
| | | | of -I flags.
* changes to get DDX/DDY working againBrian2007-05-021-0/+2
|
* Enable texture sampling for vertex programs/shaders.Brian2007-04-171-11/+47
| | | | | | | 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.
* cleanups for t_vb_program.cRoland Scheidegger2007-04-171-13/+19
| | | | | | 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.
* unhook t_vb_arbprogram.c code - it's going awayBrian2007-04-161-0/+14
|
* init machine->StackDepth=0Brian2007-03-271-0/+3
|
* remove 'maxInst' parameter from _mesa_execute_program()Brian2007-02-251-2/+1
|
* remove unused 'element' parameter from _mesa_execute_program()Brian2007-02-251-1/+1
|
* s/attribs/results/Brian2007-02-251-17/+17
|
* Optimize the loop for copying output results.Brian2007-02-251-5/+12
|
* only copy used outputsBrian2007-02-251-3/+4
|
* Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated toBrian2007-02-241-1/+1
| | | | handle branch instructions, etc.
* expose _mesa_load_tracked_matrices()Brian2007-02-231-6/+8
|
* use new _mesa_execute_program() functionBrian2007-02-221-26/+153
|
* updated includesBrian2006-12-151-1/+2
|
* Checkpoint work for new GLSL compiler back-end.Brian2006-12-131-9/+14
| | | | | | | | | Among changes: Remove ctx->FragmentProgram._Active Remove _UseTexEnvProgram Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and _TnlProgram fields. Remove/disable old GLSL interpreter code.
* Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.Brian Paul2006-10-301-7/+7
| | | | | Massage nvvertexec.c code to work more like s_nvfragprog.c - another step toward unifying vertex/fragment program execution.
* a step toward moving run-time vertex program state out of GLcontextBrian Paul2006-10-101-4/+4
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-1/+1
| | | | "gl_" to match other structs.
* A number of vertex buffer fields like NormalPtr, FogCoordPtr, etc are reallyBrian Paul2006-06-141-8/+6
| | | | | | 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.
* remove some unneeded #includesBrian Paul2006-06-131-2/+1
|
* Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul2006-04-141-1/+1
| | | | | | in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
* Rename CLIP_ALL_BITS to CLIP_FRUSTUM_BITS to reflect the fact that the valueBrian Paul2006-04-061-1/+1
| | | | | only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex cull bit.
* GLSL fixes:Michal Krol2006-03-211-1/+1
| | | | | | | | | | | | | | | | | | - 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;
* Add ARB_vertex_shader stage just before render stage.Michal Krol2006-02-131-2/+5
| | | | If enabled, all other stages, except render, are disabled.
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-121-3/+3
| | | | | | Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
* Unify vertex/fragment program instuctions.Brian Paul2005-11-051-1/+1
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* Store compiled vertex program representations in a pointer in theKeith Whitwell2005-06-091-1/+2
| | | | | | | | | | | | | 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.
* Simplify the pipeline_stage structureKeith Whitwell2005-04-221-97/+10
| | | | | | | | | | - 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.