summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_render.c
AgeCommit message (Collapse)Author
2010-11-08mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.Mario Kleiner
A call to radeon_prepare_render() at the beginning of draw operations was placed too deep in the call chain, inside r300RunRenderPrimitive(), instead of r300DrawPrims() where it belongs. This leads to emission of stale target color renderbuffer into the cs if bufferswaps via page-flipping are used, and thereby causes massive rendering corruption due to unsynchronized rendering into the active frontbuffer. This patch fixes such problems for use with the upcoming radeon page-flipping patches. Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
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-04-11r300: respect radeon common code fallbacksMaciej Cencora
Fixes progs/demos/shadowtex under KMS
2010-04-11r300: set proper vertex index limits also in non indexed modeMaciej Cencora
Fixes #27521, broken menus in UT2004 and broken water refraction in Sauerbraten.
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-01-23r300: Remove unnecessary headers.Vinson Lee
2009-11-14r300: remove unneeded includesMaciej Cencora
2009-09-21r300: fix a typoMaciej Cencora
2009-08-31r300: Convert to shared debug code.Pauli Nieminen
2009-08-24Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into ↵Pauli Nieminen
r600_state_predict Conflicts: src/mesa/drivers/dri/r300/r300_cmdbuf.c src/mesa/drivers/dri/radeon/radeon_cmdbuf.h
2009-08-23r300: fix a typoMaciej Cencora
2009-08-21r300: Remove calls to rcommonEnsureCmdBufSpace.Pauli Nieminen
All rendering is checked in r300PredictTryDrawPrimsSize which mamde these calls useless.
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-17r300: split vbo rendering with big drawarray caseJerome Glisse
Split vbo rendering when the number of elements requested by drawarrays is bigger than 65536.
2009-08-15r300: add occlusion queries supportMaciej Cencora
TODO: - use proper interface for checking if bo is idle when it's available - disable ZTOP only when needed - make it work under KMS
2009-08-15r300: add just in case warn I don't think this can actually happenDave Airlie
2009-08-15radeon: enable vertex splitting for IBsDave Airlie
Based on Maciej's code, just fixed up the alignments for INDX_BUFFER ut2004 runs AS-Convoy
2009-08-14r300: remove broken vertex splittingMaciej Cencora
Revert to previous behaviour of dropping to big render operations.
2009-08-14r300: rework index buffer setupMaciej Cencora
Copy elements directly to DMA bo to get rid of one memcpy, and prepare for using VBOs for index buffer.
2009-08-14r300: remove unused software TNL pathMaciej Cencora
This doesn't remove software TCL path - so RS480 and RS690 work as before.
2009-07-12r300: move fallback warnings inside fallback debuggingDave Airlie
random output is bad
2009-07-05r300: fix vertex limitsMaciej Cencora
- don't limit vertex count if we are using indices - max indices count is 65535 not 65536 - remove some comments that don't apply anymore - remove unreachable code
2009-06-18r300: use vbo_split_prims to split up large vertex buffers.Dave Airlie
This lets ut2004 avoid hitting the elt warning.
2009-06-11r300: fix indexed primitive rendering when using memory managerJerome Glisse
2009-06-10r300: make sure indexed rendering doesn't try to use more than the num of ↵Jerome Glisse
vertices When with memory manager we need to make sure the GPU won't try to access beyond vertex buffer size, do so by enforcing that the maximun index is the last vertex of the buffer.
2009-06-07r300: Endianness fixes for recent vertex path changes.Michel Dänzer
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2009-06-07r300: rewrite vertex setup for software T&L path using functions from ↵Maciej Cencora
software TCL path
2009-06-07r300: add hw accelerated support for different vertex data formatsMaciej Cencora
2009-05-28r300: when using cs path emit scissor in the cmdbufferJerome Glisse
2009-05-16r300: software fallbacking handling rewriteMaciej Cencora
Until now falling back to software rasterizer worked only for TCL enabled cards. For non TCL cards we used to plug our rendering functions in r300InitSwtcl, and we had never restored original functions for software rasterizer.
2009-05-16r300: r300EmitArrays should never failMaciej Cencora
2009-05-16r300: further cleanupMaciej Cencora
- move extensions init into seperate function - move options handling into seperate function - create new structure to hold options values - use context->options.hw_tcl_enabled field instead of global hw_tcl_on and future_hw_tcl_on variables
2009-04-27r300: fallback only if stencil test is enabledMaciej Cencora
2009-04-19r300: move common fp functions to seperate fileMaciej Cencora
2009-04-19r300: merge r300/r500 fragment program structuresMaciej Cencora
2009-04-19r300: r300/r500 fp shader merge WIPMaciej Cencora
2009-04-17r300: cleanup frag prog setup a littleMaciej Cencora
Use proper fields for marking if fp is translated, and if is translated succesfully. Now if fp gets translated (even unsuccesfully) fp->translated is true. If the translation failed (i.e. because we exceeded limit of maximum texture indirections) the fp->error is set. With a little updated fallback function it prevents non native fragment programs from beeing translated with every frame (the translation would fail anyway so there's no point to try again). Also implement IsProgramNative function for GL_FRAGMENT_PROGRAM_ARB (it should give some performance boost in apps that checks if program is native and falls back to simpler shader to meet hw limits if necessary) and cleanup indentation (remove whitespaces on empty lines).
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-26r300: check buffer sizes in non-tcl case + set correct VRAM limitsDave Airlie
2009-03-03radeon: refactor framebuffer code like intelDave Airlie
this is a step towards fbos and should fix pageflipping, but I think the first flip seems broken.
2009-02-13Merge remote branch 'origin/master' into radeon-rewriteDave Airlie
Conflicts: configure.ac src/mesa/drivers/dri/r200/r200_context.c src/mesa/drivers/dri/r300/r300_render.c
2009-02-12r200/r300: get up to speed on renamed filesDave 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-06r300: fix some autostate batch setupsDave Airlie
2009-02-04r300: fix up CS for modesetting - gears under kms worksDave Airlie
2009-02-02r300: rename validate textures to validate buffersDave Airlie
2009-01-31r200/r300: add aperture space checksDave Airlie