summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_common.c
AgeCommit message (Collapse)Author
2009-08-21radeon: protect against buffer overflow in state atom debug code.Pauli Nieminen
2009-08-21radeon: Improve state emit code.Pauli Nieminen
Trying to make understanding code easier with small refactoring and renaming.
2009-08-21r300: Predict emit size for next rendering operation.Pauli Nieminen
We do flush for cmd buffer in case there isn't enough space left for whole rendering operation. This protects dma regions from getting released in middle of state emit. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Remove unnecessary calls to rcommonEnsureCmdBufSpace.Pauli Nieminen
Calling EnsureCmdBufSpace is not required because rendering pipeline has to quarentee free space. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Fix atom->check call to return emit size for atom.Pauli Nieminen
This patch makes render emit size prediction count the corect maximum emit size for state. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Prevent flush in middle of rendering.Pauli Nieminen
Patch adds prediction functionthat tries to predict emit size to the smallest possible values that is quarenteed to be higher than worst case scenario in rendering pipeline. State emit size prediction code is in place but fix for emit sizes is included in next patch. 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-08-18r300: OQ reworkDave Airlie
Move to common code base so radeon/r200 can add support for this. Make OQ start a state emitted like all normal state, and make no-tcl flushing work in proper places. Really need a generic post emit space reservation mechanism like max_state so we can reserve some space for the emit this code passes demos/arbocclude, piglit occlusion query and glean occlusion query with TCL and NO-TCL on my rv530.
2009-08-15r300: clear not_flushed OQ list after flushMaciej Cencora
2009-08-11r600: use the drm ioctls for swap and texture uploadAlex Deucher
NOTE: THIS REQUIRES AN UPDATED DRM!
2009-08-03radeon: Fix inverted test for disabling flushing of front buffer output.Eric Anholt
(corresponding fix to the intel driver one)
2009-07-31radeon: Cliprects has to be updated before doing anything with clip rectanglesPauli Nieminen
Reported to fix corruption while dragging an active window by John Bridgman. Signed-off-by: Pauli Nieminen <suokkos@gmail.com> Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-15Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa ↵Alex Deucher
into r6xx-rewrite This builds, but I get an assertion in radeonGetLock() due to the drawable being null.
2009-07-15make sure ctx->Driver.Flush is valid before calling itAlex Deucher
2009-07-15Use memcpy directly in the common codeAlex Deucher
This alleviates the need for an additional symbol.
2009-07-14R6xx/r7xx: implement memcpy buffer swapsAlex Deucher
This allows double buffered apps to run, but perfomance will be awful until we implement something faster. You must update to the latest kernel modules.
2009-07-15intel/radeon: add common metaops code.Dave Airlie
Move all the metaops to a dri_metaops file and port radeon/intel to use the new common meta ops code.
2009-07-15radeon: fix unsigned vs signed comparison in stencil code.Dave Airlie
This function takes a GLint not a GLuint, passing in -1 breaks internally.
2009-07-14radeon: port more front fixes from intel.Dave Airlie
Port fixes to read buffer from front.
2009-07-14radeon: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.Dave Airlie
The _Enabled field isn't updated at the point that DrawBuffers is called, and the Driver.Enable() function does the testing for stencil buffer presence anyway.
2009-07-12radeon: update clear code from Intel codebase.Dave Airlie
This updates some of the clear code from Intel gives a 5x clearspd perf for me here. played openarena also, not sure if the viewport changes broke anything,
2009-07-11radeon: Fix scissor rectangle calculation when rendering to FBO.Michel Dänzer
fgl_glxgears -fbo runs, though the gears don't look right yet.
2009-07-08radeon: fix copy and paste typoMaciej Cencora
2009-07-06radeon/r200/r300: port to new space checking code in libdrmDave Airlie
This moves a big chunk of the space checking code into libdrm so it can be shared by the DDX.
2009-06-18radeon: don't re-add BOs to validate listDave Airlie
if its on the list its on the list don't go readding it. multitexturing from the same texture could cause this.
2009-06-17radeon: Flush command buffer on viewport changeJerome Glisse
We flush the command buffer so we don't emit mixed state (with new and previous buffer size) command buffer, this is especialy affecting zbuffer states.
2009-06-12Merge master and fix conflictsAlex Deucher
2009-05-25radeon: on update drawable don't firevertices as it might be call from GetLockJerome Glisse
To avoid locking bug we shouldn't not call firevertices from this path as it's call from radeon get lock.
2009-05-24radeon: Remove drawable & readable from radeon_dri_mirrorNicolai Hähnle
The duplication of state data caused a crash due to double-free on destruction of context, because a variable wasn't correctly null'ed out. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-05-20radeon: Increase reference count of current renderbuffers.Michel Dänzer
Fixes glxinfo: main/renderbuffer.c:2159: _mesa_reference_renderbuffer: Assertion `oldRb->Magic == 0xaabbccdd' failed.
2009-05-13Call _mesa_update_stencil() before accessing ctx->Stencil._EnabledOwen W. Taylor
ctx->Stencil._Enabled is derived state and not immediately updated when the stencil parameters are changed; we need to make sure that it is up-to-date before accessing it. https://bugs.freedesktop.org/show_bug.cgi?id=21608
2009-05-10radeon: add support for new dri2 interfaces & fix single buffer renderingJoel Bosveld
2009-05-08R6xx/R7xx: WIP r6xx-rewrite codeRichard Li
2009-05-07r300: fix compiler warningsMaciej Cencora
2009-05-06When clearing the stencil buffer, don't use a two-sided stencilOwen W. Taylor
In radeon_clear_tris(), when clearing the stencil buffer, pass GL_FRONT_AND_BACK to _mesa_StencilFuncSeparate(), to avoid triggering a software fallback on r300 and below. https://bugs.freedesktop.org/show_bug.cgi?id=21601
2009-04-27r300: fix valgrind warningsMaciej Cencora
2009-04-27r300: add atom print function for kernel mm pathMaciej Cencora
2009-04-19radeon: update clear state with latest intel codeDave Airlie
2009-04-16radeon: take a bo reference when adding to validate listDave Airlie
2009-04-07radeon/r200/r300: fix missing dma buffer validationDave Airlie
this make gnome shell run
2009-04-06radeon: add support for new ttmJerome Glisse
2009-04-02radeon/r200/r300: fix up the whole buffer space checking.Dave Airlie
This fixes up the buffer validation scheme, so that we keep a list of buffers to validate so cmdbuf flushes during a pipeline get all the buffers revalidated on the next emit. This also fixes radeonFlush to not flush unless we have something useful to send to the GPU, like a DMA buffer or something not state
2009-03-26r300: check buffer sizes in non-tcl case + set correct VRAM limitsDave Airlie
2009-03-23raedon/r200/r300: mega-FBO commits.Dave Airlie
Re work depth issues. Do a lot more FBO abstactions fixup depth/stencil buffer interactions
2009-03-22radeon fbo: add draw offset calcsDave Airlie
2009-03-21radeon: fixup span code for FBOsDave Airlie
2009-03-20Merge remote branch 'main/master' into radeon-rewriteDave Airlie
Conflicts: src/mesa/drivers/dri/r300/r300_cmdbuf.c src/mesa/drivers/dri/r300/r300_state.c src/mesa/drivers/dri/r300/r300_swtcl.c src/mesa/drivers/dri/r300/radeon_ioctl.c src/mesa/drivers/dri/radeon/radeon_screen.c
2009-03-19radeon: fix up locking like the intel driver for pageflip/swapsDave Airlie
2009-03-16Fixup previous commit.Michel Dänzer
radeonScheduleSwap() already takes the lock in the SwapBuffers case, only the CopySubBuffer case was missing it.
2009-03-16radeon: Take the hardware lock for swaps and flips.Michel Dänzer
Otherwise they fail with AIGLX at least.