summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200
AgeCommit message (Collapse)Author
2007-04-16remove _tnl_arb_vertex_program_stageBrian
2007-03-27r128, radeon, r200: Check ctx->WinSysDrawBuffer before calling function that ↵Roland Scheidegger
dereferences it. Same fix as for r300 (which fixed https://bugs.freedesktop.org/show_bug.cgi?id=10417), since it's likely an issue with those drivers too.
2007-03-21merge from masterBrian
2007-03-12r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300.Alan Swanson
2007-03-12r200: Adapt cliprect fixes from r300.Alan Swanson
2007-03-09Merge branch 'origin' into glsl-compiler-1Brian
Conflicts: src/mesa/main/context.c
2007-02-23Update DRI drivers for new glsl compiler.Brian
Mostly: - update #includes - update STATE_* token code
2007-02-23r200 fix broken (by new input handling) fogcoordRoland Scheidegger
2007-02-09r200: simplify / unify input map handling for vp and fftnlRoland Scheidegger
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.
2007-02-03disable r200 materials-between-begin-end check if vertex progs are enabledRoland Scheidegger
2007-02-03remove now unused vtxfmt stuff from radeon/r200 header filesRoland Scheidegger
2007-02-03fix errorneously adding fog state params to all vertex programs...Roland Scheidegger
2007-01-16Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa ↵Keith Whitwell
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
2006-12-14submit vertex weights to make World of Warcraft maybe happy (bug 8250)Roland Scheidegger
submit the vertex weights to hw, which will enable broken vertex programs errorneously using them to work. Note however that this will only work if glWeight is used, there is no code in mesa at all to deal with weight vertex array (glWeightPointerARB).
2006-12-06Make git ignore some more generated files.Michel Dänzer
2006-11-30fix mixed conventional / generic vertex arrays which caused a wrong array ↵Roland Scheidegger
order leading to very bogus rendering (for instance WoW intro screen mentioned in #8250).
2006-11-29fix a bug in the sanity code when outputting vertex progsRoland Scheidegger
2006-11-29call Driver.ProgramStringNotify if a ati_fragment_shader changes and pick up ↵Roland Scheidegger
the change in the r200 driver accordingly.
2006-11-21fix segfault with ATI_fs when trying to use a not enabled texture unit (bug ↵Roland Scheidegger
#9110).
2006-11-15Remove use of GetBufferSize (depreciated).Jerome Glisse
2006-11-05fix vp lockups due to incorrectly set up / emitted attrib inputs.Roland Scheidegger
2006-11-05fix using VERT_ATTRIB_WEIGHT instead of VERT_BIT_WEIGHT when assigning vp ↵Roland Scheidegger
inputs.
2006-11-03enable generic arrays for r200 hw vertex programs by assigning unused color ↵Roland Scheidegger
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.).
2006-11-03remove remaining traces of r200FlushVertices...Roland Scheidegger
2006-11-03remove setting some driver funcs explicitly to NULL, as they are no longer ↵Roland Scheidegger
set up later. Thix fixes a segfault in _mesa_Bitmap().
2006-11-02casting, type changes to silence warningsBrian Paul
2006-11-02merge current trunk into vbo branchAlan Hourihane
2006-11-01Remove x/y/width/height parameters from Clear functions.Brian Paul
2006-10-31remove vtxfmt code, switch over to vboKeith Whitwell
2006-10-26remove code for inserting mvp transform into position-invariant vertex progs ↵Roland Scheidegger
and instead use _mesa_insert_mvp_code().
2006-10-25change some bogus comments regarding the base e exponential function used ↵Roland Scheidegger
for fog in vertex programs.
2006-10-24fix (per-vertex) fog when using ARB_vp by incorporating fog factor ↵Roland Scheidegger
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).
2006-10-18Want to stop passing x/y/width/height to Clear() function.Brian Paul
The coordinates need to be computed after we've got the hw lock. Code updated to: 1. Ignore all/x/y/width/height/ params passed to Clear func. 2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
2006-10-15fix handling of textures with a base internal format that does not have all ↵Roland Scheidegger
four rgba values set for radeon and r200 (discovered with a modified glean pixelFormats test, noone ever noticed in over 2 years). For radeon, use hw format I8 as previously, and change tex env to make the correct default values appear for both GL_ALPHA and GL_LUMINANCE textures. For r200, which supports GL_LUMINANCE just fine, use the AL88 hw format for GL_ALPHA textures, since it seems like it's probably not worth the effort to fix up the texture environment (certainly complicated in case of ATI_fragment_shader programs).
2006-10-15Remove a bunch of "ctx->Driver.function = _swrast_Function" lines sinceBrian Paul
default/fallback functions are already plugged in by the call to _mesa_init_driver_functions().
2006-10-15Remove Driver.ResizeBuffers = _mesa_resize_framebuffer lines.Brian Paul
This is already done by the preceeding call to _mesa_init_driver_functions() which plugs in default functions like that.
2006-10-13implement ARB_point_parameters and ARB_point_sprite on r200. The code is ↵Roland Scheidegger
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.
2006-09-28Make driDrawableInitVBlank() initialize the sequence number.Michel Dänzer
This prevents the first wait for vertical blank from timing out when the X server has been running for a long time.
2006-09-22fix up access to vertex attrib components which don't really exist but are ↵Roland Scheidegger
defined to some default value by the spec (fogcoord yzw, normal w, secondary color w), by replacing those components with zero/one respectively using swizzling.
2006-09-20try to use a 8888 texture format which will result in only a memcopy in ↵Roland Scheidegger
mesa's texstore functions whenever possible for r200 and r300. r200 can use hw formats argb8888, rgba8888 and abgr8888 (or the opposite on big endian), r300 can use argb8888, bgra8888, rgba8888 and abgr8888 regardless of endian, as it supports free component swizzling.
2006-09-20fix mixed texgen/non-texgen with texgen modes requiring plane parameters ↵Roland Scheidegger
(GL_OBJECT_LINEAR, GL_EYE_LINEAR). This is a chip limitation, try to hack it up regardless or use a tcl fallback in some cases. Might still produce wrong results if fixed up, but so far this corrects celestia ring shadows (in multitexture mode), doom3 (arb renderer), quake4 (arb renderer and some less visible bugs in r200 renderer), and even the remaining texgenmix broken case (this is pure luck though, it is easy to construct artifical cases where it will break).
2006-09-13Always mark tex state atom as dirty when the texture image is dirty, this ↵Roland Scheidegger
ensures texture cache gets flushed in case the new texture has the same offset as the old one (fixes glean pixelFormat test at least on r200).
2006-09-13don't use derived value _ColorLogicOpEnabled as it's not current by the time ↵Roland Scheidegger
we call the blend/logic op functions. Fixes glean logicOp test on r200.
2006-09-13fix GL_REFLECTION_MAP texgen by not using tex matrix negation when lighting ↵Roland Scheidegger
is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
2006-09-13make sure we upload the new vertex program if the program string changes.Roland Scheidegger
2006-09-08cause a vtxfmt fallback directly when hitting NewList for radeon and r200 ↵Roland Scheidegger
drivers, otherwise we'll mix up tcl and vtxfmt path for some reason. This fixes a warzone2100 asssertion failure.
2006-09-07make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're ↵Roland Scheidegger
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).
2006-09-04fog state atom contains (only) fog params necessary for tcl. Must not be ↵Roland Scheidegger
emitted if vertex progs are enabled as it overlaps vertex param #94.
2006-09-01make sure vertex programs are only enabled on the hw when they are really ↵Roland Scheidegger
enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
2006-08-31do not abort with not supported vertex prog output configuration, fallback ↵Roland Scheidegger
instead