Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | nvc0: fix max varying count, move CLIPVERTEX,FOG out of the way | Christoph Bumiller | 2013-03-20 | 1 | -5/+18 |
| | | | | | | The card spews an error if I use all 128 generic slots. Apparently the real limit isn't just dictated by the address space layout. | ||||
* | gallium: add TGSI_SEMANTIC_TEXCOORD,PCOORD v3 | Christoph Bumiller | 2013-03-20 | 3 | -5/+3 |
| | | | | | | | | | | | | | | | This makes it possible to identify gl_TexCoord and gl_PointCoord for drivers where sprite coordinate replacement is restricted. The new PIPE_CAP_TGSI_TEXCOORD decides whether these varyings should be hidden behind the GENERIC semantic or not. With this patch only nvc0 and nv30 will request that they be used. v2: introduce a CAP so other drivers don't have to bother with the new semantic v3: adapt to introduction gl_varying_slot enum | ||||
* | tgsi: use separate structure for indirect address v2 | Christian König | 2013-03-19 | 1 | -0/+6 |
| | | | | | | | | | | | | | | To further improve the optimization of source and destination indirect addressing we need the ability to store a reference to the declaration of the addressed operands. Since most of the fields in tgsi_src_register doesn't apply for an indirect addressing operand replace it with a separate tgsi_ind_register structure and so make room for extra information. v2: rename Declaration to ArrayID, put the ArrayID into () instead of [] Signed-off-by: Christian König <[email protected]> | ||||
* | tgsi: remove TGSI_FILE_(IMMEDIATE|TEMP)_ARRAY | Christian König | 2013-03-19 | 1 | -80/+0 |
| | | | | | | Nobody seems to be using it, and only nv50 had a partial implementation. Signed-off-by: Christian König <[email protected]> | ||||
* | nvc0: they removed the NTID,NCTAID,GRIDID registers on nve4 | Christoph Bumiller | 2013-03-12 | 1 | -0/+1 |
| | |||||
* | nvc0: implement compute support for nve4 | Christoph Bumiller | 2013-03-12 | 1 | -7/+53 |
| | |||||
* | nv50/ir: add CCTL (cache control) op | Christoph Bumiller | 2013-03-12 | 4 | -4/+8 |
| | |||||
* | nvc0: add SHADER/COMPUTE_RESOURCE bind flags to format table | Christoph Bumiller | 2013-03-12 | 1 | -43/+53 |
| | |||||
* | 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 | 2 | -0/+29 |
| | | | | | | | | | | 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 | 5 | -20/+86 |
| | |||||
* | 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 | 6 | -15/+65 |
| | | | | 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: implement lowering of surface ops for nve4 | Christoph Bumiller | 2013-03-12 | 6 | -13/+30 |
| | |||||
* | nv50/ir: extend moveSources for delta < 0 | Christoph Bumiller | 2013-03-12 | 2 | -16/+31 |
| | |||||
* | nv50/ir/emit: handle OP_ATOM | Christoph Bumiller | 2013-03-12 | 1 | -0/+41 |
| | |||||
* | 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 | 4 | -4/+12 |
| | |||||
* | nv50/ir: initialize CodeEmitters' specialized target fields | Christoph Bumiller | 2013-03-12 | 1 | -3/+4 |
| | |||||
* | 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 | 8 | -45/+175 |
| | |||||
* | nv50/ir: Rename "mkLoad" to "mkLoadv" for consistency. | Francisco Jerez | 2013-03-12 | 3 | -10/+19 |
| | |||||
* | 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 |
| | |||||
* | nv50: Remove nv0_ir_from_sm4.* | José Fonseca | 2013-03-12 | 2 | -2512/+0 |
| | | | | | | Unused, depends on d3d1x. Reviewed-by: Christoph Bumiller <[email protected]> | ||||
* | nv50: fix bogus parameters when processing sample instructions | Roland Scheidegger | 2013-02-12 | 1 | -1/+1 |
| | | | | | | | | Discovered accidentally when changing SAMPLE_L definition. Turns out the lod arguments were already correct for the new definition but the compare and derivs were not. Reviewed-by: Christoph Bumiller <[email protected]> | ||||
* | gallium/drivers: handle PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED query | Brian Paul | 2013-02-04 | 1 | -0/+2 |
| | | | | Initially, only softpipe/llvmpipe support SQRT. | ||||
* | nv50: Fix memory leak. | Vinson Lee | 2013-02-01 | 1 | -0/+1 |
| | | | | | | | Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]> | ||||
* | nv50,nvc0: fix/enable texture buffer objects | Christoph Bumiller | 2013-01-30 | 4 | -32/+35 |
| | |||||
* | nouveau/build: Fix build failures when drm is not in /usr/include. | José Fonseca | 2013-01-22 | 1 | -1/+2 |
| | | | | | | | Fixes failures to include libdrm/nouveau.h when drm is not installed in /usr/include. Reviewed-by: Matt Turner <[email protected]> | ||||
* | nv50/ir: add definitions of Target and CodeEmitter dtors | Christoph Bumiller | 2013-01-19 | 1 | -2/+2 |
| | | | | I really did build test, my compiler just doesn't seem to care. | ||||
* | nouveau: fix undefined behaviour when testing sample_count | Christoph Bumiller | 2013-01-19 | 1 | -0/+2 |
| | | | | NOTE: This is a candidate for the 9.0 branch. |