summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* r600g: search for sampler views in context on removal.Dave Airlie2010-09-061-0/+17
| | | | Need to remove from context as well.
* r600g: add missing printf operandDave Airlie2010-09-061-1/+1
|
* nvfx: support nv30 simulation on nv40Luca Barbieri2010-09-057-32/+50
|
* nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.hLuca Barbieri2010-09-054-9050/+1775
| | | | | | | nv50 should switch to rules-ng-ng too at some point. The classic Mesa Nouveau driver also includes a copy of nouveau_class.h, and should convert to rules-ng-ng too and remove it.
* nvfx: move nv04_2d to rules-ng-ngLuca Barbieri2010-09-053-17/+1518
|
* nvfx: switch to rules-ng-ng register headersLuca Barbieri2010-09-0518-334/+2587
| | | | | | | | | | This is the new register generation toolkit in use by nouveau. As far as I know, this is the best register description toolkit in existence, and you should use it too for your hardware :) Thanks to Marcin Kościelnicki for inventing it and performing invaluable reverse engineering work of nVidia chips.
* nvfx: remove remaining BEGIN_RING/eng3d usesLuca Barbieri2010-09-052-15/+18
|
* nvfx: pause occlusion queries during blitter usageLuca Barbieri2010-09-054-10/+36
| | | | | Thanks for Dave Airlie and Jerome Glisse for their code which made me realize I need this too.
* nvfx: properly return fogcoord.w == 1Luca Barbieri2010-09-051-1/+15
| | | | | Hardware sets it to 0, so we add an ADD to put an 1 there if the application really wants the alpha channel.
* nvfx: support saturate in vpLuca Barbieri2010-09-052-66/+93
| | | | | | Completely untested, since Mesa apparently never uses this currently. In particular, it might not work with scalar slot op.
* nvfx: add rewritten swtnl supportLuca Barbieri2010-09-058-263/+238
| | | | | | | | The old swtnl code was broken by the new shader linkage support for GLSL. This is a rewrite of swtnl support, which should instead work properly, be faster and more closer to the much more tested hardware pipeline.
* nvfx: use a piglit-ignored format for unknown cap messageLuca Barbieri2010-09-051-1/+1
|
* llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code.José Fonseca2010-09-051-49/+0
|
* llvmpipe: Fix perspective divide interpolation.José Fonseca2010-09-052-9/+76
| | | | | | | | | | Intuition != mathematics, so this time I actually worked out the right formula for first order approximation of perspective interpolation. Ironically, per quad divide actually makes things slower when compared with per pixel divide -- probably because the divide hardware unit is rarely used, whereas the multiply unit is typically already saturated and the first order approximation imply more multiplications.
* llvmpipe: Relax the colormask constraint on opaque.José Fonseca2010-09-052-13/+29
| | | | | | Also, include the color buffer in the key. Not having it there causes a tight knots in the logic to determine when it is OK or not to discard previous color buffer contents.
* gallivm: Pass condition masks as an unsigned bitmask.José Fonseca2010-09-051-3/+2
| | | | Much more convenient than boolean arrays.
* r300g,r300c: memset the compiler struct to zerosMarek Olšák2010-09-051-0/+1
| | | | This should fix bogus reports "Too many temporaries." and maybe some others.