summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: Adapt to sample intrinsics changes.Michel Dänzer2013-02-042-27/+25
| | | | | | Fix up intrinsic names, and bitcast texture address parameters to integers. NOTE: This is a candidate for the 9.1 branch.
* r600g: improve inputs/interpolation handling with llvm backendVadim Girlin2013-01-281-2/+1
| | | | | | | | | | Get rid of special handling for reserved regs. Use one intrinsic for all kinds of interpolation. v2[Vincent Lejeune]: Rebased against current master Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Vadim Girlin <[email protected]>
* radeon/llvm: Handle LP_CHAN_ALL in emit_fetch_immediate().Michel Dänzer2013-01-221-1/+11
| | | | | | | | Fixes piglit spec/ARB_sampler_objects/sampler-incomplete and spec/EXT_texture_swizzle/depth_texture_mode_and_swizzle. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* r600g/llvm: tgsi to llvm emits store.swizzle intrinsic for vs/fs outputVincent Lejeune2013-01-181-0/+1
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g/llvm: tgsi to llvm emits stream output intrinsics.Vincent Lejeune2013-01-181-0/+1
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g/llvm:translate ARL opcode to a simple castVincent Lejeune2013-01-181-2/+12
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g/llvm: rework handling of the constantsVadim Girlin2013-01-181-0/+4
| | | | | | | | | | | | Vincent Lejeune: - tgsi to llvm now emits pointers for constants Tom Stellard: - Only use texture cache for vtx fetch with compute shaders - Change address space used for constant loads to match LLVM backend. Reviewed-by: Tom Stellard <[email protected]>
* drivers/radeon: Don't link against libgallium.laTom Stellard2013-01-111-2/+1
| | | | | | | | This fixes several duplicate symbol errors. libllvmradeon is a simple helper library. If it requires symbols in other libraries, this should be taken care of by the gallium target that uses it (e.g. libr600.la)
* radeon/llvm: Convert to AutomakeTom Stellard2013-01-103-17/+33
| | | | | | | | v2: Johannes Obermayr <[email protected]> Fix some undefined symbols. v3: Johannes Obermayr <[email protected]> Build it -shared to fix egl_gallium.so on r600/radeonsi builds.
* radeon/llvm: Remove backend code from MesaTom Stellard2013-01-0499-19168/+0
| | | | | | | | | | | | This code now lives in an external tree. For the next Mesa release fetch the code from the master branch of this LLVM repo: http://cgit.freedesktop.org/~tstellar/llvm/ For all subsequent Mesa releases, fetch the code from the official LLVM project: www.llvm.org
* Support LLVM >= 3.2 on radeonsi and opencl.Johannes Obermayr2013-01-041-0/+7
| | | | | | Tom Stellard: - Backend now has same name for all LLVM versions - Add missing LLVM_VERSION_INT definition
* radeon/llvm: improve cube map handlingVadim Girlin2012-12-182-20/+69
| | | | | | | | Add support for TEX2, TXB2, TXL2, fix SHADOWCUBE Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Tested-by: Michel Dänzer <[email protected]>
* radeon/llvm: fix TXQ_LZ handling for cube mapsVadim Girlin2012-12-181-2/+4
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* radeon/llvm: Export prepare_cube_coords helper to driver.Michel Dänzer2012-12-062-8/+13
| | | | | | | To be used by radeonsi. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* r600g: use default action for min/max opcode in tgsi to llvmVincent Lejeune2012-12-051-4/+0
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* r600g: use default action for fdiv/rcp opcodeVincent Lejeune2012-12-051-6/+1
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* r600g: Use default mul/mad function for tgsi-to-llvmVincent Lejeune2012-12-051-8/+4
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* r600g: make tgsi-to-llvm generates store.pixel* intrinsic for fsVincent Lejeune2012-11-021-0/+3
| | | | Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
* radeon/llvm: Add intrinsic for reading SI FRONT_FACE VGPR in the pixel shader.Michel Dänzer2012-10-262-0/+6
| | | | | Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Sort tgsi opcode action initializationTom Stellard2012-10-191-59/+50
| | | | This was done in order to identify and remove duplicate entries.
* radeon/llvm: Fix lowering TGSI_OPCODE_SSGTom Stellard2012-10-191-1/+1
|
* radeon/llvm: Fix build with LLVM 3.2Tom Stellard2012-10-111-3/+10
|
* radeon/llvm: use ceil intrinsic instead of llvm.AMDIL.round.posinfVincent Lejeune2012-10-103-6/+2
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use floor intrinsic instead of llvm.AMDIL.floorVincent Lejeune2012-10-105-5/+5
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use llvm fabs intrinsicVincent Lejeune2012-10-103-6/+4
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use llvm intrinsic for flog2Vincent Lejeune2012-10-104-5/+4
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: add support for cos/sin intrinsicVincent Lejeune2012-10-103-12/+15
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: add a pattern for fsqrtVincent Lejeune2012-10-101-0/+3
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Disable SI flow control again for now.Michel Dänzer2012-10-021-1/+2
| | | | | | | It makes piglit unreliable due to VM protection faults and GPU lockups. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Only initialize the AMDGPU targetTom Stellard2012-10-011-7/+1
|
* radeon: Fix build with LLVM 3.1Tom Stellard2012-10-011-0/+1
| | | | The build was broken by commit 8d9778589f4b3a174e884338adb0fe1bdeca5eb7
* radeon: Support LLVM 3.2Tom Stellard2012-10-013-3/+11
| | | | | LLVM 3.2 and newer requires that the R600/SI backend be part of the LLVM tree.
* r600g: add some members to radeon_llvm_contextVincent Lejeune2012-09-281-0/+6
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: improve select_cc lowering to generate CND* more oftenVincent Lejeune2012-09-273-41/+88
| | | | | | | | v2: - Simplify isZero() - Remove a unused function prototype - Clean whitespace trails Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Fix instruction encoding for r600 family GPUsTom Stellard2012-09-243-15/+14
| | | | | | Tested-by: Michel Dänzer <[email protected]> https://bugs.freedesktop.org/show_bug.cgi?id=55217
* radeon/llvm: support for interpolation intrinsicsVincent Lejeune2012-09-2210-2/+318
| | | | Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Handle loads from the constants address space.Tom Stellard2012-09-212-0/+10
| | | | | Reading from constant memory is not supported yet, so constant reads use global memory.
* radeon/llvm: Add support for v4f32 stores on R600Tom Stellard2012-09-213-9/+27
|
* radeon/llvm: Add support for i8 reads on R600Tom Stellard2012-09-213-0/+25
|
* radeon/llvm: Expand vector fadd and fmul on R600Tom Stellard2012-09-211-0/+3
|
* radeon/llvm: Add optimization for FP_ROUNDTom Stellard2012-09-212-0/+27
|
* radeon/llvm: Replace AMDGPU pow intrinsic with the llvm versionTom Stellard2012-09-214-7/+26
|
* radeon/llvm: Emit ISA for ALU instructions in the R600 code emitterMichal Sciubidlo2012-09-195-139/+238
| | | | Signed-off-by: Tom Stellard <[email protected]>
* radeon/llvm: Only support 512 constant registers on R600Tom Stellard2012-09-191-1/+1
| | | | | This is necessary upcoming encoding changes, since we will only be using 9-bits for register encoding.
* radeon/llvm: Add a fdiv pattern.Vincent Lejeune2012-09-181-3/+10
| | | | Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
* radeon/llvm: reserve also corresponding 128bits regVincent Lejeune2012-09-181-0/+1
| | | | Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
* radeon/llvm: Inital flow control support for SITom Stellard2012-09-177-2/+168
| | | | | | This adds basic flow control support for If-Then-Else blocks using predicates (stored in the EXEC register) and a predicate stack for nested flow control.
* radeon/llvm: Fix unused variable warningTom Stellard2012-09-171-1/+0
|
* radeon/llvm: Move kernel arg lowering into R600TargetLowering classTom Stellard2012-09-176-470/+35
|
* radeon/llvm: Match integer add/sub for SI.Michel Dänzer2012-09-171-2/+8
| | | | | Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]>