History log of /external/mesa3d/src/mesa/drivers/dri/r200/r200_context.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
be2dcc5e9f61d380aec93eeb01227cbb6b5037c1 27-Jul-2012 Roland Scheidegger <sroland@vmware.com> r200: get rid of dubious aux scissor bits

no point in emitting aux scissor values if we
a) never enable them
b) never set the actual values

plus it is enough to have that aux scissor enable reg (which we never set to
enable) in one place not two.
e532b6288f01b63d8d8ba8c8dc08292967e65490 01-Dec-2011 Ian Romanick <ian.d.romanick@intel.com> dri2: Add plumbing to get context version requirements and flags to drivers

This adds support for DRI_DRI2 version 3 to all of the DRI2 drivers.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2e53f3018f69d07b885c5885a1f865339700a189 28-Oct-2011 Kristian Høgsberg <krh@bitplanet.net> dri: Remove unused dri texmem.c
53b382637ca5462b15a430abbfc070e799d70b97 14-Oct-2011 Eric Anholt <eric@anholt.net> radeon: Drop dri2 checks now that it's always true.

This makes LOCK_HARDWARE empty, so it goes away.
ff68e3d30415712e0c3d36dc48b47345c852da01 01-Aug-2011 Eric Anholt <eric@anholt.net> radeon: Refactor the common texture hook setup to common code.

Reviewed-by: Brian Paul <brianp@vmware.com>
d3491e775fb07f891463b2185d74bbad62f3ed24 12-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Rename GLvisual and __GLcontextModes to struct gl_config
a7a9a91d7b28e5b5faed509d00f0f951e3136b1b 27-Apr-2010 Kristian Høgsberg <krh@bitplanet.net> dri: Add DRI entrypoints to create a context for a given API
1ced546577745d361ad06577914f44f484656d37 19-Jan-2010 Alex Deucher <alexdeucher@gmail.com> r200: add blit support

Only enabled with KMS.
d61f07318c8678901b948fdaa8ccdf37aa3203e9 01-Jan-2010 Kristian Høgsberg <krh@bitplanet.net> Remove leftover __DRI{screen,drawable,context}Private references

As part of the DRI driver interface rewrite I merged __DRIscreenPrivate
and __DRIscreen, and likewise for __DRIdrawablePrivate and
__DRIcontextPrivate. I left typedefs in place though, to avoid renaming
all the *Private use internal to the driver. That was probably a
mistake, and it turns out a one-line find+sed combo can do the mass
rename. Better late than never.
7d361537661b93a501c9533271458a41b965ea79 01-Sep-2009 Dave Airlie <airlied@redhat.com> radeon: fix r100/r200 polygon stipple under kms

There really need to use state emits under kms, otherwise
we end up with some dwords in the command buffer before we've
ever emitted any useful state.

Signed-off-by: Dave Airlie <airlied@redhat.com>
4322181e6a07ecb8891c2d1ada74fd48c996a8fc 28-Aug-2009 Pauli Nieminen <suokkos@gmail.com> r100/r200: Bring back old PolygonStripple for DRI1.

DRI1 didn't have support for command buffer emit for stripple.
b6df23d8b3e70d86433ba9fc4d87338e1063fe39 26-Aug-2009 Dave Airlie <airlied@linux.ie> radeon/r200: OQ support for r200 in theory.

this is an untested port of the r100 OQ code
dbf59de6d2f8be526e97af6c768622e6ca3cf6b1 26-Aug-2009 Pauli Nieminen <suokkos@gmail.com> r200: Add scissor to state atom list.

Scissors are jsut one of states that we have to emit so it should be in state list
e083f53ce4a8115df9d56b99d5dcfc249c7f90e7 12-Aug-2009 Pauli Nieminen <suokkos@gmail.com> r200: Remove unnecessery Elts from r200 context.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
e00ef43d796f0ae0247b1072bf0aa8cdd8e3034d 02-Apr-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: collapse context destruction down to a common path.

