summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_swtcl.c
AgeCommit message (Collapse)Author
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-08-07dri: Add missing header m_xform.h.Vinson Lee
This is a follow-up patch to commit f4511c4835879090ce7e6afe3ac26b98fb91899a. Files that include tnl_dd/t_dd_dmatmp.h now need to also include m_xform.h as t_context.h no longer includes it.
2010-08-02radeon: Add DRI2 flush extension support, so we synchronize properly.Mario Kleiner
When a DRI2 swap buffer is pending we need to make sure we have the flush extension so radeon doesn't resume rendering to or reading from the not yet blitted front buffer. This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28341 https://bugs.freedesktop.org/show_bug.cgi?id=28410 Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-08-02Revert "radeon: Add DRI2 flush extension to so we synchronize properly."Jerome Glisse
This reverts commit 8446f257b3e3ca4a3eb2c79bc357e46343e04e87.
2010-08-02radeon: Add DRI2 flush extension to so we synchronize properly.Mario Kleiner
When DRI2 swap buffer is pending (copy buffer not pageflipping) we need to make sure we have the flush extension so radeon doesn't resume rendering on the not yet blitted front buffer. Modified version of Jerome's patch to add flush extension in the correct place. This prepares a possible fix for: https://bugs.freedesktop.org/show_bug.cgi?id=28341 https://bugs.freedesktop.org/show_bug.cgi?id=28410 Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-03-03Remove stray defines of HAVE_RGBAIan Romanick
Now that color-index support is removed from t_dd_tritmp.h and t_dd_unfilled.h, drivers no longer need define HAVE_RGBA. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-01-30radeon: Remove unnecessary headers.Vinson Lee
2009-11-24radeon/r200/r300/r600: make bo mapping be explicitDave Airlie
This moves the bo mapping outside the DMA layer and makes it explicit, this should in theory make it simpler to split the clean up the dma/cmdbuf linkage that I created before that is broken. Tested on: r600, rv380 (tcl/no-tcl), rv200 (tcl/no-tcl) Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-19tnl: Replace deprecated TexCoordPtr with AttribPtr[_TNL_ATTRIB_TEX*]Eric Anholt
2009-08-31r100: Use shared debug code.Pauli Nieminen
Converted r100 to use shared debug code with sed and fast compile check. New code has compability layer so old debugging code doesn't have to be changed all immidiatly.
2009-08-29radeon: Fix swtcl emit pediction.Pauli Nieminen
Problem was to find the correct place to run prediction. Only place that is called for every primitive is ALLOC_VERTS so we have to do prediction there before allocation.
2009-08-27radeon/r200/r300: Fix swtcl prediction to work after primitie change.Pauli Nieminen
Swtcl calls flush everytime primitive changes so prediction has to made again after flushing.
2009-08-27radeon/r200/r300: Fix swtcl flushing not to invalidate dma region.Pauli Nieminen
We were check command buffer sizes too alte so allocated dma regions were freed before relocations so space checking failed.
2009-08-25radeon: Fix all compiler warnings.Pauli Nieminen
2009-08-21radeon: Improve state emit code.Pauli Nieminen
Trying to make understanding code easier with small refactoring and renaming.
2009-08-21radeon: Port flush preventation code from r200 to r100.Pauli Nieminen
- emit prediction - fixes to emit_sizes for data - clean up of excesive use of radeonEnsureCmdBufferSpace Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-18radeon: Optimize memory handling for dma operations.Pauli Nieminen
We keep dma buffer objects in list untill they have been unused for many draw operations. Current limit of having 100 flushes is just guess for good performance/memory trade off. Moving WARN_ONCE macro to common context because it is used in multiple drivers. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-04-02radeon/r200/r300: collapse context destruction down to a common path.Dave Airlie
Context destruction was nearly the same over all the drivers, so collapse it down.
2009-03-24radeon/r200/r300: fix warningsDave Airlie
2009-02-12radeon: renaming and headers cleanupDave Airlie
2009-02-12radeon/r200/r300: another big merge upheavel.Dave Airlie
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
2009-02-09radeon: make more r100 workDave Airlie
2009-02-04radeon: make compile again.Dave Airlie
Not tested but ripped out lots of stuff unneeded anymore time to test later
2009-01-14radeon/r200/r300: initial attempt to convert to common context codeDave Airlie
2008-09-21Remove CVS keywords.Keith Whitwell
Cherry-picked from gallium-0.1 Conflicts: src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c src/glx/x11/glxclient.h src/glx/x11/glxext.c src/mesa/drivers/dri/ffb/ffb_dd.h src/mesa/drivers/dri/ffb/ffb_points.h src/mesa/drivers/dri/gamma/gamma_context.h src/mesa/drivers/dri/gamma/gamma_macros.h src/mesa/drivers/dri/i810/i810context.h src/mesa/drivers/dri/r128/r128_dd.h src/mesa/drivers/dri/tdfx/tdfx_dd.h
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2006-10-31remove vtxfmt code, switch over to vboKeith Whitwell
2006-09-10remove code to deal with non-normalized texture coordinates for tex rect ↵Roland Scheidegger
targets (swtcl tex coord translation stage, tcl tex matrix adaption) and use the chip's native handling of such coords instead (!!!). Seems noone noticed those bits in the se_coord_fmt reg, even though it works fairly similar to r200 (except it's set per-unit and always active, so only enable it for texture rectangles).
2006-04-11More GLSL code:Michal Krol
- 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;
2006-02-16Reinstate vertex format after a rasterization fallback for both r200 and ↵Roland Scheidegger
radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601)
2005-10-31fix problems found with gcc 2.96 (bug 4934)Brian Paul
2005-10-15enable cube maps on radeon (#2241 on bugzilla). No vtxfmt code yet (just ↵Roland Scheidegger
generates vfmt fallback). Code by Andreas Stenglein, some small adjustments by me.
2005-10-13enable 3rd texture unit on radeon (default still 2 enabled units). Disable ↵Roland Scheidegger
some multitexcoord codegen stuff noone understands to make it work. Replace most code testing explicitly for unit 0 and 1 with loops instead of adding test for unit 2, smaller/more readable code at the cost of maybe some slight performance hit. (Code provided by Andreas Stenglein, some adjustments by me.)
2005-09-26fix projective texturing for (swtcl) texture rectangles. Fix wrong argument ↵Roland Scheidegger
order for texgen/texmat matrix multiplication.
2005-09-01s/__inline/INLINE/Brian Paul
2005-06-26Fix crashes during rasterization fallback by avoiding _tnl_need_projected_coordsEric Anholt
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
2005-05-31Remove unused CTX_ARG2 define.Eric Anholt
2005-05-31Bugzilla #2195: Convert the radeon driver to the t_vertex interface. This cutsEric Anholt
about 200 lines from the code and 25k from the binary, while matching other drivers more closely. In the worst case (tcl_mode=0) it appears to have a performance cost of 4.4% +/- 0.3% on quake3 (800x600 demofours, 1ghz p3, rv200). Tested on ut2004, ut, q3, projtex. Submitted by: Andreas Stenglein <a.stenglein@gmx.net>
2005-05-28Add a missing EnsureCmdBufSpace, matching r200.Eric Anholt
2005-04-22First pass at updating these drivers with pipeline_stage struct changes.Keith Whitwell
2005-02-16s/0/NULL/ (Jeff Muizelaar)Brian Paul
2004-12-14uint*t -> u_int*t changesAlan Hourihane
2004-12-02silence warningsAlan Hourihane
2004-09-24Clean up some warnings in the R100 driver with -O -Wall.Eric Anholt
2004-08-17Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt
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%).
2004-08-16Remove unused HAVE_INDEX define.Eric Anholt
2004-07-01Rename the various function types in t_context.h to include a tnl_ prefix.Keith Whitwell
2004-01-27Consolidate texObj->Pos/Neg/X/Y/Z and texObj->Image into a singleKeith Whitwell
array, texObj->Image[face][level].
2004-01-05Re-commit t_vertex.[ch] changes to fd.o server.Keith Whitwell
2003-12-11Updates to tnl_dd_dmatmp.hKeith Whitwell
- 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.