Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | r600g: fixup state calculations for picking states. | Dave Airlie | 2010-09-10 | 1 | -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 header | Dave Airlie | 2010-09-10 | 3 | -95/+36 |
| | |||||
* | r600g: fix warning in r600 pipe driver | Dave Airlie | 2010-09-10 | 3 | -15/+14 |
| | |||||
* | r600g: evergreen CBs are more sane to support with a single state | Dave Airlie | 2010-09-10 | 1 | -1/+1 |
| | |||||
* | r600g: add initial evergreen support | Dave Airlie | 2010-09-10 | 20 | -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 Airlie | 2010-09-10 | 3 | -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 Airlie | 2010-09-10 | 1 | -6/+2 |
| | | | | the code should reloc correctly a single BO 3 times. | ||||
* | llvmpipe: remove redundant tgsi_dup_tokens() call | Brian Paul | 2010-09-09 | 1 | -3/+0 |
| | | | | We were calling this twice so the first allocation was orphaned/leaked. | ||||
* | r600g: add initial bank swizzle support. | Dave Airlie | 2010-09-08 | 4 | -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 Sauerbeck | 2010-09-08 | 1 | -0/+8 |
| | | | | Signed-off-by: Dave Airlie <[email protected]> | ||||
* | r600g: Added preliminary support for the LOG opcode. | Tilman Sauerbeck | 2010-09-08 | 1 | -1/+121 |
| | | | | Signed-off-by: Dave Airlie <[email protected]> | ||||
* | r600g: Added missing abs-ification to RSQ. | Tilman Sauerbeck | 2010-09-08 | 1 | -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 Airlie | 2010-09-08 | 4 | -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 Airlie | 2010-09-08 | 12 | -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 Airlie | 2010-09-08 | 7 | -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 Wu | 2010-09-07 | 1 | -0/+1 |
| | |||||
* | llvmpipe: Refactor lp_scene_add_resource_reference | José Fonseca | 2010-09-07 | 1 | -14/+15 |
| | | | | Less goto spaghetti. | ||||
* | llvmpipe: Fix negated logic in lp_scene_add_resource_reference(). | José Fonseca | 2010-09-07 | 1 | -1/+1 |
| | | | | Fixes performance regression. | ||||
* | llvmpipe: move more coef setup into lp_setup_coef.c | Keith Whitwell | 2010-09-07 | 4 | -40/+61 |
| | |||||
* | llvmpipe: declare fence handle struct | Keith Whitwell | 2010-09-07 | 1 | -0/+1 |
| | |||||
* | llvmpipe: rasterization debugging helpers | Keith Whitwell | 2010-09-07 | 7 | -0/+428 |
| | |||||
* | llvmpipe: use opcodes instead of function pointers in bins | Keith Whitwell | 2010-09-07 | 15 | -441/+513 |
| | | | | Also, move some state from rasterizer struct to the scene. | ||||
* | llvmpipe: rearrange queries | Keith Whitwell | 2010-09-07 | 4 | -116/+53 |
| | |||||
* | llvmpipe: enforce fixed memory limit on scenes | Keith Whitwell | 2010-09-07 | 11 | -341/+459 |
| | |||||
* | llvmpipe: clean up deferred zstencil clears | Keith Whitwell | 2010-09-07 | 6 | -79/+41 |
| | |||||
* | llvmpipe: rework fences and queries | Keith Whitwell | 2010-09-07 | 7 | -92/+124 |
| | |||||
* | llvmpipe: move whole-tile emit into a function | Keith Whitwell | 2010-09-07 | 2 | -8/+42 |
| | |||||
* | llvmpipe: put fs variant dumping in a function | Keith Whitwell | 2010-09-07 | 2 | -4/+15 |
| | |||||
* | nvfx: fix return in vp main | Luca Barbieri | 2010-09-06 | 1 | -17/+39 |
| | |||||
* | r600g: add error print for no literals for r700s as well | Dave Airlie | 2010-09-06 | 1 | -0/+3 |
| | |||||
* | r600g: fixup r700 assembler for clamp/relative addressing | Dave Airlie | 2010-09-06 | 1 | -13/+18 |
| | |||||
* | r600g: add script to generate header file with offsets into state objects. | Dave Airlie | 2010-09-06 | 2 | -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 references | Dave Airlie | 2010-09-06 | 1 | -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 Airlie | 2010-09-06 | 1 | -0/+17 |
| | | | | Need to remove from context as well. | ||||
* | r600g: add missing printf operand | Dave Airlie | 2010-09-06 | 1 | -1/+1 |
| | |||||
* | nvfx: support nv30 simulation on nv40 | Luca Barbieri | 2010-09-05 | 7 | -32/+50 |
| | |||||
* | nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.h | Luca Barbieri | 2010-09-05 | 4 | -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-ng | Luca Barbieri | 2010-09-05 | 3 | -17/+1518 |
| | |||||
* | nvfx: switch to rules-ng-ng register headers | Luca Barbieri | 2010-09-05 | 18 | -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 uses | Luca Barbieri | 2010-09-05 | 2 | -15/+18 |
| | |||||
* | nvfx: pause occlusion queries during blitter usage | Luca Barbieri | 2010-09-05 | 4 | -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 == 1 | Luca Barbieri | 2010-09-05 | 1 | -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 vp | Luca Barbieri | 2010-09-05 | 2 | -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 support | Luca Barbieri | 2010-09-05 | 8 | -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 message | Luca Barbieri | 2010-09-05 | 1 | -1/+1 |
| | |||||
* | llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code. | José Fonseca | 2010-09-05 | 1 | -49/+0 |
| | |||||
* | llvmpipe: Fix perspective divide interpolation. | José Fonseca | 2010-09-05 | 2 | -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é Fonseca | 2010-09-05 | 2 | -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é Fonseca | 2010-09-05 | 1 | -3/+2 |
| | | | | Much more convenient than boolean arrays. | ||||
* | r300g,r300c: memset the compiler struct to zeros | Marek Olšák | 2010-09-05 | 1 | -0/+1 |
| | | | | This should fix bogus reports "Too many temporaries." and maybe some others. |