Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | nvc0/ir: try to fix CAS (CompareAndSwap) | Christoph Bumiller | 2013-03-12 | 2 | -1/+42 |
| | |||||
* | nv50/ir: add CCTL (cache control) op | Christoph Bumiller | 2013-03-12 | 5 | -4/+33 |
| | |||||
* | nvc0/ir/emit: fix emission of large address offsets | Christoph Bumiller | 2013-03-12 | 1 | -8/+50 |
| | |||||
* | nvc0: add SHADER/COMPUTE_RESOURCE bind flags to format table | Christoph Bumiller | 2013-03-12 | 1 | -43/+53 |
| | |||||
* | nouveau: align PIPE_BIND_SHADER,COMPUTE_RESOURCEs to 256 bytes | Christoph Bumiller | 2013-03-12 | 1 | -1/+3 |
| | |||||
* | nv50,nvc0: copy writable flag on surface creation | Christoph Bumiller | 2013-03-12 | 2 | -0/+2 |
| | |||||
* | nv50/ir: add support for different sampler and resource index on nve4 | Christoph Bumiller | 2013-03-12 | 3 | -37/+51 |
| | | | | | | | | | | And remove non-working code for indirect sampler/resource selection. Will be added back later. Includes code from "nv50/ir/tgsi: Resource indirect indexing" by Francisco Jerez (when mixing the R and S handles we can only specify them via a register, i.e. indirectly, unless we upload all the used handle combinations to c[] space, which we don't for now). | ||||
* | nv50/ir: implement splitting of 64 bit ops after RA | Christoph Bumiller | 2013-03-12 | 6 | -39/+98 |
| | |||||
* | nvc0/ir: skip back edges when determining latest sched value | Christoph Bumiller | 2013-03-12 | 1 | -3/+4 |
| | |||||
* | nvc0/ir: use large issue delay after RET, too | Christoph Bumiller | 2013-03-12 | 1 | -1/+1 |
| | |||||
* | nv50/ir: fix size adjustment for sched info for multiple functions | Christoph Bumiller | 2013-03-12 | 1 | -6/+11 |
| | |||||
* | nv50/ir: print function inputs and outputs | Christoph Bumiller | 2013-03-12 | 1 | -1/+22 |
| | |||||
* | nv50/ir/ssa: add a few comments regarding RenamePass | Christoph Bumiller | 2013-03-12 | 1 | -0/+19 |
| | |||||
* | nv50/ir/tgsi: Exclude local declarations from function prototypes. | Francisco Jerez | 2013-03-12 | 1 | -5/+28 |
| | |||||
* | nv50/ir/opt: try to make use of SUCLAMP addend | Christoph Bumiller | 2013-03-12 | 1 | -0/+45 |
| | |||||
* | nv50/ir: don't assert on type in Modifier.applyTo if it is 0 | Christoph Bumiller | 2013-03-12 | 1 | -0/+2 |
| | |||||
* | nv50/ir: add support for barriers | Christoph Bumiller | 2013-03-12 | 7 | -15/+161 |
| | | | | nv50 part by Francisco Jerez. | ||||
* | nv50/ir/tgsi: add support for atomics | Christoph Bumiller | 2013-03-12 | 1 | -0/+89 |
| | |||||
* | nv50/ir/tgsi: handle TGSI_OPCODE_LOAD,STORE | Christoph Bumiller | 2013-03-12 | 7 | -30/+303 |
| | | | | | | | | | | | | | | | | Squashed and (heavily) modified original patches by Francisco Jerez: nv50/ir/tgsi: Implement resource LOAD/STORE (wip). nv50/ir/tgsi: Emit SUST/SULD for surface access, and add CB LOAD/STORE support nv50/ir/tgsi: Fix/clean up the LOAD/STORE handling code. Left out for now: nv50/ir/tgsi: Resource indirect indexing Treating raw, read-only surfaces as constant buffers (CBs) was removed because CBs are limited to a size of 64 KiB which isn't desireable, and because this decision should probably be made by the state tracker. If we used a number of CB slots for surfaces, it might find that we cannot accomodate the advertised limit. | ||||
* | nvc0/ir: don't replace load from input in COMPUTE progs with VFETCH | Christoph Bumiller | 2013-03-12 | 1 | -2/+7 |
| | |||||
* | nvc0/ir: implement lowering of surface ops for nve4 | Christoph Bumiller | 2013-03-12 | 8 | -16/+429 |
| | |||||
* | nvc0/ir: add formatted surface load lib code, move to extra header | Christoph Bumiller | 2013-03-12 | 6 | -149/+1309 |
| | | | | | | OpenGL is nice and makes the user specify a format with an image unit. OpenCL is evil and doesn't, and what's better than adding a huge load of functions that we call indirectly to handle the conversion ? | ||||
* | nv50/ir: extend moveSources for delta < 0 | Christoph Bumiller | 2013-03-12 | 2 | -16/+31 |
| | |||||
* | nvc0/ir: lower atomics in s[] | Christoph Bumiller | 2013-03-12 | 1 | -0/+33 |
| | |||||
* | nvc0/ir/emit: implement INSBF, EXTBF, PERMT and ATOM | Christoph Bumiller | 2013-03-12 | 2 | -1/+133 |
| | |||||
* | nv50/ir/emit: handle OP_ATOM | Christoph Bumiller | 2013-03-12 | 1 | -0/+41 |
| | |||||
* | nvc0/ir/target: some ops can't be predicated, e.g. CALL | Christoph Bumiller | 2013-03-12 | 1 | -0/+8 |
| | |||||
* | nv50/ir/opt: CALLs cannot load | Christoph Bumiller | 2013-03-12 | 1 | -0/+3 |
| | |||||
* | nv50/ir: add support for indirect BRA,CALL | Christoph Bumiller | 2013-03-12 | 5 | -6/+29 |
| | |||||
* | nvc0/ir/emit: implement move to and logic ops on predicates | Christoph Bumiller | 2013-03-12 | 1 | -0/+45 |
| | |||||
* | nvc0/ir/emit: implement surface related ops | Christoph Bumiller | 2013-03-12 | 2 | -0/+301 |
| | |||||
* | nv50/ir: initialize CodeEmitters' specialized target fields | Christoph Bumiller | 2013-03-12 | 3 | -9/+10 |
| | |||||
* | nv50/ir/opt: make optimization aware of atomics, barriers, surface ops | Christoph Bumiller | 2013-03-12 | 2 | -1/+28 |
| | |||||
* | nv50/ir: add various new OPs that will be needed for compute | Christoph Bumiller | 2013-03-12 | 9 | -48/+179 |
| | |||||
* | nv50/ir: Rename "mkLoad" to "mkLoadv" for consistency. | Francisco Jerez | 2013-03-12 | 4 | -12/+21 |
| | |||||
* | nv50/ir: fix comparison of system values | Christoph Bumiller | 2013-03-12 | 1 | -0/+3 |
| | |||||
* | nv50/ir/tgsi: Translate grid-related system parameters. | Francisco Jerez | 2013-03-12 | 1 | -0/+4 |
| | |||||
* | nv50/ir/tgsi: Accept COMPUTE programs. | Francisco Jerez | 2013-03-12 | 1 | -0/+1 |
| | |||||
* | nv50/ir/ra: make sure all used function inputs get assigned a reg | Christoph Bumiller | 2013-03-12 | 1 | -0/+7 |
| | | | | | | A live range [0, 0) counts as empty. For function inputs this can be a problem, so insert a nop at the beginning to make it [0, 1). This is a bit of a hack but also the most simple solution. | ||||
* | nv50/ir/ra: also add pre-existing MERGE,SPLIT to constraint list | Christoph Bumiller | 2013-03-12 | 1 | -1/+3 |
| | |||||
* | nv50/ir/ra: fix confusion with conditional RegisterSet::occupy | Christoph Bumiller | 2013-03-12 | 2 | -12/+32 |
| | |||||
* | nv50/ir/ra: swap copyCompound args if src is compound and dst isn't | Christoph Bumiller | 2013-03-12 | 1 | -0/+9 |
| | |||||
* | nv50/ir/ra: Fix maxGPR calculation for programs with multiple functions. | Francisco Jerez | 2013-03-12 | 1 | -1/+1 |
| | |||||
* | nv50/ir/ra: Fix traversal before the beginning of the active list in buildRIG. | Francisco Jerez | 2013-03-12 | 1 | -6/+5 |
| | |||||
* | nv50/ir/ra: Fix RegisterSet::occupy(const Value *v). | Francisco Jerez | 2013-03-12 | 1 | -1/+1 |
| | |||||
* | nv50/ir/ra: Fix argument const-ness in RegisterSet::idToUnits and idToBytes | Francisco Jerez | 2013-03-12 | 1 | -2/+2 |
| | |||||
* | nv50/ir/opt: Fix tryPropagateBranch for BBs with several exit branches. | Francisco Jerez | 2013-03-12 | 1 | -28/+32 |
| | | | | | Comments and "if (bf->cfg.incidentCount() == 1)" condition added by Christoph Bumiller. | ||||
* | nv50/ir: Clean up references to function values before destroying them. | Francisco Jerez | 2013-03-12 | 1 | -0/+4 |
| | |||||
* | nouveau: Bail out from nouveau_fence_wait if flushing the pushbuf fails. | Francisco Jerez | 2013-03-12 | 1 | -2/+4 |
| | |||||
* | mesa: Use correct functions for enum conversion. | Vinson Lee | 2013-03-11 | 1 | -2/+2 |
| | | | | | | | | Fixes mixing enum types defects reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> |