aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r200/r200_tcl.c
Commit message (Collapse)AuthorAgeFilesLines
* r200: simplify / unify input map handling for vp and fftnlRoland Scheidegger2007-02-091-16/+26
| | | | | | Use the same input map handling for fftnl and vertex programs. It doesn't enable any new functionality (should make it easy to support per-vertex materials though), but the code is much cleaner.
* Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-2/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * fix vp lockups due to incorrectly set up / emitted attrib inputs.Roland Scheidegger2006-11-051-1/+2
| |
| * enable generic arrays for r200 hw vertex programs by assigning unused color ↵Roland Scheidegger2006-11-031-1/+3
| | | | | | | | and texture inputs to them. Not widely tested yet. This should eliminate all fallbacks due to vertex programs, except writes to back facing colors, or when exceeding a hw limit (12 temps, 12 attribs etc.).
* | remove vtxfmt code, switch over to vboKeith Whitwell2006-10-311-1/+1
|/
* fix (per-vertex) fog when using ARB_vp by incorporating fog factor ↵Roland Scheidegger2006-10-241-25/+6
| | | | computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups).
* implement ARB_point_parameters and ARB_point_sprite on r200. The code is ↵Roland Scheidegger2006-10-131-2/+15
| | | | nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
* make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're ↵Roland Scheidegger2006-09-071-1/+0
| | | | already in a tcl fallback, otherwise the chip will instantly lock up when vertex progs are enabled the next time not in a tcl fallback (fixes for instance guaranteed lockup running any program which uses vertex progs with tcl_mode=0 and then later with tcl_mode=1).
* implement arb_vertex_program in hw for r200. Code contains still some hacks, ↵Roland Scheidegger2006-06-021-15/+79
| | | | generic attribs cause a fallback, but otherwise it seems to work quite well. Passes all glean vertProg1 tests with the exception of the degnerated LIT case (which is a hw limitation), as well as runs the r200 render path of doom3/quake4 (1.1 patch needed for quake4). The code is heavily borrowed from the r300 driver as vertex programs encoding is almost identical. arb_vertex_program is not yet announced by default and still needs to be enabled via driconf.
* Bug #4901: Correct secondary color emission when lighting is turned off, testedEric Anholt2005-10-291-3/+4
| | | | | | with seccolor on rv200 and r200. Submitted by: sroland
* on r200, don't emit fog coords when fog isn't actually enabled. Fix bug with ↵Roland Scheidegger2005-10-181-1/+1
| | | | vtxfmt not causing a fallback when fog coords are active.
* enable point sizes larger than 1 (for aliased points only) by using the hw ↵Roland Scheidegger2005-10-051-1/+2
| | | | point sprite primitive.
* add missing fallback string for ARB_vertex_programRoland Scheidegger2005-09-091-1/+2
|
* Calculate render inputs for tcl stage correctly (hint: they aren't theKeith Whitwell2005-05-131-1/+32
| | | | same as tnl->render_inputs). Fixes recent tcl problems.
* First pass at updating these drivers with pipeline_stage struct changes.Keith Whitwell2005-04-221-75/+5
|
* s/0/NULL/ (Jeff Muizelaar)Brian Paul2005-02-171-2/+2
|
* (Andreas Stenglein) fix projected textures with swtcl, they need the w ↵Roland Scheidegger2005-02-101-0/+1
| | | | coordinate of the vertex (bugzilla #1648)
* uint*t -> u_int*t changesAlan Hourihane2004-12-141-2/+2
|
* silence warningsAlan Hourihane2004-12-021-8/+13
|
* make render_quads_verts call EMIT_PRIM with the arguments in the right order,Adam Jackson2004-11-121-1/+1
| | | | | and enable hardware quads on r200 and radeon. samples/prim renders quads correctly now.
* enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of ↵Roland Scheidegger2004-11-031-0/+96
| | | | fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
* Add code to support projective texturing and fix mixed enabling of textureEric Anholt2004-10-161-30/+4
| | | | | | | | | | | | | | | coordinate generation. Original code by Roland Schiedegger, with changes by myself. While here, ensure that the swtcl path does tnl_install_attrs enough when fog/specular are being (en/dis)abled. Notable effects: - projtex test works with TCL and is closer with swtcl (Bugzilla #1461) - 8/9 squares work in texgenmix instead of 3. - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the hardware can actually support it). - flickering in doom3 replaced by just plain darkness. - blocktube fixed (Bugzilla #984) - fixes stex3d
* -O -Wall warnings cleanups in r200.Eric Anholt2004-09-241-1/+1
|
* r200-maybe-flush-less-3.diffKeith Whitwell2004-09-021-10/+26
|
* Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt2004-08-171-0/+6
| | | | | | | | | | | | | | | | | | | | errors on r100 and rendering errors and hangs on r200 (same for R100 without OLD_PACKETS). If a command buffer filled after some state (EmitState or a VBPNTR write) was emitted, the lock was grabbed, the buffer flushed, a new buffer prepared, and the lock dropped. Another client could come in, set its own state as part of rendering, and when the first client flushed the rendering commands depending on the previous state, it got the 2nd client's state. This is fixed by checking for enough space before beginning a set of state emits and rendering, and flushing the buffer first if so. This guarantees that the buffer won't wrap. Also, move the "lost_context = 1" from the end of cmdbuf flushing to UNLOCK_HARDWARE for clarity (at a minimum) that any time the lock is dropped, state may get overwritten. We don't have enough information at the point of the LOCK_HARDWARE to reset our state to the last UNLOCK_HARDWARE point in the case that we did lose our context, but saving the information to rebuild that state may be a useful optimization (ipers data suggests up to 5%).
* add support for more than 2 texture units (max 6, default 4). use hang ↵Roland Scheidegger2004-06-021-4/+15
| | | | workarounds only for r200, not derivatives.
* change some explicit references to texture units 0/1 to unit < ↵Roland Scheidegger2004-05-271-16/+9
| | | | MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)
* Convert R200 driver to use the t_vertex interface.Ian Romanick2004-04-231-2/+0
|
* clean up some compiler warningsKeith Whitwell2003-12-091-1/+1
|
* Import vtx-0-2-branchKeith Whitwell2003-11-241-16/+11
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-3/+2
|
* patch to import Jon Smirl's work from BitkeeperBrian Paul2003-08-221-45/+23
|
* r200 driver, brought over by Jon SmirlKeith Whitwell2003-08-061-0/+549