summaryrefslogtreecommitdiff
path: root/src/mesa/tnl
AgeCommit message (Collapse)Author
2005-08-09Decrement the context's refcounts on part-used storage structs onKeith Whitwell
context destroy. Fixes memory leak.
2005-08-06Follow suggestion by Aapo Tahkola to fix giant memory leak from forgetting ↵Vladimir Dergachev
to free the key when entry was already found (presumably a common case).
2005-07-22some GLuint idx -> GLint idx changesBrian Paul
2005-07-22Make the vertex program source register Index field a signed int sinceBrian Paul
relative addressing can be negative. Change some GLuint indexes to GLint in the t_vp_build.c file. Added PROGRAM_UNDEFINED token for initializing the register File field to avoid a gcc 4.0 warning.
2005-07-18Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick
generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
2005-07-15Check for null program->Parameters pointer in validate_vertex_program().Brian Paul
GL_NV_vertex_program programs can't directly reference GL state so this pointer is always NULL.
2005-07-15added commentsBrian Paul
2005-07-13Use the LDEXPF wrapper macro.Keith Whitwell
2005-07-13Wrap RESTORE_FPU/RND_NEG_FPU declarations with check for USE_SSE_ASM.Keith Whitwell
2005-07-10Add runtime compiled x87 implementations for most of the remainingKeith Whitwell
opcodes. When enabled via environment vars, gears runs and almost looks right but other apps are still quite buggy.
2005-07-01Use frexp on Windows; frexpf is not available.Karl Schultz
2005-07-01replace some free() calls with _mesa_free()Brian Paul
2005-06-30Add a set of predicate functions for testing matrices instead of directlyBrian Paul
testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
2005-06-28just code clean-ups and new commentsBrian Paul
2005-06-27include t_vp_build.hBrian Paul
2005-06-27added _tnl_ProgramCacheDestroy() prototypeBrian Paul
2005-06-27make create_new_program() staticBrian Paul
2005-06-21include light.h to silence warningBrian Paul
2005-06-19Define __FUNCTION__ as a preprocessor symbol in glheader.h if we're notBrian Paul
using GCC or VMS.
2005-06-14 Committing in .Jouk Jansen
OpenVMS updates Modified Files: Mesa/src/mesa/tnl/descrip.mms Mesa/src/mesa/tnl/t_vp_build.c ----------------------------------------------------------------------
2005-06-10remove debug printsKeith Whitwell
2005-06-10Allow the print opcode to compileKeith Whitwell
2005-06-10Fix typo in spot attenuationKeith Whitwell
2005-06-10Correct test for attenuation.Keith Whitwell
DISSASEM changes.
2005-06-10Fix colormaterial flag calculations.Keith Whitwell
Fix lighting alpha result.
2005-06-10Add notes about intended precision of opcodes.Keith Whitwell
Remove dead floating point twiddles. Fix bug translating MAD->MUL,ADD.
2005-06-09Fix a couple of bugletsKeith Whitwell
2005-06-09Another typoKeith Whitwell
2005-06-09Further clean up RoughApproxPow2 and disable the optimized version --Keith Whitwell
it's a very poor approximation.
2005-06-09Fix typo in RoughApproxPow2Keith Whitwell
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-06-09Build vertex programs using state from a 'state key' struct which isKeith Whitwell
distilled from the current state. Maintain a list of vertex programs for various different tnl states indexed by these state keys. This cuts down the number of vertex programs generated and means that time spent optimizing vertex programs for execution isn't wasted each time the state changes.
2005-06-08Turn off debugKeith Whitwell
2005-06-08Runtime generate sse/sse2 code for some vertex programs. ExperimentalKeith Whitwell
and only active when _TNL_FIXED_FUNCTION_PROGRAM is defined *and* the MESA_EXPERIMENTAL environment variable is set... Works for the arbfplight demo at least.
2005-06-08New arguments for sse_shufps()Keith Whitwell
2005-06-08Remove ARL opcode from interpreter.Keith Whitwell
Revert SEL opcode to MSK. Split out t_vb_arbprogram.h header file.
2005-06-08new fileKeith Whitwell
2005-06-07Initialize some variables.Keith Whitwell
2005-06-07Split out runtime assembly functions.Keith Whitwell
2005-06-07Simplify interpreted language:Keith Whitwell
- Expand operand argument specifiers so that all registers and parameters can be referenced directly. Remove old PAR/PRL instructions. - No 3 operand instructions, translate MAD -> MUL, ADD. (No room for 3 full operands in instruction struct). - Translate SWZ instructions into 1 or 2 reduced swizzles at compile time. - Add hardwired code for moving input and output values to/from the register file. Drop old INx, OUT instructions.
2005-05-24moved to windows build dirKarl Schultz
2005-05-20 Committing in .Jouk Jansen
Update openVMS compile support Modified Files: Mesa/progs/demos/descrip.mms Mesa/src/mesa/shader/slang/descrip.mms Mesa/src/mesa/tnl/descrip.mms ----------------------------------------------------------------------
2005-05-19Invalidate current fastpath on changes to attribute size or offset withinKeith Whitwell
the vertex. Use existing facilities to check for sse2 and enable when available. Turn on SSE/SSE2 codegen for t_vertex.c by default when USE_SSE_ASM is defined. Disable with "MESA_NO_CODEGEN=t".
2005-05-19Cope with the common 3ub and 1ub cases.Keith Whitwell
Fix a few typos. Note that sse_movss sets high dwords to zero when reading from memory. Fix a few related bugs.
2005-05-19Re-initialize viewport shadows each time.Keith Whitwell
2005-05-19Rename emit functions to reflect instruction set in use (ieKeith Whitwell
x86,sse,sse2,mmx). Add paths for sse+mmx vs. the initial version which assumed sse2 was available everywhere.
2005-05-18Remove old t_vertex.c codegen infrastructure, tie in new code.Keith Whitwell
Currently disabled, can enable with MESA_EXPERIMENTAL=t.
2005-05-18Fix a few typos, initialize p->identity.Keith Whitwell
2005-05-18Eliminate a couple of swizzles.Keith Whitwell
2005-05-18Generates working SSE code for gears under the swrast driver.Keith Whitwell