Context destruction was nearly the same over all the drivers,
so collapse it down.
8c7e30fb950c83f5e9e29e60735e999ac608145a 23-Mar-2009 Dave Airlie <airlied@redhat.com> raedon/r200/r300: mega-FBO commits.

Re work depth issues.
Do a lot more FBO abstactions
fixup depth/stencil buffer interactions
14c3bddbac8f9fc8e432137772f0c4772fdfb7ab 10-Mar-2009 Dave Airlie <airlied@redhat.com> r200: enable hw clears
8cb16e6daff40bbfd7b63a43da72862226a4a164 12-Feb-2009 Dave Airlie <airlied@redhat.com> r200/r300: get up to speed on renamed files
1090d206de011a67d236d8c4ae32d2d42b2f6337 12-Feb-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: another big merge upheavel.

This merges lots of the hw state atom emission and firevertices code.

it also removes a lot of the extra radeon crap from r300

and merge scissor
abdf1f65d2bafbad8020f1444a01eb18ae9f7159 08-Feb-2009 Dave Airlie <airlied@redhat.com> r200: cleanup some bits that aren't used
f68a61d88398fe8eb3eb41b929dcb4483354a81e 30-Jan-2009 Dave Airlie <airlied@redhat.com> r200/r300: swtcl fixups to use old dma buffers on top of BOs
c9bb5cd20e5468168d54fe461c853926072fa813 29-Jan-2009 Dave Airlie <airlied@redhat.com> r200: bring back single dma flush
5ba92a5b0543b4ff2c7db6101029ba36cb9843fa 29-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: bring back old style DMA buffer on top of BOs.

this gets back a lot of the lots speed in gears on r500 at least

I also fixed the legacy bufmgr to deal when the dma space fills up
f69e2f42d53337702ce52173a58a49e53bfdee56 22-Jan-2009 Dave Airlie <airlied@linux.ie> r200: fix up swtcl/tcl flushes
7d01cb37d94b8966fa089106b902325dbef33a58 22-Jan-2009 Dave Airlie <airlied@redhat.com> r200: emit elts into a separate ELT bo
0788e424713a2b71cceee60bcd21c79a2896b3bd 21-Jan-2009 Dave Airlie <airlied@redhat.com> r200: remove indexed verts
ed3a1cce73fcd0d6f4b6e9b5f69a98ad179ddc4b 20-Jan-2009 Dave Airlie <airlied@redhat.com> r200: clear is working at least - not much else
23295cf8e84495af86f62395d32b3116261927e8 14-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: consolidate swap buffers
d29e96bf33e91d071770b86d87ffc4ef4dfc2f70 13-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: attempt to move lock to common code
4637235183b80963536f2364e4d50fcb894886dd 14-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200/r300: initial attempt to convert to common context code
0217ed2cf9b0a538ca03d26b302a7cd57af7dd21 13-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200: move more stuff closer together in context
b6e486906968d82c7b8a869d7ab51697a7cce80c 13-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200: move state atom to common header
692ca82116485a9c6191e5265c5b369d5b4f82f3 13-Jan-2009 Dave Airlie <airlied@redhat.com> radeon/r200: start splitting out commonalities into separate headers
ecadb51bbcb972a79f3ed79e65a7986b9396e757 18-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: added "main/" prefix to includes, remove some -I paths from Makefile.template
5ee7b7912c1fe7b09d13ae385088e4281b62eba6 21-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> replace __inline and __inline__ with INLINE macro
38fdb47d26055e19d50cd407266b56ed4317ae0a 29-Oct-2007 Jesse Barnes <jesse.barnes@intel.com> Refactor and fix core vblank support

