summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* radeon/llvm: increase const regs countVadim Girlin2012-05-151-1/+1
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use IntrNoMem property for intrinsics where possibleVadim Girlin2012-05-157-105/+171
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use correct intrinsic for CEILVadim Girlin2012-05-152-3/+3
| | | | | | | Should be round_posinf instead of round_neginf. Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: improve ABS_i32 loweringVadim Girlin2012-05-151-13/+5
| | | | | | | | | We can save one instruction by lowering it to: SUB_INT tmp, 0, src MAX_INT dst, src, tmp Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: fix BUILD_VECTOR lowering for replicated valueVadim Girlin2012-05-151-0/+2
| | | | | | | We expect that all elements will be assigned even if they are equal Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: add names for AMDGPU* passesVadim Girlin2012-05-152-0/+5
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: add generated files to .gitignoreVadim Girlin2012-05-151-0/+18
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* Add .gitignore files for recently-added gallium projectsPaul Berry2012-05-153-0/+3
| | | | | | | This patch adds .gitignore files to ignore the makefiles generated by the gallium pipe loader and the clover OpenCL state tracker. Reviewed-by: Francisco Jerez <[email protected]>
* glsl: Fix lower_discard_flow prototype mismatch.José Fonseca2012-05-151-1/+1
| | | | Should fix MSVC link failure.
* Revert "i965/fs: Jump from discard statements to the end of the program when ↵Eric Anholt2012-05-144-126/+5
| | | | | | | | | | done." This reverts commit 31866308fcf989df992ace28b5b986c3d3770e90. Fixes piglit glsl-fs-discard-exit-3 and unigine tropics rendering. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Implement the GLSL 1.30+ discard control flow rule in GLSL IR.Eric Anholt2012-05-144-0/+157
| | | | | | | Previously, I tried implementing this in the i965 driver, but did so in a way that violated the intent of the spec, and broke Tropics. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Remove the opt_discard_simplification pass.Eric Anholt2012-05-144-209/+0
| | | | | | | This conflicts with the GLSL 1.30+ rules for derivatives after a discard has occurred. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Remove the requirement of no dead code for interference checks.Eric Anholt2012-05-141-12/+12
| | | | | | | | This will be convenient when I want to comment out optimization code to see the raw program being optimized, but more importantly will let the interference check be used during optimization. Acked-by: Kenneth Graunke <[email protected]>
* i965/fs: Add support for copy propagation.Eric Anholt2012-05-145-0/+143
| | | | | | | | | | | | We could do more by handling abs/negate and non-GRF sources, but this is a good start. Improves tropics performance 0.30% +/- .17% (n=43). shader-db results: Total instructions: 208032 -> 207184 60/1246 programs affected (4.8%) 23286 -> 22438 instructions in affected programs (3.6% reduction) Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: When doing no work for live interval calculation, do no allocation.Eric Anholt2012-05-141-7/+7
| | | | | | | | | When I had a bug causing the backend to never finish optimizing, it also sent me deep into swap. This avoids extra memory allocation per trip through optimization, and thus may reduce the peak memory allocation of the driver even in the success case. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/gen7: Set tile_x/y to 0 in the no-stencil case.Eric Anholt2012-05-141-1/+1
| | | | Fixes compiler warnings.
* intel: Fix signed/unsigned comparison warnings.Eric Anholt2012-05-142-5/+6
|
* intel: Fix compile warning from 7b6424143d8bf572cadd46adcbaa91d2a5598635Eric Anholt2012-05-141-2/+2
|
* intel: Fix compiler warning from 3cd7bee48f7caf7850ea64d40f43875d4c975507Eric Anholt2012-05-141-2/+0
|
* i965/fs: Add a local common subexpression elimination pass.Kenneth Graunke2012-05-144-0/+201
| | | | | | | | | | | | | | | | | Total instructions: 18210 -> 17836 49/163 programs affected (30.1%) 12888 -> 12514 instructions in affected programs (2.9% reduction) This reduces Lightsmark's "Scale down filter" shader from 395 instructions to 283, a whopping 28%. It also reduces register pressure significantly: the SIMD8 program now uses 29 registers instead of 101, giving us more than enough room for a SIMD16 program. v2: Add && !inst->conditional_mod to the "skip some instructions" check. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Use a const reference in fs_reg::equals instead of a pointer.Kenneth Graunke2012-05-143-16/+16
| | | | | | | | | | This lets you omit some ampersands and is more idiomatic C++. Using const also marks the function as not altering either register (which was obvious, but nice to enforce). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: print the Git SHA1 in GL_VERSION for ES1 and ES2.Oliver McFadden2012-05-141-2/+10
| | | | | Signed-off-by: Oliver McFadden <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: GLES specifies restrictions on uniform matrix transpose.Oliver McFadden2012-05-141-0/+10
| | | | | | | | | GL_INVALID_VALUE is generated if transpose is not GL_FALSE. http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform.xml Signed-off-by: Oliver McFadden <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* radeonsi: Keep around copies of original sampler states.Michel Dänzer2012-05-141-0/+2
| | | | Fixes crashes when restoring sampler states after blits.
* radeonsi: Flesh out shader interpolation related code.Michel Dänzer2012-05-143-4/+38
| | | | Handle perspective interpolation and ceontroid vs. center.
* radeonsi: Add proper SI family names.Michel Dänzer2012-05-141-1/+3
|
* radeonsi: Separate states for samplers and sampler views.Michel Dänzer2012-05-142-3/+6
| | | | And reset nregs on updates. Prevents eventual assertion failure.
* radeonsi: Fixups for drawing with an index buffer.Michel Dänzer2012-05-143-14/+13
| | | | | Mostly using the DRAW_INDEX_2 type 3 packet instead of DRAW_INDEX, which is no longer supported on SI.
* vl: Initialize pipe_vertex_buffer.user_buffer fields.Vinson Lee2012-05-141-0/+4
| | | | | | | Fix uninitialized scalar variable defects reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* llvmpipe: Calculate fixed point coordinates for triangle setup earlier.James Benton2012-05-141-56/+106
| | | | | | | | | | | | This allows us to calculate the triangle's area using fixed point, previously it was cacluated in floating point space. It was possible that a triangle which had negative area in floating point space had a positive area in fixed point space. Fixes fdo 40920. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* radeon/llvm: Coding style fixes for R600CodeEmitter.cppTom Stellard2012-05-141-148/+90
|
* radeon/llvm: Lower bitcast instructions to copiesTom Stellard2012-05-141-0/+10
|
* radeonsi: remove slab allocator for pipe_resource (used mainly for user buffers)Marek Olšák2012-05-133-41/+3
|
* r600g: remove slab allocator for pipe_resource (used mainly for user buffers)Marek Olšák2012-05-133-41/+4
|
* r600g: handle R16G16B16_FLOAT and R32G32B32_FLOAT in translate_colorswap (EG)Marek Olšák2012-05-121-0/+2
|
* gallium: remove user_buffer_create from the interfaceMarek Olšák2012-05-1221-233/+1
| | | | Nothing uses it now.
* gallium/graw: stop using user_buffer_createMarek Olšák2012-05-1216-73/+106
| | | | This is compile-tested.
* gallium/util: remove unused parameter nr_vertex_buffers in util_draw_max_indexMarek Olšák2012-05-123-3/+0
|
* clover: Fix build on i386.Francisco Jerez2012-05-121-1/+2
|
* clover: Check the total work-group size provided to clEnqueueNDRangeKernel.Francisco Jerez2012-05-121-10/+17
|
* clover, gallium: add PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCKChristoph Bumiller2012-05-125-1/+15
| | | | | | | This is not necessarily the product of MAX_BLOCK_SIZE[i]. Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* r600g: Handle compute caps.Francisco Jerez2012-05-121-0/+3
|
* r300g: Handle compute caps.Francisco Jerez2012-05-121-0/+5
|
* auxiliary/util: Ensure pipe_constant_buffer::user_buffer is initialized.José Fonseca2012-05-121-0/+1
|
* scons: Fix missing gbm symbols in st/egl.José Fonseca2012-05-121-3/+5
|
* targets/egl-static: Fix some missing symbols.José Fonseca2012-05-121-0/+2
|
* trace: Fix pipe_context::clear dumping.José Fonseca2012-05-121-1/+3
|
* trace: Fix pipe_shader_state dumping.José Fonseca2012-05-121-2/+4
|
* scons: Link r600_drm.so against libdrm-radeonJosé Fonseca2012-05-121-0/+3
|
* trace: Match NULL context members.José Fonseca2012-05-121-73/+79
|