summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* nvc0: add initial support for nve4+ (Kepler) chipsetsChristoph Bumiller2012-04-1527-159/+798
| | | | | | | | | Most things that work on Fermi should work on Kepler too. There are a few performance optimizations left to do, like better placement of texture barriers and adding scheduling data to the shader instructions (without them, a thread group will be masked for 32 cycles after each single instruction issue).
* radeonsi: s/DUAL_SOURCE_BLEND/MAX_DUAL_SOURCE_RENDER_TARGETS/Tom Stellard2012-04-141-1/+1
| | | | Fixes build broken by commit 0d29fb017bce0968240ae875af4b3702c2cd46ef
* nv50/ir/opt: extend handleCVT for nv50's SET u32 to f32 chainChristoph Bumiller2012-04-141-1/+17
|
* nv50/ir: print interpolation modeChristoph Bumiller2012-04-141-0/+22
|
* nv50: update FP linkage state on one/two-sided lighting switchChristoph Bumiller2012-04-142-1/+12
|
* nv50: delete old shader compiler filesChristoph Bumiller2012-04-147-7252/+0
|
* nv50: hook up to new shader code generatorChristoph Bumiller2012-04-1410-664/+262
|
* nv50/ir: import nv50 targetChristoph Bumiller2012-04-1413-220/+2476
|
* nv50/ir: fix off-by-ones in CSE and nvc0 insnCanLoadChristoph Bumiller2012-04-142-2/+2
|
* nv50/ir/tgsi: generate UCPs with actual outputs instead of SVsChristoph Bumiller2012-04-141-4/+20
| | | | | gl_ClipDistance is treated the same way, this is just nicer and easier assign slots for them on nv50.
* nv50/ir: Fix type of the instruction created by mkCmp() for dst in FILE_FLAGS.Francisco Jerez2012-04-141-1/+2
|
* nv50/ir: fix Instruction::isCommutationLegal for WAWChristoph Bumiller2012-04-141-4/+14
|
* nv50/ir/opt: Add isOptSupported() check in logical arith optimization.Francisco Jerez2012-04-141-8/+5
|
* nv50/ir/ra: Fix live set propagation in the secondary passes of buildLiveSets().Francisco Jerez2012-04-141-3/+3
|
* nv50/ir/opt: don't regard OP_WRSV as dead codeChristoph Bumiller2012-04-141-1/+2
|
* nv50/ir: add isUniform query to ValuesChristoph Bumiller2012-04-142-0/+24
|
* nv50/ir: rewrite the register allocator as GCRA, with spillingChristoph Bumiller2012-04-1411-418/+1475
| | | | | This is more flexible than the linear scan, and we don't need the separate allocation pass for constrained values anymore.
* nv50/ir/tgsi: only export x-component of PSIZEChristoph Bumiller2012-04-141-1/+5
|
* nvc0: fix emission of 3rd src in SET_AND,OR,XORChristoph Bumiller2012-04-141-0/+3
|
* nv50/ir: Fix BuildUtil::mkSelect and mkClobberFrancisco Jerez2012-04-141-6/+2
|
* nv50/ir: fix reg file conflicts with undefined-value placeholdersChristoph Bumiller2012-04-141-10/+19
|
* nv50/ir/opt: silence warning (int < Elements() signedness)Christoph Bumiller2012-04-141-1/+1
|
* nv50/ir/opt: fix combineSt access to wrong instructionChristoph Bumiller2012-04-141-1/+1
|
* nv50/ir/opt: another insn NULL check in phi eliminationChristoph Bumiller2012-04-141-0/+2
|
* nv50/ir/ssa: Take into account function inputs and outputs.Francisco Jerez2012-04-141-2/+30
|
* nv50/ir: Clean up before calculating instruction ordering for a new function.Francisco Jerez2012-04-142-0/+16
|
* 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-142-3/+28
|
* nv50/ir/ra: Use matching physical regs for function args in caller and callee.Francisco Jerez2012-04-141-6/+83
|
* nv50/ir/tgsi: Infer function inputs/outputs.Francisco Jerez2012-04-142-0/+87
| | | | | | | Edit: Don't do it for the main function of (graphics) shaders, its inputs and outputs always go through TGSI_FILE_INPUT/OUTPUT. This prevents all TEMPs from counting as live out and reduces register pressure.
* nv50/ir/tgsi: Replace the inlining logic with proper function calls.Francisco Jerez2012-04-145-68/+82
|
* nv50/ir: Decouple DataArray from the dictionary that maps locations to values.Francisco Jerez2012-04-144-223/+236
| | | | | | | | | | | The point is to keep an independent dictionary for each function. The array that was being used as dictionary has been converted into a "bimap" for two different reasons: first, because having an almost empty instance of an array with as many entries as registers there are in the program, once for every function, would be wasteful, and second, because we want to be able to map Value pointers back to locations at some point.
* nv50/ir/opt: don't delete instruction in removeFlow before its last useChristoph Bumiller2012-04-141-2/+2
|
* nv50/ir/opt: check BB equality before instruction ordering in CSEChristoph Bumiller2012-04-141-1/+1
|
* nv50/ir/opt: don't copy-propagate cond MOVs or MOVs to other reg filesChristoph Bumiller2012-04-141-0/+4
| | | | | We've never encountered the latter on nvc0, but on nv50 we have moves between GPRs and address regs.
* nv50/ir/opt: don't replace conditional definitions in CSEChristoph Bumiller2012-04-142-0/+10
|
* nv50/ir/opt: Update the symbol size when combining loads and stores.Francisco Jerez2012-04-141-0/+2
|
* nv50/ir: initialize FlowInstruction::builtinChristoph Bumiller2012-04-141-1/+1
|
* nv50/ir/opt: Fix for function calls.Francisco Jerez2012-04-141-2/+3
|
* nv50/ir: Build a "symbol" table with the binary offsets of each function.Francisco Jerez2012-04-147-5/+45
|
* nv50/ir: Add support for removing functions from a program.Francisco Jerez2012-04-142-0/+3
|
* nv50/ir: Scan program functions in DFS-postorder.Francisco Jerez2012-04-145-7/+16
| | | | | | 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: Deal with graph iterators using RAII.Francisco Jerez2012-04-146-70/+43
|
* nv50/ir: Add convenience method for calculating the live sets of a function.Francisco Jerez2012-04-143-7/+12
|
* nv50/ir: Add support code for calculating the clobber set of a BB or function.Francisco Jerez2012-04-143-0/+34
|
* nv50/ir/opt: Don't lose modifiers during constant folding.Francisco Jerez2012-04-143-72/+92
|
* nv50/ir/opt: Improve modifier handling.Francisco Jerez2012-04-143-24/+66
|
* nv50/ir: Add support for cloning FlowInsns, ImmediateVals and BBs.Francisco Jerez2012-04-143-0/+66
|
* nv50/ir: Decouple object cloning logic from the sub-object recursion policy.Francisco Jerez2012-04-147-68/+181
|
* nv50/ir: Make sure that several IR objects are destroyed on takedown.Francisco Jerez2012-04-143-3/+17
|