Consolidate support for synchronizing to and retrieving vblank counters. Also
fix the core vblank code to return monotonic MSC counters, which are required
by some GLX extensions. Adding support for multiple pipes to a low level
driver is fairly easy, the Intel 965 driver provides simple example code (see

The new code bumps the media stream counter extension version to 2 and adds a
new getDrawableMSC callback. This callback takes a drawablePrivate pointer,
which is used to calculate the MSC value seen by clients based on the actual
vblank counter(s) returned from the kernel. The new drawable private fields
are as follows:
- vblSeq - used for tracking vblank counts for buffer swapping
- vblFlags - flags (e.g. current pipe), updated by low level driver
- msc_base - MSC counter from the last time the current pipe changed
- vblank_base - kernel DRM vblank counter from the last time the pipe changed

Using the above variables, the core vblank code (in vblank.c) can calculate a
monotonic MSC value. The low level DRI drivers are responsible for updating
the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
along with msc_base and vblank_base whenever the pipe associated with a given
drawable changes (again, see intelWindowMoved for an example of this).

Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
support the new scheme.
4f96000e294fa0d6ba6f5915ff508017d9c26d50 29-Sep-2007 Chris Rankin <rankincj@yahoo.com> r200: Implement SetTexOffset hook.

Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
0985e786cdd08bf900db889b69783be4bc467e5b 18-May-2007 Christoff Brill <egore@gmx.de> remove CVS/XFree86 keywords
421ce180f52ff55b866066fabd861a51dd6d2b26 09-Feb-2007 Roland Scheidegger <sroland@tungstengraphics.com> r200: simplify / unify input map handling for vp and fftnl

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.
f697308ae583dbcdf0268e98232c32be7f25fac6 03-Feb-2007 Roland Scheidegger <sroland@tungstengraphics.com> remove now unused vtxfmt stuff from radeon/r200 header files
2956a0c8a8395e4d9ae00888aeb88ea5c38b89ad 14-Dec-2006 Roland Scheidegger <sroland@tungstengraphics.com> submit vertex weights to make World of Warcraft maybe happy (bug 8250)

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).
21cf414489af84b8bb374f76c36db8f0f1919733 30-Nov-2006 Roland Scheidegger <rscheidegger@gmx.ch> fix mixed conventional / generic vertex arrays which caused a wrong array order leading to very bogus rendering (for instance WoW intro screen mentioned in #8250).
8f6a50a49cd3b7479d1cfcf195b53e6d9b0800dd 15-Nov-2006 Jerome Glisse <glisse@freedesktop.org> Remove use of GetBufferSize (depreciated).
029d18cd3d79ff956c50b3486078d968d15bf0fb 03-Nov-2006 Roland Scheidegger <rscheidegger@gmx.ch> enable generic arrays for r200 hw vertex programs by assigning unused color 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.).
fc606f7db9072d4f40081aea8f92f1d4489a5115 25-Oct-2006 Roland Scheidegger <rscheidegger@gmx.ch> fix (per-vertex) fog when using ARB_vp by incorporating fog factor 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).
cb977ae5f4c9fab5753c04bfdd8736978ad4feee 14-Oct-2006 Roland Scheidegger <rscheidegger@gmx.ch> implement ARB_point_parameters and ARB_point_sprite on r200. The code is 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.
a974aaaa3e77a04375e5a9ddd413507596bd743e 30-Aug-2006 Roland Scheidegger <rscheidegger@gmx.ch> Minor r200 vertex program cleanups. Remove disabled leftovers from r300 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).
122629f27925a9dc50029bebc5079f87f416a7e1 20-Jul-2006 Brian Paul <brian.paul@tungstengraphics.com> Some structure renaming. Prefix vertex/fragment-related structs with
"gl_" to match other structs.
bf35d70635309e499aee666eb5811446aa8b489e 04-Jul-2006 Roland Scheidegger <rscheidegger@gmx.ch> check if radeon_drm.h from libdrm is new enough, otherwise print an error to make it easier to figure out why it won't compile...
98c791b543c4ba86b8bb54488bd872b33b10b1aa 03-Jun-2006 Roland Scheidegger <rscheidegger@gmx.ch> implement arb_vertex_program in hw for r200. Code contains still some hacks, 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.
8a6182105772280e2727de4a00809c8fb7b13c87 27-May-2006 Roland Scheidegger <rscheidegger@gmx.ch> preparation for r200 hw vertex programs. Increase R200_CMD_BUF_SZ to 16k 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.
bb38cadb1c5f2dc13096a091bdaf61dc3e3cfa4d 11-Apr-2006 Michal Krol <mjkrol@gmail.org> More GLSL code:
- use macros to access and modify render inputs bit-field;
- un-alias generic vertex attributes for ARB vertex calls;
(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;
f2ad1b60c0da11283b399008f491792790cea294 31-Mar-2006 Brian Paul <brian.paul@tungstengraphics.com> Dave Reveman's patch for GLX_MESA_copy_sub_buffer support
08e62a147618ac796f5e548bdaa3380342ec2a78 28-Mar-2006 Roland Scheidegger <rscheidegger@gmx.ch> fix missing *_STATECHANGE in *UpdateViewportOffset for radeon, r200 and r300 (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).
3a5626cb846ad767fe1c38fe35ebe4df3e3a0454 02-Nov-2005 Eric Anholt <anholt@FreeBSD.org> First step of Radeon DRI unification:
- 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
6ff023fe3a3fab14c33d20218155f82e1ed76b7e 13-Oct-2005 Roland Scheidegger <rscheidegger@gmx.ch> fix potential bug when emitting elts with lots of components
24a44d74b6e9880dfc019bd1cfa9ce0351377c85 05-Oct-2005 Roland Scheidegger <rscheidegger@gmx.ch> reverse accidentally commited part of last commit (makes it compile again...).
44dace86eaf9eded8e6465adfadf6345658686dd 05-Oct-2005 Roland Scheidegger <rscheidegger@gmx.ch> enable point sizes larger than 1 (for aliased points only) by using the hw point sprite primitive.
f20917de5bd2b1fc152e74304d3649a1f6042422 12-Sep-2005 Roland Scheidegger <rscheidegger@gmx.ch> add complete support for ATI_fragment_shader for the r200. Most of the new code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
fcbfeb5d28aea87c60f2d02daa213d0c0c2516e8 01-Sep-2005 Brian Paul <brian.paul@tungstengraphics.com> Finish up some of the gl_renderbuffer work.
Use driRenderbuffer's offset, pitch fields in the span routines.
Remove the SetBuffer driver function.
Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
state in new radeonUpdateDrawBuffer() function.
Old code is surrounded by #if 000 / #endif, temporarily.
36603539ccdb1c507724d8a1c314e6c9cc9863d9 31-Aug-2005 Roland Scheidegger <rscheidegger@gmx.ch> enable GL_ARB_texture_env_crossbar on r200, separate the enable bits for texture sampling and texture environment, optimize away texture sampling for units if the result is not used, always emit the env instructions in-order and try to eliminate GL_REPLACE env instructions.
5f1ba3e21b62cee1a4f900a2e6964728f3eeea9b 26-Jul-2005 Ian Romanick <idr@us.ibm.com> Fixes the glXGetProcAddress portion of the interface. Most of the functions
that are currently obtained via glXGetProcAddress and all of the XF86DRI
functions are replaced with a funciton table. This table will be passed to

One of the functions in the table is getProcAddress. This allows some
loaders to expose functionality not in all loaders. This will be immediatly
used for glxEnableExtension (formerly known to drivers as
__glXScrEnableExtension). libGL (and in the future libglx) expose this
function so that drivers can enable GLX extensions. libEGL should exposed
eglEnableExtension to enable EGL extensions. The same function cannot be
used for both because the extensions have different names and (possibly)
different semantics. Drivers can optionally use one, both, or neither.

The key parts are in the __DRIinterfaceMethodsRec structure in
dri_interface.h. A pointer to one of these structures is passed into
__driCreateNewScreen. Because of this, the version of the API is bumped to
20050725. Since the previous version(s) were never in a release, their
existance is erased.

I was actually a little surprised by how much code this cuts from the
drivers. A lot of glXGetProcAddress calls disappear, and a lot of
version checks go with them. Nice.

The one thing I'm not sure of is removing __glXInitialize. For some
reason that function was in the glXGetProcAddress table, but *nothing*
in the Mesa tree used it. Did something with DRI conf. use this
function? It seems odd...
ef377c3c007611e57aef176cb66d8b4c18f1a6c3 31-May-2005 Eric Anholt <anholt@FreeBSD.org> Correct the descriptions of the glBlend{Equation,Func} fallbacks in r128, and
remove those descriptions and the corresponding bits on r200, where they're no
longer used.
fbe5296d1463e1052590b744f3d62ebb9e5d5dd4 15-Mar-2005 Roland Scheidegger <rscheidegger@gmx.ch> add support for user-configurable brilinear filtering on r200
4837ea30208d002bc36a836d2117f826d40c8bfa 10-Feb-2005 Roland Scheidegger <rscheidegger@gmx.ch> add texture micro and macro tiling to radeon/r200 driver. This can improve performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work.
886280763c8dfa7202bdacdeacf84ced69609b98 01-Feb-2005 Adam Jackson <ajax@freedesktop.org> Bug #2428: #ifdef GLX_DIRECT_RENDERING in DRI drivers is pointless.
b31b7836d6e7abf80dd4feacce333d4b1fe6e4ab 08-Dec-2004 Roland Scheidegger <rscheidegger@gmx.ch> (Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
d294f79190a5b25ef0fbbbf3ac94b15c9402d009 03-Nov-2004 Roland Scheidegger <rscheidegger@gmx.ch> enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of 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).
b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4 16-Oct-2004 Eric Anholt <anholt@FreeBSD.org> Add code to support projective texturing and fix mixed enabling of texture
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
7a086dc05e665a78f7e9d069aa4fc70e844b8988 30-Sep-2004 Eric Anholt <anholt@FreeBSD.org> OK, one more time. Simplify the state-backup system by just storing the full
state in a ready-to-emit cmdbuf, which avoids the issue Nicolai Haehnle reported
where the check() could return differently during backup-and-emit than it should
have if it were called at the right time. Move the lit emission before most of
the TCL state emission on r200, which fixes neverball issues.

Tested with: r100/r200 with neverball, tuxracer, chromium, quake3, ipers
0c8f8d3dc9d60ed34eeca7f3606651420a81753c 22-Sep-2004 Eric Anholt <anholt@FreeBSD.org> The previous code would emit a full set of state during the first EmitState on
a new cmdbuf, to ensure that state wasn't lost across UNLOCK/LOCK pairs (in the
case of context switching). This was rather inefficient. Instead, after
flushing a cmdbuf, mark the state as needing to be saved on UNLOCK. Then, at
the beginning of flushing a cmdbuf, if we actually have lost the context, go
back and emit a new cmdbuf with the full set of state, before continuing with
the cmdbuf flush. Also, remove the dirty/clean atom lists, since atoms are
emitted in a fixed order these days, and go with a simpler single list.

