summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
Commit message (Collapse)AuthorAgeFilesLines
* fix stupid bug in the optimized per-vertex fog generation codeRoland Scheidegger2007-02-141-1/+2
|
* optimize generated vertex programs a bitRoland Scheidegger2007-02-091-31/+30
| | | | | | | | Use new internal state to avoid per-vertex normalization of static spot direction vector. Use internal state for simpler per-vertex fog computations (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog). Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while there fix it up (RSQ instead of RCP). All untested...
* fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)Roland Scheidegger2007-02-051-19/+32
| | | | | | | | | ARB_vp requires vertex transformation to be invariant to fixed function tnl if the position_invariant option is used. So the same function needs to be used, otherwise z-fighting artifacts may happen with applications which rely on the results being really the same due to precision issues when dealing with floating point values (may not be a problem when using a non-optimizing compiler strictly following IEEE rules).
* Merge branch 'vbo-0.2'Keith Whitwell2007-02-0222-6907/+484
|\ | | | | | | | | | | | | Conflicts: src/mesa/main/texcompress_s3tc.c src/mesa/tnl/t_array_api.c
| * Use new rebase helper. Remove other rebase code.Keith Whitwell2007-01-301-70/+38
| |
| * Merge vbo_0_1_branchKeith Whitwell2007-01-164-3296/+0
| | | | | | | | Hopefully leaving behind the cruft generated by the CVS import.
| * Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-168-8/+3314
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
| * | Remove debug, reenable inplace splitting.keithw2007-01-151-7/+9
| | |
| * | Split too-large draw commands.Keith Whitwell2007-01-151-26/+102
| | | | | | | | | | | | | | | Use the vbo_split_ functionality to split incoming drawing command to fit within the fixed-size buffers used by software t&l module.
| * | Fix compiler warnings.Keith Whitwell2006-11-031-15/+29
| | | | | | | | | | | | Add missing code for translating non-GLuint elements.
| * | Fix type-conversion of incoming vertices.Keith Whitwell2006-11-021-4/+5
| | | | | | | | | | | | Fix mis-application of increment to pointer variable.
| * | merge current trunk into vbo branchAlan Hourihane2006-11-022-9/+10
| | |
| * | Respect array->Normalized flag.Keith Whitwell2006-11-021-15/+55
| | | | | | | | | | | | | | | Import edgeflag attribute to array of GLbooleans as expected by downstream code.
| * | missing fileKeith Whitwell2006-11-021-0/+305
| | |
| * | pickup structs from vbo.hKeith Whitwell2006-10-312-2/+2
| | |
| * | better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell2006-10-301-0/+2
| | |
| * | Changes for new vbo-building module.Keith Whitwell2006-10-2921-6893/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removed all the old immediate, array and display list code. - Remove references to the old array_cache module. - Added a _tnl_draw_prims() entrypoint. - Added a simplified data import facility for converting non-floating point data as required. Checkpoint commit - trivial/tri works.
* | | fixes for C++ warnings/errorsBrian2007-01-232-2/+3
| |/ |/|
* | check for target instead of program->Target in _tnl_program_string, avoids ↵Roland Scheidegger2006-11-291-1/+1
| | | | | | | | segfault if program is NULL
* | decrease the current vertex count by 1 if an uneven number of vertices is ↵Roland Scheidegger2006-11-221-0/+5
| | | | | | | | copied by _tnl_copy_vertices. Otherwise, since in this case it will copy an extra vertex to avoid problems with vertex order in the new buffer, one triangle will be drawn twice. This fixes bug #9062.
* | remove unneded call to _tnl_invalidate_state() in ↵Roland Scheidegger2006-11-221-4/+1
| | | | | | | | _tnl_need_projected_coords(). Connected to bug #9103, though that bug got fixed without this change too.
* | Set _NEW_LIGHT when materials are present in display lists also.Keith Whitwell2006-11-221-0/+1
| |
* | Move setting of _NEW_LIGHT to only occur when materials are present.Keith Whitwell2006-11-221-2/+1
| |
* | list header files in sources files (Dan Nicholson)Brian Paul2006-11-211-1/+16
| |
* | Make sure vbo's are mapped before accessing their contents inKeith Whitwell2006-11-161-0/+8
| | | | | | | | api_arrayelt.c. Reported by Haihao Xiang.
* | Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul2006-11-151-2/+2
| | | | | | | | | | _mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
* | signal _NEW_LIGHT in _tnl_copy_to_current()Brian Paul2006-10-311-0/+2
| |
* | 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.
* If DEBUG, check that all array indices really do fall in [start,end] inBrian Paul2006-10-261-1/+19
| | | | the DrawRangeElements() call. Warn the user if that's not true.
* Previously, if a fragment program referenced fragment.fogcoord but theBrian Paul2006-10-251-2/+3
| | | | | program didn't use the ARB_fog_linear option, the fragment program's fragment.fogcoord register wasn't loaded properly.
* Fix broken line clipping.Brian Paul2006-10-181-3/+8
| | | | | | | When both ends of the line were clipped, we were using the new v0 instead of the original v0 when computing the location of the second vertex. Thus, the second vertex's position was incorrect. Thanks to Heath Feather for finding a test case.
* Fix a dangerous use of ASSERT in an else-clause not enclosed in braces.Brian Paul2006-10-181-2/+4
| | | | We've been lucky if this hasn't been causing line rendering bugs.
* List of source (.c) files in each directory.Brian Paul2006-10-111-0/+31
| | | | | To be included by X.org Makefile.am files so that lists of files don't need to be hardcoded and frequently updated there.
* a step toward moving run-time vertex program state out of GLcontextBrian Paul2006-10-101-4/+4
|
* do not import arrays for generic arb attribs if the array is not enabled ↵Roland Scheidegger2006-10-071-2/+3
| | | | (same as for generic attribs for nv vp is already done). Since the requested stride is 16, otherwise the code would end up doing lots of unnecessary import work (in doom3, trans_4_GLfloat_4f_raw caused by that was by far the single most time-consuming function in the r200 driver, not importing the disabled arrays caused the cpu time spent in the driver to drop from 45% to 30%, though real-world gain was pretty minimal as it's not really cpu bound here in the first place).
* bring in active_sz mechanism from i965 driver. Fixes bug 8410Keith Whitwell2006-09-252-7/+17
|
* don't skip user clip plane clipping when the current vertex program is ↵Roland Scheidegger2006-09-221-1/+2
| | | | position invariant.
* just comments and const qualifiersBrian Paul2006-09-131-12/+11
|
* fix broken do_EXP()Brian Paul2006-09-131-7/+2
|
* only allow VERT_ATTRIB_MAX instead of _TNL_ATTRIB_MAX for inputs of vertex ↵Roland Scheidegger2006-09-072-2/+2
| | | | programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
* Remove XFree86 CVS keyword.Brian Paul2006-08-253-3/+0
|
* In _save_End(), set CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END ifBrian Paul2006-08-251-0/+3
| | | | | we're in GL_COMPILE_AND_EXECUTE mode. This fixes bug 7984.
* improved commentsBrian Paul2006-08-251-5/+18
|
* Fixup more PROGRAM_UNDEFINED problems.Alan Hourihane2006-08-101-2/+2
|
* use WRITE_MASK_* instead of 0x1, 0x2, etcBrian Paul2006-08-031-8/+8
|
* Clean-up FEATURE_ARB_shader_objects #ifdefs. Bug 7492.Michal Krol2006-08-012-0/+6
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-206-19/+19
| | | | "gl_" to match other structs.
* use ctx->Light.ShadeModel instead of ctx->_TriangleCapsBrian Paul2006-07-201-3/+3
|
* Several loops over the map1/2 evaluator arrays were incorrect.Brian Paul2006-07-193-19/+33
| | | | | | | | There's only 16 evaluator maps. Define new _TNL_NUM_EVAL constant for those loops. Also, fix priority of GL_NV_vertex_program generic maps - they override the conventional maps. See bug 7564.
* added _TNL_NUM_GENERICTilman Sauerbeck2006-06-291-0/+2
|