Age | Commit message (Collapse) | Author |
|
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.
|
|
(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).
|
|
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).
|
|
we call the blend/logic op functions. Fixes glean logicOp test on r200.
|
|
is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
|
|
|
|
drivers, otherwise we'll mix up tcl and vtxfmt path for some reason. This fixes a warzone2100 asssertion failure.
|
|
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).
|
|
emitted if vertex progs are enabled as it overlaps vertex param #94.
|
|
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.
|
|
instead
|
|
vertex program code. Fix authors. Correct slightly wrong check to determine if ran out of temps. Simplify check to determine if ran out of max instructions. Correctly report used native temps. Always kick off program translation when ProgramStringNotify is called (otherwise the reported native resources used queried might be wrong).
|
|
|
|
determine if we actually have a program. See "[r300] TCL fallback with Quake3".
|
|
Fixes bug reported by Chris Rankin.
Added some new comments.
|
|
from Chris Rankin).
Also, fix some bad casts.
|
|
not new enough on r200
|
|
"gl_" to match other structs.
|
|
used swizzle and writemask flags are identical to the bits used on the hardware, use a macro to error out if these assumptions are no longer true.
|
|
make it easier to figure out why it won't compile...
|
|
only tested on r300.
|
|
when it's a nv_vp as there could be issues.
|
|
Clean up the r200 vertex program code a bit.
|
|
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.
|
|
request at least drmMinor 6 anyway.
|
|
intention as drm seems to never return EAGAIN) in all radeon drivers.
|
|
|
|
instead of 8k (the reasons why it was exactly 8k are unclear). Add register defines, sanity code, fix potential issue with wrong statechange order when disabling fragment programs.
|
|
|
|
Generate GL_INVALID_VALUE, not GL_INVALID_ENUM when glVertexAttrib is called
with a bad index.
Use _mesa_noop_vtxfmt_init() in DRI drivers to initialize vertex format
struct.
|
|
of requesting executable stacks.
|
|
- 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;
|
|
DestroyTexObj has a dependence on the glCtx and may segfault otherwise.
|
|
|
|
|
|
|
|
(reported by Jim Duchek). Fix some potential problems with strict-aliasing with r200 and radeon drivers in *UpdateViewportOffset, *PolygonOffset and *UpdateWindow functions (some compiler warnings about strict-aliasing remain in the codegen vertex code, and there may be more problems unnoticed by the compiler).
|
|
enable all texture units by default on those cards (3 for radeon, 6 for r200). Fix the usually forgotten DRIVER_DATE accordingly.
|
|
|
|
radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601)
|
|
with different methods to calculate the announced maximum texture sizes. Default is still the same (that is, radeon/r200 default to not announce anything which might not fit, i830/i915 default to 1 texture must fit). Bug #5785.
|
|
(regression from introducing unfied initialization). Fix wrong (so far unused) family assignment for r100 cards.
|
|
|
|
- Makes all three drivers use the same screen structure and setup code, with a
few ifdefs for the separate compilation to deal with symbols not being
available to all drivers and the fact that we have no mechanism for dealing
with different config options for different chip families in the same driver.
These issues should be dealt with later.
- Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
different paths depending on the general class of chipset.
- Adds many new R300-class PCI IDs, though not all those listed in
radeon_driver.c.
|
|
|
|
with seccolor on rv200 and r200.
Submitted by: sroland
|
|
Change the initialization to fail if an unknown pci id is detected, instead of accepting all values which are not r100-based radeons.
|
|
|
|
executable memory. Based on Thomas Hellstrom's patch.
TODO: glapi.c also needs this, but cannot access this code.
|
|
vtxfmt not causing a fallback when fog coords are active.
|