summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: Don't always re-compile shaders after they're bound.Michel Dänzer2012-06-121-6/+1
|
* st/xorg: Fix crash on startup.Dave Airlie2012-06-121-4/+11
| | | | | Signed-off-by: Dave Airlie <[email protected]> Tested-by: Michel Dänzer <[email protected]>
* radeonsi: Use linear instead of constant interpolation for now.Michel Dänzer2012-06-122-4/+22
| | | | Constant interpolation still hangs the GPU for some reason.
* radeonsi: Handle SUB_f32.Thomas Stellard2012-06-122-2/+3
| | | | | Signed-off-by: Thomas Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Only dump shaders with environment variable RADEON_DUMP_SHADERS=1.Michel Dänzer2012-06-122-9/+20
|
* automake: Globally add stub automake targets to the old Makefiles.Eric Anholt2012-06-1113-37/+1
| | | | | | | | | I tried to update all the old Makefiles that included the default config to be sure they had a default target if they didn't previously have one, since this new all target will always point at it. Almost everything had one. Reviewed-by: Kenneth Graunke <[email protected]>
* i915g: Fix depth/stencil glClearMichael Karcher2012-06-101-6/+5
| | | | | | | | | | | | | This patch fixes a copy/paste error and masking of depth/stencil (stencil is in the top 8 bits), and makes glean/readPixSanity happy. Both the stencil and the depth buffer piglit test also pass if glClear(DEPTH | STENCIL) is executed instead of glClear(DEPTH)/glClear(STENCIL). Reviewed-by: Daniel Vetter <[email protected]> Tested-by: Christopher Egert <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* gallivm: Fix calculating rho for 3d textures for the single-quad caseRoland Scheidegger2012-06-081-2/+1
| | | | | | Discovered by accident, this looks like a very old typo bug. Signed-off-by: José Fonseca <[email protected]>
* radeon/llvm: Emulate RECIP_UINT instruction on CaymanTom Stellard2012-06-062-4/+13
|
* radeon/llvm: Remove some duplicate code in the R600 CodeEmitterTom Stellard2012-06-061-9/+3
|
* radeon/llvm: Fix MULLO* instructions on CaymanTom Stellard2012-06-064-14/+53
| | | | | On Cayman, the MULLO* instructions must fill all slots in an instruction group.
* r600g: Compute support for CaymanTom Stellard2012-06-065-66/+95
|
* xorg: port to new compat API.Dave Airlie2012-06-068-63/+162
| | | | Signed-off-by: Dave Airlie <[email protected]>
* translate_test: add support for half floatsBrian Paul2012-06-061-0/+8
| | | | | | Fixes assertion reported in https://bugs.freedesktop.org/show_bug.cgi?id=44519 but there's still failing cases.
* radeon/llvm: Remove obselete hooks for the ConvertToISA passTom Stellard2012-06-066-87/+1
| | | | | | We can't remove this pass yet, because we need it to convert AMDIL registers in BRANCH* instructions, but we don't need it for instruction conversion any more.
* radeon/llvm: Remove AMDIL MOVE* instructionsTom Stellard2012-06-065-20/+2
|
* radeon/llvm: Add isMov() to AMDILInstrInfoTom Stellard2012-06-066-11/+34
| | | | | This enables the CFGStructurizer to work without the AMDIL::MOV* instructions.
* radeon/llvm: Remove deadcode from the AMDILISelLowering classTom Stellard2012-06-062-203/+0
|
* radeon/llvm: Don't lower RETURN to S_ENDPGM on SITom Stellard2012-06-062-1/+4
| | | | | Instead create an S_ENDPGM instruction in the CodeEmitter and emit it after all the other instructions.
* radeon/llvm: Remove AMDIL VCREATE* instructionsTom Stellard2012-06-068-97/+12
| | | | This obsoletes the AMDGPULowerInstruction pass.
* radeon/llvm: Remove AMDIL LOADCONST* instructionsTom Stellard2012-06-0613-322/+33
| | | | This obsoletes the R600LowerInstruction and SIPropagateImmReads passes.
* nouveau: fix scratch buffer leakMarcin Slusarz2012-06-054-3/+15
| | | | ...and create common function for destroying nouveau_context
* nv50: fix nv50_stream_output_state leakMarcin Slusarz2012-06-051-0/+3
|
* nv50: fix symbol table memory leakMarcin Slusarz2012-06-051-0/+3
|
* radeon/llvm: Fix VTX_READ patternsTom Stellard2012-06-013-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 offsetsTom Stellard2012-06-012-1/+3
|
* radeon/llvm: Only use indirect (vertex fetch) parameters for kernelsTom Stellard2012-06-011-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 instructionsTom Stellard2012-06-0111-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 AMDGPUTom Stellard2012-06-0117-50/+50
|
* radeon/llvm: Remove deadcode from the R600LowerInstructions passTom Stellard2012-06-011-46/+2
|
* radeon/llvm: Remove AMDIL GLOBALSTORE* instructionsTom Stellard2012-06-014-77/+36
|
* radeon/llvm: Remove AMDIL GLOBALLOAD* instructionsTom Stellard2012-06-016-128/+24
|
* r600g: compute support for evergreenAdam Rak2012-06-0120-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
* clover: Add function for building a clover::module for non-TGSI targets v6Tom Stellard2012-06-013-14/+158
| | | | | | | | | | | | | | | | | | | | | | | | v2: -Separate IR type and LLVM triple -Do the OpenCL C->LLVM IR and linking steps for all PIPE_SHADER_IR types. v3: - Coding style fixes - Removed compatibility code for LLVM < 3.1 - Split build_module_llvm() into three functions: compile(), link(), and build_module_llvm() v4: - Use struct pipe_compute_program v5: - Don't malloc memory for struct pipe_llvm_program v6: - Fix serialization of llvm bytecode Reviewed-by: Francisco Jerez <[email protected]>
* gallium: Add struct pipe_llvm_program_header v3Tom Stellard2012-06-011-0/+8
| | | | | | | | | | | | | | This structure is used as a header that precedes LLVM bytecode programs that are passed to the drivers. v2: - s/pipe_compute_program/pipe_llvm_program/ v3: - Rename to struct pipe_llvm_program_header - Drop the char * prog member Reviewed-by: Francisco Jerez <[email protected]>
* clover: Remove target argument from compile_program_tgsi()Tom Stellard2012-06-013-5/+3
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add constructors to some of the module classes v3Tom Stellard2012-06-011-0/+13
| | | | | | | | | | | | This is for the llvm code that can't use extended initializers. v2: - Use const references for vector arguments - Move constructor defs before data members - Initialize all values in the default constructors v3: - Fix typo
* clover: Add necessary flags to libclllvm_la_CXXFLAGSTom Stellard2012-06-011-1/+5
| | | | | | | $(LLVM_CFLAGS) for LLVM defines -DLIBCLC_PATH for libclc path -DCLANG_RESOURCE_DIR for clang includes $(DEFINES) for -DHAVE_LLVM
* clover: Link to the necessary LLVM and Clang libsTom Stellard2012-06-011-1/+17
|
* clover: Add a function for retrieving a device's preferred ir v3Tom Stellard2012-06-012-8/+11
| | | | | | | | | | | | | | | | | | | A device now has two function for getting information about the IR it needs to return. ir_format() => returns the preferred IR ir_target() => returns the triple for the target that is understood by clang/llvm. v2: - renamed ir_target() to ir_format() - renamed llvm_triple() to ir_target() v3: - Remove unnecessary include - Do proper conversion from std::vector<char> to std::string Reviewed-by: Francisco Jerez <[email protected]>
* gallium/compute: Add PIPE_COMPUTE_CAP_IR_TARGET v4Francisco Jerez2012-06-012-0/+6
| | | | | | | | | | | | | v2: Tom Stellard - Update CAP description v3: Tom Stellard - TGSI targets should pass an empty string for this CAP. v4: Tom Stellard - TGSI targets can ignore this CAP. Reviewed-by: Francisco Jerez <[email protected]>
* gallium: Add PIPE_SHADER_IR_LLVM to enum pipe_shader_ir v2Tom Stellard2012-06-011-1/+2
| | | | | | | v2: - s/PIPE_SHADER_IR_LLVM_R600/PIPE_SHADER_IR_LLVM/ Reviewed-by: Francisco Jerez <[email protected]>
* svga: fix saturated TEX instructionsBrian Paul2012-05-311-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]>
* scons: add code to generate the various GL API filesBrian Paul2012-05-311-0/+3
| | | | | | | This fixes recent build breakage when we began building the generated API files from xml as part of the normal build process. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=50475
* draw: simplify index buffer specificationBrian Paul2012-05-3114-71/+52
| | | | | 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 methodMarcin Slusarz2012-05-291-0/+1
| | | | Fixes crash in xorg st.
* radeon/llvm: Update and fix some commentsTom Stellard2012-05-292-12/+6
|
* radeonsi: Remove use.sgpr* intrinsics, use load instructions insteadTom Stellard2012-05-295-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 registersTom Stellard2012-05-2912-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 bodyTom Stellard2012-05-291-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.