summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: fix wierd performance regression in isosurfKeith Whitwell2010-09-121-6/+8
| | | | | | | | | | | | I really don't understand the mechanism behind this, but it seems like the way data blocks for a scene are malloced, and in particular whether we treat them as stack or a queue, and whether we retain the most recently allocated or least recently allocated has a real affect (~5%) on isosurf framerates... This is probably specific to my distro or even just my machine, but none the less, it's nicer not to see the framerates go in the wrong direction.
* llvmpipe: Only generate the whole shader specialization for opaque shaders.José Fonseca2010-09-121-1/+7
| | | | | If not opaque, then the color buffer will have to be read any way, therefore the specialization is pointless.
* pb: add void * for flush ctx to mapping functionsDave Airlie2010-09-121-1/+1
| | | | | | | | | | If the buffer we are attempting to map is referenced by the unsubmitted command stream for this context, we need to flush the command stream, however to do that we need to be able to access the context at the lowest level map function, currently we set the buffer in the toplevel map, but this racy between context. (we probably have a lot more issues than that.) I'll look into a proper solution as suggested by jrfonseca when I get some time.
* nv30: fix breakage due to 10 texcoord support on nv40Luca Barbieri2010-09-111-2/+2
|
* r600g: Undo bo placement change.Tilman Sauerbeck2010-09-111-1/+1
| | | | | | | This reverts a part of e795ca8f3175fa6fd97b6b2ef2775e3f8803012a that causes artefacts and a performance drop. Signed-off-by: Tilman Sauerbeck <[email protected]>
* llvmpipe: Silence some warnings.José Fonseca2010-09-111-2/+2
|
* llvmpipe: Don't store display the alpha ref value in the key.José Fonseca2010-09-114-12/+13
| | | | It's never used.
* gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca2010-09-111-1/+1
| | | | More accurate description of this function purpose.
* llvmpipe: restore larger command blocksKeith Whitwell2010-09-111-1/+1
|
* llvmpipe: move some debug to DEBUG_SCENEKeith Whitwell2010-09-111-2/+2
|
* llvmpipe: add DEBUG_MEM optionKeith Whitwell2010-09-113-0/+14
|
* llvmpipe: allow bigger scenesKeith Whitwell2010-09-111-1/+1
|
* r300/compiler: Enable presubtract sourcesTom Stellard2010-09-102-0/+2
| | | | | | | The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
* r600g: Fixed a bo reference leak in the draw module.Tilman Sauerbeck2010-09-101-0/+5
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Fixed a bo leak in r600_texture_from_handle().Tilman Sauerbeck2010-09-101-5/+6
| | | | | | We would leak bo if the argument check failed. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Don't leave stale references in query_list when we cannot create bo.Tilman Sauerbeck2010-09-101-1/+3
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Implemented the y component write for the LOG opcode.Tilman Sauerbeck2010-09-101-5/+90
| | | | | | This makes the 'vp1-LOG test' piglit test work. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: fixup state calculations for picking states.Dave Airlie2010-09-101-0/+1
| | | | | for evergreen I ended up using a non-contig array of states, but this code needs a bit of fixing up to deal with that.
* r600g: fixup CB state numbering headerDave Airlie2010-09-103-95/+36
|
* r600g: fix warning in r600 pipe driverDave Airlie2010-09-103-15/+14
|
* r600g: evergreen CBs are more sane to support with a single stateDave Airlie2010-09-101-1/+1
|
* r600g: add initial evergreen supportDave Airlie2010-09-1020-40/+4548
| | | | | | | | | | adds shader opcodes + assembler support (except ARL) uses constant buffers add interp instructions in fragment shader adds all evergreen hw states adds evergreen pm4 support. this runs gears for me on my evergreen
* r600g: align flushing of cb/db with DDX/r600c.Dave Airlie2010-09-103-0/+60
| | | | | | | | | the DDX and r600c both flush cb/db after the draw is emitted, as long as they do that, r600g can't be different, as it races. We end up with r600g flush, set CB, DDX set CB, flush. This was causing misrendering on my evergreen, where sometimes the drawing would go to an old CB.
* r600g: don't need 3 bos here.Dave Airlie2010-09-101-6/+2
| | | | the code should reloc correctly a single BO 3 times.
* llvmpipe: remove redundant tgsi_dup_tokens() callBrian Paul2010-09-091-3/+0
| | | | We were calling this twice so the first allocation was orphaned/leaked.
* r600g: add initial bank swizzle support.Dave Airlie2010-09-084-4/+295
| | | | | this is ported from r600c mostly, bank swizzling is real messy and I don't think I got enough sleep last night to fully understand it.
* r600g: Added missing r600_bc_add_literal() calls to XPD implementation.Tilman Sauerbeck2010-09-081-0/+8
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: Added preliminary support for the LOG opcode.Tilman Sauerbeck2010-09-081-1/+121
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: Added missing abs-ification to RSQ.Tilman Sauerbeck2010-09-081-1/+30
| | | | | | This makes the 'fp1-RSQ test 2' piglit test work. Signed-off-by: Dave Airlie <[email protected]>
* r600g: split opcodes out and add wrapper around usage.Dave Airlie2010-09-084-208/+233
| | | | | | This splits the r600 opcodes out of the sq file and adds a wrapper so we can convert to evergreen opcodes later without touching these functions too much.
* r600g: add support for constants in memory buffers.Dave Airlie2010-09-0812-51/+143
| | | | | | DX9 constants were in the constant file, and evergreen no longer support cfile. r600/700 can also use constants in memory buffers, so add the code (disabled for now) to enable that as precursor for evergreen.
* r600g: abstract the hw states out behind a vtbl.Dave Airlie2010-09-087-975/+1103
| | | | | this is step one towards evergreen support, it lets us plug in whole new hw level states.
* llvmpipe: Add lp_rast_debug.c to Makefile.Chia-I Wu2010-09-071-0/+1
|
* llvmpipe: Refactor lp_scene_add_resource_referenceJosé Fonseca2010-09-071-14/+15
| | | | Less goto spaghetti.
* llvmpipe: Fix negated logic in lp_scene_add_resource_reference().José Fonseca2010-09-071-1/+1
| | | | Fixes performance regression.
* llvmpipe: move more coef setup into lp_setup_coef.cKeith Whitwell2010-09-074-40/+61
|
* llvmpipe: declare fence handle structKeith Whitwell2010-09-071-0/+1
|
* llvmpipe: rasterization debugging helpersKeith Whitwell2010-09-077-0/+428
|
* llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell2010-09-0715-441/+513
| | | | Also, move some state from rasterizer struct to the scene.
* llvmpipe: rearrange queriesKeith Whitwell2010-09-074-116/+53
|
* llvmpipe: enforce fixed memory limit on scenesKeith Whitwell2010-09-0711-341/+459
|
* llvmpipe: clean up deferred zstencil clearsKeith Whitwell2010-09-076-79/+41
|
* llvmpipe: rework fences and queriesKeith Whitwell2010-09-077-92/+124
|
* llvmpipe: move whole-tile emit into a functionKeith Whitwell2010-09-072-8/+42
|
* llvmpipe: put fs variant dumping in a functionKeith Whitwell2010-09-072-4/+15
|
* nvfx: fix return in vp mainLuca Barbieri2010-09-061-17/+39
|
* r600g: add error print for no literals for r700s as wellDave Airlie2010-09-061-0/+3
|
* r600g: fixup r700 assembler for clamp/relative addressingDave Airlie2010-09-061-13/+18
|
* r600g: add script to generate header file with offsets into state objects.Dave Airlie2010-09-062-412/+525
| | | | | | | | This was inherently fragile as any changes to r600_states.h would also need manual updating of all of the bits in radeon.h. Just add a simple python script to do the conversion, its not hooked up to make at all. This also will make adding evergreen a bit easier.
* r600g: fix up surface referencesDave Airlie2010-09-061-4/+2
| | | | | We end up referencing the new surf and derefing the old surface which is a copy of the pointer to the new surf. So just bump the ref count directly.