summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: fix a couple issues with U_FIXED, I_FIXED macrosBrian Paul2013-10-221-3/+3
| | | | | | | | | | Silence a bunch of MSVC type conversion warnings. Changed return type of S_FIXED to int32_t (signed). The result is the same. It just seems more intuitive that a signed conversion function should return a signed value. Reviewed-by: Jose Fonseca <[email protected]>
* mesa: remove remnants of GL_MESA_shader_debugBrian Paul2013-10-222-35/+0
| | | | | | | | This extension never saw any real use so remove it. v2: also update tests/num_strings.cpp for 'make check' Reviewed-by: Ian Romanick <[email protected]>
* i965: Only emit interpolation setup if there are actual FS inputs.Kenneth Graunke2013-10-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Dead code elimination would get rid of the extra instructions, but skipping this saves iterations through the optimization loop. From shader-db: N Min Max Median Avg Stddev x 14672 3 16 3 3.1334515 0.59904168 + 14672 1 16 3 2.8955153 0.77732963 Difference at 95.0% confidence -0.237936 +/- 0.0158798 -7.59342% +/- 0.506783% (Student's t, pooled s = 0.693935) Embarassingly, the classic shadow mapping shader: void main() { } used to require three iterations through the optimization loop. With this patch, it only requires one (which makes no progress). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Fix accidental type conversion in header setupChris Forbes2013-10-221-3/+2
| | | | | | | | | | Previously one side could be UD while the other was float. V2: Prefer float; apparently IVB can dispatch float ops faster. (Thanks Eric) Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Fix handling of sampler messages with header but zero offsetChris Forbes2013-10-221-3/+11
| | | | | | | | | | Gather unconditionally uses a header, but in some cases the texture_offset value will be zero. V2: Don't introduce a bogus conversion. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glsl: Optimize -(-expr) into expr.Matt Turner2013-10-211-0/+10
| | | | | Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glsl: Optimize abs(-expr) and abs(abs(expr)) into abs(expr).Matt Turner2013-10-211-0/+18
| | | | | Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glsl: Use saved values instead of recomputing them.Matt Turner2013-10-211-8/+4
| | | | | Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Implement ARB_texture_mirror_clamp_to_edge.Kenneth Graunke2013-10-212-0/+3
| | | | | | | | | | This passes Piglit's texwrap tests. v2: Remove _EXT suffix. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Rico Schüller <[email protected]>
* i965: Drop unused simple_list.h includes.Kenneth Graunke2013-10-212-2/+0
| | | | | | These don't appear to be necessary. Everything compiles just fine. Signed-off-by: Kenneth Graunke <[email protected]>
* gbm-dri: Support importing RGB565 buffersKristian Høgsberg2013-10-211-0/+3
|
* glsl/linker: Allow mixing of desktop GLSL versions.Paul Berry2013-10-211-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, Mesa followed the linkage rules outlined in the GLSL 1.20-1.40 specs, which (collectively) said that GLSL versions 1.10 and 1.20 could be linked together, but no other versions could be linked. In GLSL 4.30, the linkage rules were relaxed so that any two desktop GLSL versions can be linked together. This change was made because it reflected the behaviour of nearly all existing implementations (see Khronos bug 8463). Mesa was one of the few (perhaps the only) exceptions to prohibit cross-linking of some GLSL versions. Since the GLSL linkage rules were deliberately relaxed in order to match the behaviour of existing implementations, it seems appropriate to relax the rules in Mesa too (even though Mesa doesn't support GLSL 4.30 yet). Note that linking ES and desktop shaders is still prohibited, as is linking ES shaders having different GLSL versions. Fixes piglit tests "shaders/version-mixing {interstage,intrastage}". Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* clover: Improve region and pitch argument handling in memory transfer APIs.Francisco Jerez2013-10-211-130/+270
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Add a pixel_size() method to the image class.Francisco Jerez2013-10-212-0/+7
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Implement support for the ICD extension.Francisco Jerez2013-10-2117-78/+1046
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Make sure hidden is the default symbol visibility.Francisco Jerez2013-10-211-2/+5
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Prepare the build system for ICD support.Tom Stellard2013-10-212-8/+11
| | | | Signed-off-by: Francisco Jerez <[email protected]>
* clover: Fix memory leak when initializing a device object fails.Francisco Jerez2013-10-211-1/+3
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Tidy up resource::mapping.Francisco Jerez2013-10-212-11/+9
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Simplify command_queue::flush().Francisco Jerez2013-10-212-11/+10
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the kernel and program object interface.Francisco Jerez2013-10-218-136/+139
| | | | | [ Tom Stellard: Make sure to bind global arguments before retrieving handles. ] Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the interface of the context object slightly.Francisco Jerez2013-10-216-27/+23
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Delete copy constructors and assignment operators in all ↵Francisco Jerez2013-10-2111-22/+44
| | | | | | non-copiable objects. Tested-by: Tom Stellard <[email protected]>
* clover: Define a few convenience equality operators.Francisco Jerez2013-10-2110-5/+47
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Simplify the platform object by using util/range.Francisco Jerez2013-10-213-28/+8
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Add property list helpers with a syntax consistent with other API ↵Francisco Jerez2013-10-215-50/+91
| | | | | | objects. Tested-by: Tom Stellard <[email protected]>
* clover: Switch samplers to the new model.Francisco Jerez2013-10-217-53/+53
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch memory objects to the new model.Francisco Jerez2013-10-219-302/+267
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch kernel and program objects to the new model.Francisco Jerez2013-10-2111-492/+458
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch command queues to the new model.Francisco Jerez2013-10-2114-252/+264
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch event objects to the new model.Francisco Jerez2013-10-217-222/+233
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch context objects to the new model.Francisco Jerez2013-10-2113-103/+91
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch device objects to the new model.Francisco Jerez2013-10-219-140/+139
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch platform objects to the new model.Francisco Jerez2013-10-217-46/+47
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Define helper classes for the new object model.Francisco Jerez2013-10-2120-107/+398
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Clean up property query functions by using a new property_buffer ↵Francisco Jerez2013-10-2112-263/+547
| | | | | | helper class. Tested-by: Tom Stellard <[email protected]>
* clover: Switch to the new utility code.Francisco Jerez2013-10-2117-717/+152
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Name include guards consistently.Francisco Jerez2013-10-2117-34/+34
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Replace a bunch of double underscores with single underscores.Francisco Jerez2013-10-2127-206/+208
| | | | | | | | Identifiers with double underscores are reserved, and using them has undefined behavior according to the C++ spec. It's unlikely to make any difference, but... Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the event profiling code.Francisco Jerez2013-10-218-121/+228
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Import new utility library.Francisco Jerez2013-10-2112-1/+2157
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Use std::numeric_limits<std::size_t>::max() instead of SIZE_MAXTom Stellard2013-10-211-1/+1
| | | | | | This prevents a build failure on some systems. Reviewed-by: Francisco Jerez <[email protected]>
* llvmpipe: enable seamless cube filteringRoland Scheidegger2013-10-211-1/+1
| | | | | Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallivm: implement seamless cube filteringRoland Scheidegger2013-10-213-40/+368
| | | | | | | | | | | | | | | | | | | | | | | | | For seamless cube filtering it is necessary to determine new faces and new coords per sample. The logic for this is _seriously_ complex (what needs to happen is very "asymmetric" wrt face, x/y under/overflow), further complicated by the fact that if the 4 samples are in a corner (meaning we only have actually 3 samples, and all 3 are on different faces) then falling off the edge is happening _both_ on x and y axis simultaneously. There was a noticeable performance hit in mesa's cubemap demo when seamless filtering was forced on (just below 10 percent or so in a debug build, when disabling all filtering hacks, otherwise it would probably be a bit more) and when always doing the logic, hence use a branch which it only does it if any of the pixels in a quad (or in two quads) actually hit this. With that there was no measurable performance hit in the cubemap demo (neither in a debug nor release buidl), but this will vary (cubemap demo very rarely hits edges). Might also be different on other cpus, as this forces SoA sampling path which potentially can be quite a bit slower. Note that as for corners, this code gets all the 3 samples which actually exist right, and the 4th texel will simply be the same as one of the others, meaning that filter weights will be a bit wrong. This however should be enough for full OpenGL (but not d3d10) compliance. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* winsys/radeon: cleanup CS offloadingChristian König2013-10-211-21/+10
| | | | | | | | | Using atomic function for ncs is superfluous since it is protected by a mutex anyway. Also lock the mutex only once while retrieving the next CS for submission. Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeon: Enable ARB_texture_mirror_clamp_to_edge.Rico Schüller2013-10-201-0/+1
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Rico Schüller <[email protected]>
* r200: Enable ARB_texture_mirror_clamp_to_edge.Rico Schüller2013-10-201-0/+1
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Rico Schüller <[email protected]>
* gallium: Enable ARB_texture_mirror_clamp_to_edge.Rico Schüller2013-10-201-0/+1
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Rico Schüller <[email protected]>
* swrast: Enable ARB_texture_mirror_clamp_to_edge.Rico Schüller2013-10-201-0/+1
| | | | | | | | | v2: fix commit message Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Rico Schüller <[email protected]>
* mesa: Add infrastructure for GL_ARB_texture_mirror_clamp_to_edge.Rico Schüller2013-10-204-4/+12
| | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Rico Schüller <[email protected]>