summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_context.c
AgeCommit message (Collapse)Author
2006-10-25Previously, if a fragment program referenced fragment.fogcoord but theBrian Paul
program didn't use the ARB_fog_linear option, the fragment program's fragment.fogcoord register wasn't loaded properly.
2006-06-14Rename _TNL_ATTRIB_ATTRIBUTE* to _TNL_ATTRIB_GENERIC*Brian Paul
2006-06-06prevent run_arb_vertex_program from running tnl programs unless ↵Aapo Tahkola
ctx->_MaintainTnlProgram is set
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
2006-04-11More GLSL code:Michal Krol
- use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
2005-12-06C++ fixes, mostly casts (Stephane Conversy)Brian Paul
2005-11-22Make sure tnl->_DoVertexFog is kept uptodate. Fixes fog in i915Keith Whitwell
driver.
2005-11-05remove unneeded #includesBrian Paul
2005-11-01Fix segmentation fault in _tnl_ProgramCacheDestroy().Aapo Tahkola
2005-09-16use mesa import wrappers, bug 4468Brian Paul
2005-09-14Remove _tnl_MakeCurrent() and the unused ctx->Driver.MakeCurrent() callback.Brian Paul
2005-06-27include t_vp_build.hBrian Paul
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-05-10Update for FragmentProgram._ActiveKeith Whitwell
2005-04-26tweak previous fog/fragment program fixBrian Paul
2005-04-26enable fog render input if fragment program fog option setBrian Paul
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-04-15Reverted the last change back to fix bug 3035Ben Crossman
2005-04-14A few getenv() that werent using the mesa wrapper versionBen Crossman
2005-02-10mesa-tnl-0-to-NULL.patch from Jeff MuizelaarKeith Whitwell
2004-08-25Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul
1015696)
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-05protected all codegen behind AllowCodegenDaniel Borca
2004-03-29First round of codegen for t_vtx_api.c -- ie the Begin/Vertex/End code.Keith Whitwell
Enable with env var: MESA_CODEGEN=t.
2004-02-24turns out we probably need a _tnl_allow_pixel_fog() function afterallBrian Paul
2004-02-17A bit of an overhaul of the fog code.Brian Paul
glFogCoord didn't always work reliably. ARB fragment program fog options work now. Per-fragment fog computations are now perspective corrected.
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-12-13call _ae_destroy_context() and _ae_invalidate_state() from the proper placesBrian Paul
2003-11-24Merge vtx-0-2-branchKeith Whitwell
2003-06-05Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick
2003-04-08Added ctx->Texture._EnabledCoordUnits bitfield.Brian Paul
Fixed some vertex array / vertex program glitches with glDrawElements. Fixed some fragment program runtime bugs. Non-trivial Cg programs are running now.
2003-02-04added a comment for _tnl_need_projected_coords()Brian Paul
2002-10-29updated email addressesBrian Paul
2002-10-24Header file clean-up:Brian Paul
1. Remove all.h and PC_HEADER junk. 2. Rolled mem.c and mem.h into imports.c and imports.h 3. Include imports.h instead of mem.h Restore _mesa_create/initialize_context() to be like they were in 4.0.4 New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
2002-08-21replace Current.Color with Current.Attrib[VERT_ATTRIB_COLOR0]Brian Paul
2002-08-21update colormaterial state on swtcl wakeupKeith Whitwell
2002-04-19pass context pointer to _tnl_free_immediate(), removed backref pointerBrian Paul
2002-04-09bring in changes from dri tcl branchKeith Whitwell
2002-02-13More suport for t&l driversKeith Whitwell
Fix GLuint compare bugs Fix RESET_STIPPLE calls
2001-12-18Replace old matrix stacks with new code based on struct matrix_stack.Brian Paul
Moved vertex program hash table into shared context state. Implemented reference counting for vertex programs. Replaced tnl "ProjectedClip" with "Ndc" (normalized device coordinates).
2001-07-19Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma)Brian Paul
2001-07-12Rename some of the tnl->Driver.* functions to tnl->Driver.Render.*, to make itKeith Whitwell
clear that these are owned by t_vb_render.c. Make swrast_setup opaque - it now hooks itself directly into tnl->Driver.Render.*. Add a _swsetup_Wakeup() call that does this. Update X11 (tested), osmesa and FX drivers for this change. FX compiles but is probably broken as the changes there are large. It was the only remaining driver that used the internal _swsetup_ functions for interp and copy_pv. This usage has been replaced with code from the DRI tdfx driver.
2001-06-28restore normal length optimization in dlistsKeith Whitwell
2001-06-04Adaptor code that lets tnl convert compiled (display list) cassettes backKeith Whitwell
to glVertex() type calls. Allows driver-supplied tnl modules to avoid fallback on glCallList inside begin/end pairs. Still a little buggy...
2001-05-11Clean up translation of array elements, copying of elts in pure-eltKeith Whitwell
cassettes. Fixes problem with isosurf/compiled-array-elt/strips.
2001-05-09fix possible segfault on destroy contextKeith Whitwell
2001-03-19Split driver struct into swrast/tnl/core components.Keith Whitwell
2001-03-12Consistent copyright info (version number, date) across all files.Gareth Hughes
2001-03-11Clean up install, restore for exec vtxfmts.Gareth Hughes