summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move nv30, nv50 and nvc0 to nouveau.Johannes Obermayr2013-09-111-2050/+0
| | | | | | | | | | | | | | | | It is planned to ship openSUSE 13.1 with -shared libs. nouveau.la, nv30.la, nv50.la and nvc0.la are currently LIBADDs in all nouveau related targets. This change makes it possible to easily build one shared libnouveau.so which is then LIBADDed. Also dlopen will be faster for one library instead of three and build time on -jX will be reduced. Whitespace fixes were requested by 'git am'. Signed-off-by: Johannes Obermayr <johannesobermayr@gmx.de> Acked-by: Christoph Bumiller <christoph.bumiller@speed.at> Acked-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Restore 78-column wrapping of license text in C-style comments.Kenneth Graunke2013-04-231-4/+4
| | | | | | | | | | | | | | The previous commit introduced extra words, breaking the formatting. This text transformation was done automatically via the following shell command: $ git grep 'THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY' | sed 's/:.*$//' | xargs -I {} sh -c 'vim -e -s {} < vimscript where 'vimscript' is a file containing: /THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY/;/\*\// !fmt -w 78 -p ' * ' :wq Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: Add "OR COPYRIGHT HOLDERS" to license text disclaiming liability.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | This brings the license text in line with the MIT License as published on the Open Source Initiative website: http://opensource.org/licenses/mit-license.php Generated automatically be the following shell command: $ git grep 'THE AUTHORS BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/THE AUTHORS/THE AUTHORS OR COPYRIGHT HOLDERS/' {} This introduces some wrapping issues, to be fixed in the next commit. Reviewed-by: Brian Paul <brianp@vmware.com>
* nvc0/ir: implement lowering of surface ops for nve4Christoph Bumiller2013-03-121-8/+14
|
* nv50/ir: add support for indirect BRA,CALLChristoph Bumiller2013-03-121-3/+6
|
* nv50/ir/ra: make sure all used function inputs get assigned a regChristoph Bumiller2013-03-121-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 listChristoph Bumiller2013-03-121-1/+3
|
* nv50/ir/ra: fix confusion with conditional RegisterSet::occupyChristoph Bumiller2013-03-121-11/+31
|
* nv50/ir/ra: swap copyCompound args if src is compound and dst isn'tChristoph Bumiller2013-03-121-0/+9
|
* nv50/ir/ra: Fix maxGPR calculation for programs with multiple functions.Francisco Jerez2013-03-121-1/+1
|
* nv50/ir/ra: Fix traversal before the beginning of the active list in buildRIG.Francisco Jerez2013-03-121-6/+5
|
* nv50/ir/ra: Fix RegisterSet::occupy(const Value *v).Francisco Jerez2013-03-121-1/+1
|
* nv50/ir/ra: Fix argument const-ness in RegisterSet::idToUnits and idToBytesFrancisco Jerez2013-03-121-2/+2
|
* nv50/ir: fix a couple of warningsChristoph Bumiller2013-01-191-5/+6
|
* nv50/ir/ra: Fix register interference tracking.Jay Cornwall2012-09-251-4/+4
| | | | See fdo bug 55224.
* nvc0/ir: add initial code to support GK110 ISA encodingChristoph Bumiller2012-09-071-0/+1
|
* nvc0/ir: fix lowering of textureGradChristoph Bumiller2012-05-061-4/+4
|
* nvc0/ir: implement better placement of texture barriersChristoph Bumiller2012-04-291-2/+0
| | | | | Put them before first uses instead of right after the texturing instruction and cull unnecessary barriers.
* nv50/ir/ra: Fix live set propagation in the secondary passes of buildLiveSets().Francisco Jerez2012-04-141-3/+3
|
* nv50/ir: rewrite the register allocator as GCRA, with spillingChristoph Bumiller2012-04-141-338/+1250
| | | | | This is more flexible than the linear scan, and we don't need the separate allocation pass for constrained values anymore.
* nv50/ir/ra: Allocate registers for function arguments.Francisco Jerez2012-04-141-0/+6
|
* nv50/ir: Take into account function args in the live range calculation code.Francisco Jerez2012-04-141-3/+19
|
* nv50/ir/ra: Use matching physical regs for function args in caller and callee.Francisco Jerez2012-04-141-6/+83
|
* nv50/ir: Scan program functions in DFS-postorder.Francisco Jerez2012-04-141-3/+3
| | | | | | The reason is that several passes (regalloc, function argument binding, inlining) are going to require the callees of a function to be processed before the caller.
* nv50/ir: make Instruction::src/def container privateChristoph Bumiller2012-04-141-6/+6
|
* nv50/ir: Add support for unlimited instruction arguments.Francisco Jerez2012-04-141-7/+10
|
* nv50/ir/ra: don't coalesce contraint-movesChristoph Bumiller2012-01-101-0/+4
| | | | | | | | This could lead to incorrect code when fixed regs are involved. Surprisingly, the increased freedom actually leads to lower register usage in some cases. Still want to find a better way to treat constraints though ...
* nv50/ir: fix textureGrad with offsets and in non-FPsChristoph Bumiller2011-10-211-0/+2
|
* nv50/ir: add missing license headersChristoph Bumiller2011-09-141-0/+21
|
* nv50/ir: import new shader backend codeChristoph Bumiller2011-09-141-0/+963