aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r200/r200_swtcl.c
Commit message (Collapse)AuthorAgeFilesLines
* implement ARB_point_parameters and ARB_point_sprite on r200. The code is ↵Roland Scheidegger2006-10-131-1/+19
| | | | 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.
* More GLSL code:Michal Krol2006-04-111-14/+17
| | | | | | | | | | | | - 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;
* Reinstate vertex format after a rasterization fallback for both r200 and ↵Roland Scheidegger2006-02-161-0/+3
| | | | radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601)
* fix problems found with gcc 2.96 (bug 4934)Brian Paul2005-10-311-2/+4
|
* enable point sizes larger than 1 (for aliased points only) by using the hw ↵Roland Scheidegger2005-10-051-14/+20
| | | | point sprite primitive.
* s/__inline/INLINE/Brian Paul2005-09-011-2/+2
|
* Fix crashes during rasterization fallback by avoiding _tnl_need_projected_coordsEric Anholt2005-06-261-1/+7
| | | | | | | | | | during fallbacks. In one case, _swsetup_Wakeup had just been called, covering the need there, and in the other case, we can simply exit the entire radeonChooseVertexState function, knowing that it will be called again once we leave the fallback. Bugzilla #: 2516 Submitted by: sroland
* Correct the descriptions of the glBlend{Equation,Func} fallbacks in r128, andEric Anholt2005-05-311-2/+0
| | | | | remove those descriptions and the corresponding bits on r200, where they're no longer used.
* Remove unused CTX_ARG2 define.Eric Anholt2005-05-311-1/+0
|
* s/0/NULL/ (Jeff Muizelaar)Brian Paul2005-02-171-1/+1
|
* (Andreas Stenglein) fix projected textures with swtcl, they need the w ↵Roland Scheidegger2005-02-101-2/+10
| | | | coordinate of the vertex (bugzilla #1648)
* revert enabling of hw quads for swtcl. It lead to problems with quad_strips, ↵Roland Scheidegger2004-11-231-2/+2
| | | | since they'll get reduced to quads sometimes if hw quads are enabled. But this needs more thought, since it looks like clipped primitives will always be emitted as polys, so the reduced primitives for triangles, quads, quads_strips, polys all need to be the same, otherwise get lockups with for instance the olympic test. Render templates would probably need to be changed for this to work.
* enable hw quad primitive for swtclRoland Scheidegger2004-11-121-2/+2
|
* GL_(UN)PACK_SKIP_IMAGES should only be applied to 3D texture pack/unpackingBrian Paul2004-11-101-2/+2
| | | | | | | and ignored for 1D and 2D images. Need to pass in image dimensions (1,2,3) to the _mesa_image_address() function. This change gets propogated to some other routines. Also added new _mesa_image_address[123]d() convenience functions.
* enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of ↵Roland Scheidegger2004-11-031-1/+6
| | | | 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).
* Big-endian fixes for R200 sw TCL path.Ian Romanick2004-10-231-0/+21
|
* Add code to support projective texturing and fix mixed enabling of textureEric Anholt2004-10-161-18/+5
| | | | | | | | | | | | | | | 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
* Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt2004-08-171-0/+2
| | | | | | | | | | | | | | | | | | | | 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%).
* Remove unused HAVE_INDEX define.Eric Anholt2004-08-161-1/+0
|
* Rename the various function types in t_context.h to include a tnl_ prefix.Keith Whitwell2004-07-011-4/+4
|
* add support for more than 2 texture units (max 6, default 4). use hang ↵Roland Scheidegger2004-06-021-1/+2
| | | | workarounds only for r200, not derivatives.
* Added support for the 3rd texture coordinate for cubemaps and 3DIan Romanick2004-05-051-14/+7
| | | | | | textures. progs/demos/cubemap and progs/demos/stex3d seem to work correctly at all tcl_mode settings. x86 / SSE codegen is currently disabled.
* Convert R200 driver to use the t_vertex interface.Ian Romanick2004-04-231-546/+220
|
* Before calling _mesa_create_context(), initialize a dd_function_table structBrian Paul2004-01-201-1/+1
| | | | | | | | | | by calling _mesa_init_driver_functions() and then plugging in the driver- specific functions. In particular, make sure ctx->Driver.NewTextureObject points to the appropriate driver function so that _all_ texture objects are augmented with the driver-specific data. Put in a bunch of assertions in the texture-related driver functions that texObj->DriverData is valid. Remove old dead code in near future.
* Re-commit t_vertex.[ch] changes to fd.o server.Keith Whitwell2004-01-051-17/+1
|
* Updates to tnl_dd_dmatmp.hKeith Whitwell2003-12-111-96/+62
| | | | | | | | | | | | | | - Allocate vertices explicitly, rather than trying to talk about dma buffers. - Clean up the various Flush() operations. - Don't allow fallbacks any longer. Provide a support function to detect them ahead o ftime Updates to tnl_dd_vbtmp.h - Get rid of power-of-two vertex strides. Pack all vertices tightly. - Get texunit 2,3 emit working coorrectly. Other stuff: - Get rid of lingering Ubyte color support. - Fix a few compiler warnings.
* Fix VERT_SET_RGBA, VERT_SET_SPEC macros to account for change to floatingKeith Whitwell2003-12-091-16/+36
| | | | point colors throughout mesa.
* Import vtx-0-2-branchKeith Whitwell2003-11-241-20/+22
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-6/+5
|
* patch to import Jon Smirl's work from BitkeeperBrian Paul2003-08-221-2/+2
|
* r200 driver, brought over by Jon SmirlKeith Whitwell2003-08-061-0/+1291