Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | radeon/llvm: Don't lower RETURN to S_ENDPGM on SI | Tom Stellard | 2012-06-06 | 2 | -1/+4 |
| | | | | | Instead create an S_ENDPGM instruction in the CodeEmitter and emit it after all the other instructions. | ||||
* | radeon/llvm: Remove AMDIL VCREATE* instructions | Tom Stellard | 2012-06-06 | 8 | -97/+12 |
| | | | | This obsoletes the AMDGPULowerInstruction pass. | ||||
* | radeon/llvm: Remove AMDIL LOADCONST* instructions | Tom Stellard | 2012-06-06 | 13 | -322/+33 |
| | | | | This obsoletes the R600LowerInstruction and SIPropagateImmReads passes. | ||||
* | nouveau: fix scratch buffer leak | Marcin Slusarz | 2012-06-05 | 4 | -3/+15 |
| | | | | ...and create common function for destroying nouveau_context | ||||
* | nv50: fix nv50_stream_output_state leak | Marcin Slusarz | 2012-06-05 | 1 | -0/+3 |
| | |||||
* | nv50: fix symbol table memory leak | Marcin Slusarz | 2012-06-05 | 1 | -0/+3 |
| | |||||
* | radeon/llvm: Fix VTX_READ patterns | Tom Stellard | 2012-06-01 | 3 | -4/+33 |
| | | | | | | | | | The VTX_READ instructions were using the ADDRParam ComplexPattern which allows a load instruction's offset to be a register, but VTX_READ instructions can only handle an immediate offset. Also, the load_param pattern fragment had an erroneous return true; statement that was causing it to match the wrong load instructions. | ||||
* | radeon/llvm: Emit 2 bytes for vertex fetch offsets | Tom Stellard | 2012-06-01 | 2 | -1/+3 |
| | |||||
* | radeon/llvm: Only use indirect (vertex fetch) parameters for kernels | Tom Stellard | 2012-06-01 | 1 | -2/+6 |
| | | | | | | Kernel parameters can only be retrieved via vertex fetchs. Direct parameters (i.e parameters stored in the constant buffer) are not supported yet. | ||||
* | radeon/llvm: Eliminate CFGStructurizer dependency on AMDIL instructions | Tom Stellard | 2012-06-01 | 11 | -41/+124 |
| | | | | | | Add some hooks to the R600,SI InstrInfo and RegisterInfo classes, so that the CFGStructurizer pass can run without any relying on AMDIL instructions. | ||||
* | radeon/llvm: Change prefix on tablegen files to AMDGPU | Tom Stellard | 2012-06-01 | 17 | -50/+50 |
| | |||||
* | radeon/llvm: Remove deadcode from the R600LowerInstructions pass | Tom Stellard | 2012-06-01 | 1 | -46/+2 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALSTORE* instructions | Tom Stellard | 2012-06-01 | 4 | -77/+36 |
| | |||||
* | radeon/llvm: Remove AMDIL GLOBALLOAD* instructions | Tom Stellard | 2012-06-01 | 6 | -128/+24 |
| | |||||
* | r600g: compute support for evergreen | Adam Rak | 2012-06-01 | 20 | -12/+2674 |
| | | | | | | | | | Tom Stellard: - Updated for gallium interface changes - Fixed a few bugs: + Set the loop counter + Calculate the correct number of pipes - Added hooks into the LLVM compiler | ||||
* | svga: fix saturated TEX instructions | Brian Paul | 2012-05-31 | 1 | -6/+13 |
| | | | | | | | TEX instructions can't do saturation. Do the TEX into a temp reg w/out saturation, then do a MOV_SAT. Reviewed-by: Jakob Bornecrantz <[email protected]> | ||||
* | draw: simplify index buffer specification | Brian Paul | 2012-05-31 | 9 | -28/+28 |
| | | | | | Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with draw_set_indexes() which simply takes a pointer and an index size. | ||||
* | nv50: hook up forgotten short constant buffer upload method | Marcin Slusarz | 2012-05-29 | 1 | -0/+1 |
| | | | | Fixes crash in xorg st. | ||||
* | radeon/llvm: Update and fix some comments | Tom Stellard | 2012-05-29 | 2 | -12/+6 |
| | |||||
* | radeonsi: Remove use.sgpr* intrinsics, use load instructions instead | Tom Stellard | 2012-05-29 | 5 | -74/+57 |
| | | | | | | | | | | We now model loading uses sgpr values with LLVM IR load instructions that use the USER_SGPR address space. The definition of the sgpr parameter to the use_sgpr() helper function in radeonsi_shader.c has changed so that you can pass raw sgpr values rather than having to divide the sgpr value you want to use by the dword width of the type you want to load. | ||||
* | radeonsi: Handle TGSI CONST registers | Tom Stellard | 2012-05-29 | 12 | -100/+254 |
| | | | | | We now emit LLVM load instructions for TGSI CONST register reads, which are lowered in the backend to S_LOAD_DWORD* instructions. | ||||
* | radeon/llvm: Remove AMDILIntrinsicInfo::GetDeclaration fuction body | Tom Stellard | 2012-05-29 | 1 | -20/+1 |
| | | | | | | | This function was causing compile errors in the tablegen'd code for some intrinsic definitions. I don't think we really need this function, so I'm removing the function body just as a temporary solution. I'll look into removing the entire AMDILIntrinsicInfo class later. | ||||
* | radeon/llvm: Remove AMDILTargetMachine | Tom Stellard | 2012-05-29 | 19 | -363/+90 |
| | |||||
* | nouveau: unreference fences on resource destruction | Christoph Bumiller | 2012-05-29 | 2 | -0/+6 |
| | |||||
* | nvc0: optimize blend cso by checking which by-RT data actually differs | Christoph Bumiller | 2012-05-29 | 1 | -65/+94 |
| | | | | Can save about 200 bytes of command buffer space. | ||||
* | nvc0: don't upload UCPs if the shader doesn't use them | Christoph Bumiller | 2012-05-29 | 1 | -1/+1 |
| | |||||
* | nvc0/ir: allow 64-bit constant loads on nve4 | Christoph Bumiller | 2012-05-29 | 2 | -1/+3 |
| | | | | Looks like only 128-bit access doesn't work. | ||||
* | nvc0/ir: fix texture barrier insertion to prevent WAW hazards | Christoph Bumiller | 2012-05-29 | 6 | -29/+88 |
| | | | | Fixes, for instance, object highlighting in Diablo 3 (wine). | ||||
* | nvc0/ir: TEX doesn't support JOIN modifier either | Christoph Bumiller | 2012-05-29 | 1 | -0/+1 |
| | |||||
* | nv30: Fix generic passing to fragment program in NV34. | Roy Spliet | 2012-05-25 | 3 | -5/+9 |
| | |||||
* | nv30: handle user index buffers | Christoph Bumiller | 2012-05-25 | 4 | -17/+27 |
| | |||||
* | radeon/llvm: Use a custom inserter for MASK_WRITE | Tom Stellard | 2012-05-25 | 4 | -34/+36 |
| | |||||
* | radeon/llvm: Use tablegen pattern to lower bitconvert | Tom Stellard | 2012-05-25 | 4 | -294/+11 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FNEG | Tom Stellard | 2012-05-25 | 5 | -22/+15 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower CLAMP | Tom Stellard | 2012-05-25 | 9 | -84/+41 |
| | |||||
* | radeon/llvm: Use a custom inserter to lower FABS | Tom Stellard | 2012-05-25 | 10 | -42/+41 |
| | |||||
* | r600g: handle R16G16B16_FLOAT and R32G32B32_FLOAT in translate_colorswap | Kai Wasserbäch | 2012-05-25 | 1 | -0/+2 |
| | | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50318 Signed-off-by: Kai Wasserbäch <[email protected]> | ||||
* | svga: remove the special zero-stride vertex array code | Brian Paul | 2012-05-25 | 9 | -153/+12 |
| | | | | | This code actually hasn't been needed for some time now. We can just treat a zero-stride vertex array like any other non-zero-stride array. | ||||
* | Revert "r600g: set round_mode to truncate and get rid of tgsi_f2i on evergreen" | Vadim Girlin | 2012-05-25 | 2 | -6/+56 |
| | | | | | | | | | | | | This reverts commit 60bf0f05b472e66bf1175fcec7a274dab6f7e2a3. It seems round_mode behaves differently in some cases depending on the instruction/slot. Reverting it for now. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50232 Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: add FLT_TO_UINT, UINT_TO_FLT instructions | Vadim Girlin | 2012-05-25 | 1 | -0/+20 |
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: prepare to revert the round mode state to default | Vadim Girlin | 2012-05-25 | 1 | -2/+9 |
| | | | | | | | Use TRUNC before FLT_TO_INT on evergreen/cayman. Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: fix sampler index in llvm_emit_tex | Vadim Girlin | 2012-05-25 | 1 | -2/+4 |
| | | | | | | | | | | Sampler index isn't a second source operand for some tgsi texture instructions. Let's assume it's always the last. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50230 Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm: fix opcode for RECIP_UINT_r600 | Vadim Girlin | 2012-05-25 | 1 | -1/+1 |
| | | | | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50312 Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | radeon/llvm/loader: convert hardcoded gpu name to option | Vadim Girlin | 2012-05-25 | 1 | -2/+3 |
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | r600g: add RECIP_INT, PRED_SETE_INT to r600_bytecode_get_num_operands | Vadim Girlin | 2012-05-25 | 1 | -0/+2 |
| | | | | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50315 Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]> | ||||
* | i915g: Check for geometry shader earlier in i915_set_constant_buffer. | Vinson Lee | 2012-05-24 | 1 | -4/+4 |
| | | | | | | | Fix resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]> | ||||
* | radeon/llvm: Lower UDIV using the Selection DAG | Tom Stellard | 2012-05-24 | 8 | -212/+126 |
| | |||||
* | radeon/llvm: Remove auto-generated AMDIL->ISA conversion code | Tom Stellard | 2012-05-24 | 14 | -280/+28 |
| | |||||
* | radeon/llvm: Remove AMDIL instructions MULHI, SMUL | Tom Stellard | 2012-05-24 | 3 | -10/+5 |
| | |||||
* | radeon/llvm: Remove AMDIL bitshift instructions (SHL, SHR, USHR) | Tom Stellard | 2012-05-24 | 8 | -693/+6 |
| |