Commit Graph

61482 Commits

Author SHA1 Message Date
Kristian Høgsberg 1a2a30ba20 gbm-dri: Support importing RGB565 buffers 2013-10-21 20:56:17 -07:00
Paul Berry 672fab0b1b glsl/linker: Allow mixing of desktop GLSL versions.
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 <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-21 17:27:41 -07:00
Francisco Jerez e26ed75066 clover: Improve region and pitch argument handling in memory transfer APIs.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:04 -07:00
Francisco Jerez adefa84d66 clover: Add a pixel_size() method to the image class.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:04 -07:00
Francisco Jerez 6230f77232 clover: Implement support for the ICD extension.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 9a5afd0dbd clover: Make sure hidden is the default symbol visibility.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Tom Stellard 07567c17f1 clover: Prepare the build system for ICD support.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2013-10-21 10:47:03 -07:00
Francisco Jerez 9e0b7f76f9 clover: Fix memory leak when initializing a device object fails.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 1d741e3ac0 clover: Tidy up resource::mapping.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 6db102597a clover: Simplify command_queue::flush().
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 7a9bbff7d6 clover: Clean up the kernel and program object interface.
[ Tom Stellard: Make sure to bind global arguments before retrieving handles. ]
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 10284b1d2d clover: Clean up the interface of the context object slightly.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 5226eacf8d clover: Delete copy constructors and assignment operators in all non-copiable objects.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 369419f761 clover: Define a few convenience equality operators.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez c6e7a0d0d3 clover: Simplify the platform object by using util/range.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez e5fc61fa3f clover: Add property list helpers with a syntax consistent with other API objects.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 04d0ab9f64 clover: Switch samplers to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez d6f7afc3ed clover: Switch memory objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 35307f540f clover: Switch kernel and program objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 9968d9daf2 clover: Switch command queues to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:03 -07:00
Francisco Jerez 257781f243 clover: Switch event objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 9d06fb8fa8 clover: Switch context objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez c9e009b74d clover: Switch device objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 49a49e0742 clover: Switch platform objects to the new model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez bff60c894a clover: Define helper classes for the new object model.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez d8b4994281 clover: Clean up property query functions by using a new property_buffer helper class.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 7d61769e44 clover: Switch to the new utility code.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 099d281b38 clover: Name include guards consistently.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 8e14b82fd2 clover: Replace a bunch of double underscores with single underscores.
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 <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez ebfdce079b clover: Clean up the event profiling code.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez e93efa0d50 clover: Import new utility library.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Francisco Jerez 7baad4b996 clover: Require GCC 4.7 or higher to build.
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-21 10:47:02 -07:00
Tom Stellard 4f49c97afe clover: Use std::numeric_limits<std::size_t>::max() instead of SIZE_MAX
This prevents a build failure on some systems.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2013-10-21 10:47:02 -07:00
Roland Scheidegger ac81b6f2be llvmpipe: enable seamless cube filtering
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-21 15:42:04 +02:00
Roland Scheidegger 3bdd1074e1 gallivm: implement seamless cube filtering
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 <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-21 15:42:04 +02:00
Christian König 21a57f9040 winsys/radeon: cleanup CS offloading
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 <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2013-10-21 10:20:18 +02:00
Rico Schüller 14429295e1 radeon: Enable ARB_texture_mirror_clamp_to_edge.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-10-20 20:12:39 -07:00
Rico Schüller 5da618c20e r200: Enable ARB_texture_mirror_clamp_to_edge.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-10-20 20:12:39 -07:00
Rico Schüller e487948bef gallium: Enable ARB_texture_mirror_clamp_to_edge.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-10-20 20:12:39 -07:00
Rico Schüller a59ae25d81 swrast: Enable ARB_texture_mirror_clamp_to_edge.
v2: fix commit message

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-10-20 20:12:39 -07:00
Rico Schüller 1bbd3bb98a mesa: Add infrastructure for GL_ARB_texture_mirror_clamp_to_edge.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Rico Schüller <kgbricola@web.de>
2013-10-20 20:12:08 -07:00
Alexander von Gluck IV 50370e483b scons: Fix Haiku missing library
* The softpipe add-on needs libtranslation
  due to the use of BTranslatorRoster

Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-20 19:20:59 -05:00
Alexandre Demers 24fd074ce7 docs: Updating forgotten GL feature completion for r600 2013-10-21 01:35:08 +02:00
David Heidelberger c948aab96c r300g/compiler: Fix unsigned comparison with less than zero
rc_find_free_temporary_list() returns signed integer
(in case of lack of free temporary registers returns -1),
so new_index in radeon_rename_regs() should be signed.

https://bugs.freedesktop.org/show_bug.cgi?id=54867

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2013-10-21 01:31:51 +02:00
Vinson Lee c325aa5d80 r600g/sb: Initialize shader::dce_flags.
Fixes "Uninitialized scalar field" defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Vadim Girlin <vadimgirlin@gmail.com>
2013-10-20 00:38:40 -07:00
Kenneth Graunke 00b5d8aeae i965: Mark G45 as having surface tile offset support.
Fixes a regression since 02b632d8e8.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-19 18:43:09 -07:00
Vinson Lee 37cd9ac6df glsl: Initialize per_vertex_accumulator::fields.
Fixes "Uninitialized pointer field" defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-18 18:29:18 -07:00
Vinson Lee 136a12ac98 mesa: Remove GLXContextID typedef from glx.h.
Fixes this build error.

  CC     clientattrib.lo
In file included from ../../include/GL/glx.h:333,
                 from glxclient.h:45,
                 from clientattrib.c:32:
../../include/GL/glxext.h:275: error: redefinition of typedef ‘GLXContextID’
../../include/GL/glx.h:171: note: previous declaration of ‘GLXContextID’ was here

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70591
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2013-10-18 18:08:31 -07:00
Carl Worth bf7b425083 docs: Import 9.2.2 release notes, add news item. 2013-10-18 17:19:31 -07:00
Kenneth Graunke 653cc008a8 docs: Note that we support OpenGL 3.3 in the release notes.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-10-18 15:24:18 -07:00