Provides a 14% improvement in ipers performance in my tests, along with other
6f3cc6a5226fd4b5d44cca91e2f76216ecaff831 17-Aug-2004 Eric Anholt <anholt@FreeBSD.org> Close some races with locking on R100 and R200 which could manifest as rendering
errors on r100 and rendering errors and hangs on r200 (same for R100 without

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%).
48ccaf200940613032dfaaafe71382947f398004 03-Jun-2004 Roland Scheidegger <rscheidegger@gmx.ch> add support for more than 2 texture units (max 6, default 4). use hang workarounds only for r200, not derivatives.
c06b25594e5effe34a90c067e1a3da0f61cf2b13 02-Jun-2004 Ian Romanick <idr@us.ibm.com> Replace drmHandle, drmContext, drmDrawable, drmMagic and related types with
drm_handle_t, drm_context_t, drm_drawable_t, drm_magic_t.
957b7343228e28d62a1c1e96903bb2a0b74dec20 28-May-2004 Roland Scheidegger <rscheidegger@gmx.ch> remove never finished verts path (r200_maos_vbtmp.h, r200_maos_verts.c) and unused R200_OLD_PACKET macro
033728555cb2f39d8c77f228e1eccc45329bb40a 20-May-2004 Roland Scheidegger <rscheidegger@gmx.ch> Add support for GL_EXT_blend_[func|equation]_separate. Fix GL_EXT_blend_color. Remove support for GL_EXT_blend_logic_op (cannot be supported together with blend_equation_separate unless a software fallback would be added).
95a0bd6762737bb25bdf5c4147da9d1372f6aac3 05-May-2004 Ian Romanick <idr@us.ibm.com> Added support for the 3rd texture coordinate for cubemaps and 3D
textures. progs/demos/cubemap and progs/demos/stex3d seem to work
correctly at all tcl_mode settings. x86 / SSE codegen is currently
462183fe4cb6df6d90632d9e2cee881c8d26b1cb 26-Apr-2004 Alan Hourihane <alanh@tungstengraphics.com> bring over build fixes from stable branch
e946688edac5cdf153652defae3ef732a3487416 23-Apr-2004 Ian Romanick <idr@us.ibm.com> Convert R200 driver to use the t_vertex interface.
ae4a1cc0666860bf5cc37a5cb549afc9aa5448b0 11-Mar-2004 Jon Smirl <jonsmirl@gmail.com> Adjustments to make everything use IOCTL/sarea defines in DRM instead
of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
5d00e131d8a264498b8d050c3eded093ee5c42f2 23-Jan-2004 Michel Dänzer <michel@daenzer.net> Fix attenuation hardware state handling, inspired by the R200 DDK reference
driver (our r200 driver basically didn't do this at all, maybe got lost
along the way?)
afa446db83ecf5dcb38ce46648fb12911628de32 21-Jan-2004 Ian Romanick <idr@us.ibm.com> Silence some compiler warnings.
d3fd7ba8af15bead2f770d68a893449adeb11397 20-Jan-2004 Brian Paul <brian.paul@tungstengraphics.com> Before calling _mesa_create_context(), initialize a dd_function_table struct
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.
a05b1549f7b6da7d9313b9addf2d01b9c61f34d7 09-Jan-2004 Keith Whitwell <keith@tungstengraphics.com> Roland Scheidegger's r200_changeemitorder.diff.
2dc621f3fdb585f23013aa3e220f2148f9405538 11-Dec-2003 Keith Whitwell <keith@tungstengraphics.com> Updates to tnl_dd_dmatmp.h
- 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.
273e52f86fa41564f573c8e84d013f995e01a8f0 08-Dec-2003 Alan Hourihane <alanh@tungstengraphics.com> sync some more of the r200 driver from the DRI trunk
d907a75498360fb96ec2314bb0abb105be74d500 05-Dec-2003 Alan Hourihane <alanh@tungstengraphics.com> xmlconfig fixes
bcc6eddd335e97d49ed2ef3a1440f94d58dce12d 21-Oct-2003 Jon Smirl <jonsmirl@gmail.com> Update DRI drivers to current DRI CVS and make them work.
5df82c82bd53db90eb72c5aad4dd20cf6f1116b1 22-Aug-2003 Brian Paul <brian.paul@tungstengraphics.com> patch to import Jon Smirl's work from Bitkeeper
adbec39bbf671ad80f6c557801e274cac0d305fa 06-Aug-2003 Keith Whitwell <keith@tungstengraphics.com> r200 driver, brought over by Jon Smirl