platform/upstream/mesa.git
10 years agotargets/omx: use GALLIUM_COMMON_LIB_DEPS
Emil Velikov [Tue, 1 Apr 2014 01:43:34 +0000 (02:43 +0100)]
targets/omx: use GALLIUM_COMMON_LIB_DEPS

The targets do not require expat or selinux. Use GALLIUM_COMMON_LIB_DEPS
which provides the core requirements for each gallium target.

Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agotargets/xvmc: use GALLIUM_COMMON_LIB_DEPS
Emil Velikov [Tue, 1 Apr 2014 01:40:32 +0000 (02:40 +0100)]
targets/xvmc: use GALLIUM_COMMON_LIB_DEPS

The targets do not require expat or selinux. Use GALLIUM_COMMON_LIB_DEPS
which provides the core requirements for each gallium target.

Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agor600/omx: drop -lstdc++ hack
Emil Velikov [Tue, 1 Apr 2014 01:51:20 +0000 (02:51 +0100)]
r600/omx: drop -lstdc++ hack

The build system will use g++ to link the static library due to the
dummy.cpp source(s). Thus one does not need the explicit link against
stdc++.

Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agodrivers/nouveau: mention dummy.cpp to use g++ linker
Emil Velikov [Tue, 1 Apr 2014 01:49:58 +0000 (02:49 +0100)]
drivers/nouveau: mention dummy.cpp to use g++ linker

The build system does not know that the static library is C++.
Mention the cpp file to trigger generation of the proper variable
and drop the hacky stdc++ linking.

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
10 years agodrivers/nouveau: use GALLIUM_COMMON_LIB_DEPS
Emil Velikov [Tue, 1 Apr 2014 01:46:30 +0000 (02:46 +0100)]
drivers/nouveau: use GALLIUM_COMMON_LIB_DEPS

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
10 years agodrivers/r300: use GALLIUM_COMMON_LIB_DEPS
Emil Velikov [Tue, 1 Apr 2014 01:45:22 +0000 (02:45 +0100)]
drivers/r300: use GALLIUM_COMMON_LIB_DEPS

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848
Tested-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoautomake: introduce GALLIUM_COMMON_LIB_DEPS
Emil Velikov [Tue, 1 Apr 2014 01:34:08 +0000 (02:34 +0100)]
automake: introduce GALLIUM_COMMON_LIB_DEPS

Rather than copying the core four dependencies all over gallium,
introduce the above variable to avoid all the duplication.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848
Tested-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoautomake: move GALLIUM_DRI_LIB_DEPS to Automake.inc
Emil Velikov [Tue, 1 Apr 2014 01:05:57 +0000 (02:05 +0100)]
automake: move GALLIUM_DRI_LIB_DEPS to Automake.inc

With recent commit we started de-duplicating all of the compiler/
linker flags moving their handling inside Automake.inc.

This did not take into consideration that the above variable was set
at configure time, leading to issues on certain build combinations.

Move the variable to where it's used/handled thus cleaning up
configure.ac.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848
Tested-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoconfigure.ac: fix the detection of expat with pkg-config
Johannes Nixdorf [Sat, 22 Mar 2014 11:49:06 +0000 (12:49 +0100)]
configure.ac: fix the detection of expat with pkg-config

The pkg-config module was called "EXPAT" instead of "expat" in
PKG_CHECK_EXISTS. This seems to have been wrong because the wrong
argument was copied from PKG_CHECK_MODULES.

Cc: "10.0" "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agomegadriver_stub.c: don't use _GNU_SOURCE to gate the compat code
Jonathan Gray [Tue, 18 Mar 2014 14:59:18 +0000 (01:59 +1100)]
megadriver_stub.c: don't use _GNU_SOURCE to gate the compat code

_GNU_SOURCE is only set/required for linux*|*-gnu*|gnu*) and as the
functionality is available on other systems check for RTLD_DEFAULT instead.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoloader: don't limit the non-udev path to only android
Jonathan Gray [Tue, 18 Mar 2014 14:59:16 +0000 (01:59 +1100)]
loader: don't limit the non-udev path to only android

Platforms that lack libudev (OpenBSD and possibly others) need
this change in order to load the correct dri driver.
Under linux we unconditionally require libudev, thus this code
will never get build.

v2: Add commit message (Emil Velikov)

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoloader: use 0 instead of FALSE which isn't defined
Jonathan Gray [Tue, 18 Mar 2014 14:59:15 +0000 (01:59 +1100)]
loader: use 0 instead of FALSE which isn't defined

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agoclover: Document that the *obj*() helpers already take care of object validation.
Francisco Jerez [Fri, 4 Apr 2014 12:06:11 +0000 (14:06 +0200)]
clover: Document that the *obj*() helpers already take care of object validation.

10 years agoi965: Mark SNB GT1 as a GT1.
Matt Turner [Fri, 4 Apr 2014 19:16:23 +0000 (12:16 -0700)]
i965: Mark SNB GT1 as a GT1.

brw->gt only seems to be used on gen >= 7, so this shouldn't have any
effect.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
10 years agogallium/u_blitter: implement scaled blitting in the Z direction
Marek Olšák [Sun, 16 Mar 2014 02:44:09 +0000 (03:44 +0100)]
gallium/u_blitter: implement scaled blitting in the Z direction

So that pipe->blit can be used for 3D mipmap generation.

10 years agogallium/u_blitter: don't adjust cubemap coordinates by a small number
Marek Olšák [Sun, 16 Mar 2014 02:40:54 +0000 (03:40 +0100)]
gallium/u_blitter: don't adjust cubemap coordinates by a small number

It may cause issues with mipmap generation.
I think it was used to make some piglit tests pass on r300g.

10 years agoRevert "radeon: just don't map VRAM buffers at all"
Leo Liu [Wed, 2 Apr 2014 13:09:32 +0000 (09:09 -0400)]
Revert "radeon: just don't map VRAM buffers at all"

This reverts commit 96e8b916a7a39a9ba58e92d1ad77b5501de63ac7.
In the case of VCE encoding with raw YUV file, CPU load directly
to VRAM is faster than combination of CPU writing to GTT and
then blit to VRAM with GPU.

Reviewed-by: Christian König <christian.koenig@amd.com>
10 years agoradeon/vce: cleanup cpb handling
Leo Liu [Thu, 3 Apr 2014 20:53:30 +0000 (16:53 -0400)]
radeon/vce: cleanup cpb handling

v2: fix whitespace errors, minor coding style changes

Signed-off-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
10 years agost/mesa: improve sampler view handling
Christian König [Tue, 25 Mar 2014 16:31:49 +0000 (17:31 +0100)]
st/mesa: improve sampler view handling

Keep a dynamically increasing array of all the views
created for a texture instead of just the last one.

v2: add comments, fix array size calculation,
    release only the first sampler view found

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agost/xa: Fix advertized version number and try to avoid future discrepancies
Thomas Hellstrom [Thu, 3 Apr 2014 05:59:31 +0000 (07:59 +0200)]
st/xa: Fix advertized version number and try to avoid future discrepancies

The xa version number had to be set in two places. In configure.ac and in
xa_tracker.h. Furthermore, xa_tracker.h is an installed header so we can't
use mesa internal defines. So therefore, at configure time, modify the
xa_tracker.h header to use the version given by configure.ac

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
10 years agoglapi: Fix make check
Ian Romanick [Wed, 2 Apr 2014 21:48:24 +0000 (14:48 -0700)]
glapi: Fix make check

/me puts a paper bag on his head and sits in the corner.

This was supposed to be included in 5a68f731, which added
glPointSizePointerOES back to the list of functions exposed by
libGLESv1_CM.  It looks like it was an uncommitted change in my tree
when I sent the patch out.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agollvmpipe: remove no-op checks in sampler, sampler_view functions
Brian Paul [Wed, 2 Apr 2014 23:15:47 +0000 (17:15 -0600)]
llvmpipe: remove no-op checks in sampler, sampler_view functions

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
10 years agosoftpipe: remove no-op checks in sampler, sampler_view functions
Brian Paul [Wed, 2 Apr 2014 23:15:38 +0000 (17:15 -0600)]
softpipe: remove no-op checks in sampler, sampler_view functions

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
10 years agosvga: remove no-op checks in sampler, sampler_view functions
Brian Paul [Wed, 2 Apr 2014 23:12:20 +0000 (17:12 -0600)]
svga: remove no-op checks in sampler, sampler_view functions

We are checking for no-ops in the CSO module for both of these items
so there's no reason to do it in the driver.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
10 years agocso: check for no sampler view changes in cso_set_sampler_views()
Brian Paul [Wed, 2 Apr 2014 23:12:02 +0000 (17:12 -0600)]
cso: check for no sampler view changes in cso_set_sampler_views()

As we do for sampler states in single_sampler_done() and many other
CSO functions.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
10 years agodocs: Add note about updating tests to dev info
Timothy Arceri [Wed, 2 Apr 2014 06:35:17 +0000 (17:35 +1100)]
docs: Add note about updating tests to dev info

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
10 years agost/wgl: Remove wgl*Gallium*MESA().
José Fonseca [Thu, 27 Mar 2014 14:46:02 +0000 (14:46 +0000)]
st/wgl: Remove wgl*Gallium*MESA().

These were only used by the Python state tracker, which was removed, hence
they have no practical use.

Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agoglapi: Fix scons build
Ian Romanick [Wed, 2 Apr 2014 19:30:27 +0000 (12:30 -0700)]
glapi: Fix scons build

Put the -c in the correct place (and match Makefile.am).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76960
Tested-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
10 years agoglx: Do not advertise buffer_age on dri2
Adel Gadllah [Sun, 30 Mar 2014 21:36:25 +0000 (23:36 +0200)]
glx: Do not advertise buffer_age on dri2

Previously GLX_EXT_buffer_age has always been advertised as supported because
both client_glx_support and client_glx_only where set. So it did not matter
that direct_support is only set when running dri3 and we ended up always
advertising it.

Fix that by not setting client_glx_only for buffer_age in known_glx_extensions.

Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
10 years agocso: fix sampler view count in cso_set_sampler_views()
Brian Paul [Wed, 2 Apr 2014 14:54:41 +0000 (08:54 -0600)]
cso: fix sampler view count in cso_set_sampler_views()

We want to call pipe->set_sampler_views() with count being the
maximum of the old number of sampler views and the new number.
This makes sure we null-out any old sampler views.

We already do the same thing for sampler states in single_sampler_done().
Fixes some assertions seen in the VMware driver with XA tracker.

Cc: "10.0" "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Tested-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
10 years agoglapi: Add static dispatch for glPointSizePointerOES
Ian Romanick [Wed, 2 Apr 2014 04:32:11 +0000 (21:32 -0700)]
glapi: Add static dispatch for glPointSizePointerOES

The OpenGL ES 1.1 conformance tests expect this function to be
statically available form libGLESv1_CM.so.  The comment "required for
es1.1" in the XML file should have been a clue.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76926
Reviewed-by: Matt Turner <mattst88@gmail.com>
Tested-by: Lu Hua <huax.lu@intel.com>
10 years agoRevert "Revert "glapi/es1: Don't mark core functions as static_dispatch=false""
Ian Romanick [Tue, 1 Apr 2014 20:11:46 +0000 (13:11 -0700)]
Revert "Revert "glapi/es1: Don't mark core functions as static_dispatch=false""

This reverts commit 526e49290cd2d83fb931708a786c27647972a00c.

The original build problem should be fixed by the previous commit.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
10 years agoglapi: Enable ES compatibility mode
Ian Romanick [Tue, 1 Apr 2014 20:04:17 +0000 (13:04 -0700)]
glapi: Enable ES compatibility mode

Ages ago Chia-I added an ES compatibility flag to several of the various
generator scripts.  The intention was to bridge differences between ES
and desktop in Mesa builds without ES.  It doesn't appear that it has
ever been used.  Recent changes to static_dispatch status of several ES1
functions caused problems in desktop-only, non-shared-glapi builds.
Enabling the ES compatibility mode appears to fix these build problems.

This is kind of a duct tape solution to this problem.  As I mentioned in
the cover letter for the series that triggered the build problem, I
would like to make some major changes to the generator architecture and
the XML.  The whole point of the proposed architecture changes is to
better handle the differences between desktop GL and ES.  I think duct
tape is okay for now.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76869
Tested-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
Cc: Vinson Lee <vlee@freedesktop.org>
Cc: Chia-I Wu <olv@lunarg.com>
10 years agoglapi: Fix build break in 'make check' on non-shared-glapi builds
Ian Romanick [Tue, 1 Apr 2014 19:56:31 +0000 (12:56 -0700)]
glapi: Fix build break in 'make check' on non-shared-glapi builds

Commit fb78fa58 made the GL_ARB_debug_output functions aliases of the
GL_KHR_debug output functions.  As a result, the function names in
struct _glapi_table also changed.  The table in check_table.cpp used the
ARB names.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
Tested-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
Cc: Vinson Lee <vlee@freedesktop.org>
10 years agoglapi: Remove support for "short string" mode
Ian Romanick [Tue, 1 Apr 2014 19:40:18 +0000 (12:40 -0700)]
glapi: Remove support for "short string" mode

C89 has a fairly short minimum-maximum string length.  To support
compilers limited by the C89 limits, this script had a mode where it
would generate a character array instead of a giant string.  These were
functionally the same, but the code generated for the character array is
HUGE and difficult to read.

As far as I can tell, nothing in Mesa uses '-m short' any more.  The
generated files used to be tracked in revision control, but I think we
stopped using '-m short' when we stopped tracking the generated files.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
Cc: Vinson Lee <vlee@freedesktop.org>
10 years agomesa: remove redundant running of check_symbol_table()
Juha-Pekka Heikkila [Wed, 2 Apr 2014 13:13:59 +0000 (16:13 +0300)]
mesa: remove redundant running of check_symbol_table()

Nested for loops running through tables against which they
finally do an assert were ran also with optimized builds.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agomesa: Add missing null check in _mesa_parse_arb_program()
Juha-Pekka Heikkila [Wed, 2 Apr 2014 13:13:58 +0000 (16:13 +0300)]
mesa: Add missing null check in _mesa_parse_arb_program()

Add missing null check in program_parse.tab.c through
program_parse.y

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agomesa: Prevent negative indexing on noise2, noise3 and noise4
Juha-Pekka Heikkila [Wed, 2 Apr 2014 13:13:57 +0000 (16:13 +0300)]
mesa: Prevent negative indexing on noise2, noise3 and noise4

% operator could return negative value which would cause
indexing before perm table. Change %256 to &0xff

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoglx: add extra null check in getFBConfigs
Juha-Pekka Heikkila [Wed, 2 Apr 2014 13:13:56 +0000 (16:13 +0300)]
glx: add extra null check in getFBConfigs

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agoglx: remove unused __glXClientInfo()
Juha-Pekka Heikkila [Wed, 2 Apr 2014 13:13:55 +0000 (16:13 +0300)]
glx: remove unused __glXClientInfo()

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoi965/vec4: do not trim dead channels on gen6 for math
Tapani Pälli [Wed, 2 Apr 2014 08:46:58 +0000 (11:46 +0300)]
i965/vec4: do not trim dead channels on gen6 for math

Do not set a writemask on Gen6 for math instructions, those are
executed using align1 mode that does not support a destination mask.

v2: cleanups, better comment (Matt)

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

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agowinsys/svga: Replace the query mm buffer pool with a slab pool v3
Thomas Hellstrom [Mon, 31 Mar 2014 07:01:24 +0000 (09:01 +0200)]
winsys/svga: Replace the query mm buffer pool with a slab pool v3

This is to avoid running out of query buffer space due to winsys
limitations. Instead of a fixed size per screen pool of query buffers,
use a slab allocator that allocates a new slab if we run out of space
in the first one.

v2: Correct email addresses.
v3: s/8192/VMW_QUERY_POOL_SIZE/. Improve documentation and log message.

Reported-and-tested-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
10 years agomesa/soft/llvmpipe: add fake MSAA support
Dave Airlie [Wed, 27 Nov 2013 09:47:51 +0000 (19:47 +1000)]
mesa/soft/llvmpipe: add fake MSAA support

This adds a gallium cap that allows us to fake GL3.0 by
not exposing MSAA on sw rendering.
It also forces the extra extensions needed for GL3.2.

Signed-off-by: Dave Airlie <airlied@redhat.com>
10 years agogbm: Add gbm_bo_get_fd to gbm-symbols-check script
Kristian Høgsberg [Tue, 1 Apr 2014 21:08:38 +0000 (14:08 -0700)]
gbm: Add gbm_bo_get_fd to gbm-symbols-check script

10 years agogbm: Add import from fd
Kristian Høgsberg [Fri, 28 Mar 2014 17:17:11 +0000 (10:17 -0700)]
gbm: Add import from fd

Add a new import type that lets us create a gbm bo from a
DMA-BUF file descriptor.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
10 years agogbm: Add gbm_bo_get_fd()
Kristian Høgsberg [Fri, 28 Mar 2014 07:33:54 +0000 (00:33 -0700)]
gbm: Add gbm_bo_get_fd()

Add gbm function to get a DMA-BUF file descriptor for a gbm bo.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
10 years agoinclude/GLES3: add OpenGL ES 3.1 Headers
Jordan Justen [Tue, 25 Mar 2014 07:38:20 +0000 (00:38 -0700)]
include/GLES3: add OpenGL ES 3.1 Headers

From:
http://www.khronos.org/registry/gles/api/GLES3/gl31.h
http://www.khronos.org/registry/gles/api/GLES2/gl2ext.h
http://www.khronos.org/registry/gles/api/GLES3/gl3platform.h

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agoRevert "glapi/es1: Don't mark core functions as static_dispatch=false"
Brian Paul [Tue, 1 Apr 2014 13:39:36 +0000 (07:39 -0600)]
Revert "glapi/es1: Don't mark core functions as static_dispatch=false"

This reverts commit f6e290f80cc6728647e9cee35546190f081197e2.

To fix the broken build.  The DRI-enabled build seems OK after reverting.
Th non-DRI/gallium build is still suffering from an unrelated issue in
the pipe-loader code.

10 years agomesa: Allow setting GL_TEXTURE_MAX_LEVEL to 0 with GL_TEXTURE_RECTANGLE.
Iago Toral Quiroga [Mon, 31 Mar 2014 08:04:00 +0000 (02:04 -0600)]
mesa: Allow setting GL_TEXTURE_MAX_LEVEL to 0 with GL_TEXTURE_RECTANGLE.

Currently, we raise an error when doing this which breaks a conformance
test from the OpenGL samples pack. Even if this is a bit silly it is not
an error.

From http://www.opengl.org/wiki/Rectangle_Texture:

"Rectangle textures contain exactly one image; they cannot have mipmaps.
Therefore, any texture parameters that depend on LODs are irrelevant
when used with rectangle textures; attempting to set these parameters to
any value other than 0 will result in an error."

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

Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: fix silent math failures due to ~ and &
Ilia Mirkin [Mon, 31 Mar 2014 22:28:30 +0000 (18:28 -0400)]
gallium/docs: fix silent math failures due to ~ and &

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: line up some of the equations
Ilia Mirkin [Mon, 31 Mar 2014 22:19:18 +0000 (18:19 -0400)]
gallium/docs: line up some of the equations

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: fix incorrect/missing references
Ilia Mirkin [Mon, 31 Mar 2014 22:08:07 +0000 (18:08 -0400)]
gallium/docs: fix incorrect/missing references

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: fix use of _ in math sections
Ilia Mirkin [Mon, 31 Mar 2014 21:51:31 +0000 (17:51 -0400)]
gallium/docs: fix use of _ in math sections

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: add format to index
Ilia Mirkin [Mon, 31 Mar 2014 21:26:33 +0000 (17:26 -0400)]
gallium/docs: add format to index

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agogallium/docs: fix a lot of bad formatting
Ilia Mirkin [Mon, 31 Mar 2014 21:26:11 +0000 (17:26 -0400)]
gallium/docs: fix a lot of bad formatting

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agoglsl: remove UBO fields from _mesa_glsl_parse_state
Chia-I Wu [Thu, 20 Mar 2014 07:50:36 +0000 (15:50 +0800)]
glsl: remove UBO fields from _mesa_glsl_parse_state

They are not needed since 514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agonv50: implement clear_buffer to accelerate ARB_clear_buffer_object
Ilia Mirkin [Tue, 25 Mar 2014 21:03:29 +0000 (17:03 -0400)]
nv50: implement clear_buffer to accelerate ARB_clear_buffer_object

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
10 years agomesa/st: Accelerate ARB_clear_buffer_object with clear_buffer
Ilia Mirkin [Tue, 25 Mar 2014 21:02:48 +0000 (17:02 -0400)]
mesa/st: Accelerate ARB_clear_buffer_object with clear_buffer

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
10 years agogallium: add interface to clear buffers
Ilia Mirkin [Tue, 25 Mar 2014 21:10:54 +0000 (17:10 -0400)]
gallium: add interface to clear buffers

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
10 years agomapi_abi: Remove ABI-check work arounds for functions that are no longer exported
Ian Romanick [Wed, 26 Mar 2014 20:11:29 +0000 (13:11 -0700)]
mapi_abi: Remove ABI-check work arounds for functions that are no longer exported

The previous commit stopped exporting 21 libGLESv2 and 88 libGLESv1_CM
functions.  This removes the work-arounds for those functions from
ABI-check.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Chad Versace <chad.versace@linux.intel.com>
10 years agomapi_abi: Make ES1 and ES2 static_dispatch=false functions hidden
Ian Romanick [Wed, 26 Mar 2014 19:57:47 +0000 (12:57 -0700)]
mapi_abi: Make ES1 and ES2 static_dispatch=false functions hidden

This has been a long standing issue with the ES libraries.  Functions
marked in the XML with 'static_dispatch=false' were still incorrectly
exported.  ABI-check is supposed to detect this case, but we have to
paper over failures every time a new extension is added.

This change will cause a big pile of functions to disappear from
libGLESv2 and libGLESv1_CM.

libGLESv2 loses (20 functions):

    glBindVertexArrayOES
    glCompressedTexImage3DOES
    glCompressedTexSubImage3DOES
    glCopyTexSubImage3DOES
    glDeleteVertexArraysOES
    glDiscardFramebufferEXT
    glDrawBuffersNV
    glFlushMappedBufferRangeEXT
    glFramebufferTexture3DOES
    glGenVertexArraysOES
    glGetBufferPointervOES
    glGetProgramBinaryOES
    glIsVertexArrayOES
    glMapBufferOES
    glMapBufferRangeEXT
    glProgramBinaryOES
    glReadBufferNV
    glTexImage3DOES
    glTexSubImage3DOES
    glUnmapBufferOES

libGLESv1_CM loses (88 functions):

    glAlphaFuncxOES
    glBindFramebufferOES
    glBindRenderbufferOES
    glBlendEquationOES
    glBlendEquationSeparateOES
    glBlendFuncSeparateOES
    glCheckFramebufferStatusOES
    glClearColorxOES
    glClearDepthfOES
    glClearDepthxOES
    glClipPlanefOES
    glClipPlanexOES
    glColor4xOES
    glDeleteFramebuffersOES
    glDeleteRenderbuffersOES
    glDepthRangefOES
    glDepthRangexOES
    glDiscardFramebufferEXT
    glDrawTexfOES
    glDrawTexfvOES
    glDrawTexiOES
    glDrawTexivOES
    glDrawTexsOES
    glDrawTexsvOES
    glDrawTexxOES
    glDrawTexxvOES
    glFlushMappedBufferRangeEXT
    glFogxOES
    glFogxvOES
    glFramebufferRenderbufferOES
    glFramebufferTexture2DOES
    glFrustumfOES
    glFrustumxOES
    glGenerateMipmapOES
    glGenFramebuffersOES
    glGenRenderbuffersOES
    glGetBufferPointervOES
    glGetClipPlanefOES
    glGetClipPlanexOES
    glGetFixedvOES
    glGetFramebufferAttachmentParameterivOES
    glGetLightxvOES
    glGetMaterialxvOES
    glGetRenderbufferParameterivOES
    glGetTexEnvxvOES
    glGetTexGenfvOES
    glGetTexGenivOES
    glGetTexGenxvOES
    glGetTexParameterxvOES
    glIsFramebufferOES
    glIsRenderbufferOES
    glLightModelxOES
    glLightModelxvOES
    glLightxOES
    glLightxvOES
    glLineWidthxOES
    glLoadMatrixxOES
    glMapBufferOES
    glMapBufferRangeEXT
    glMaterialxOES
    glMaterialxvOES
    glMultiTexCoord4xOES
    glMultMatrixxOES
    glNormal3xOES
    glOrthofOES
    glOrthoxOES
    glPointParameterxOES
    glPointParameterxvOES
    glPointSizePointerOES
    glPointSizexOES
    glPolygonOffsetxOES
    glQueryMatrixxOES
    glRenderbufferStorageOES
    glRotatexOES
    glSampleCoveragexOES
    glScalexOES
    glTexEnvxOES
    glTexEnvxvOES
    glTexGenfOES
    glTexGenfvOES
    glTexGeniOES
    glTexGenivOES
    glTexGenxOES
    glTexGenxvOES
    glTexParameterxOES
    glTexParameterxvOES
    glTranslatexOES
    glUnmapBufferOES

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Chia-I Wu <olv@lunarg.com>
Cc: Paul Berry <stereotype441@gmail.com>
10 years agomapi: Hack around glGetInternalformativ not being hidden in GLES
Ian Romanick [Wed, 26 Mar 2014 23:24:54 +0000 (16:24 -0700)]
mapi: Hack around glGetInternalformativ not being hidden in GLES

This is hella ugly.  The same-named function in desktop OpenGL is
hidden, but it needs to be exposed by libGLESv2 for OpenGL ES 3.0.
There's no way to express in the XML that a function should be be hidden
in one API but exposed in another.

This won't affect any change now, but it will prevent a regression in a
later patch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
10 years agoglapi/es1: Don't mark core functions as static_dispatch=false
Ian Romanick [Wed, 26 Mar 2014 22:25:08 +0000 (15:25 -0700)]
glapi/es1: Don't mark core functions as static_dispatch=false

Functions that are part of OpenGL ES 1.0 or 1.1 should have static
dispatch functions in libGLESv1_CM.  This doesn't affect any change yet,
but it will prevent later regressions.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Chad Versace <chad.versace@linux.intel.com>
10 years agoglapi: Mark all GL_ARB_separate_shader_objects functions with static_dispatch=false
Ian Romanick [Wed, 26 Mar 2014 19:14:14 +0000 (12:14 -0700)]
glapi: Mark all GL_ARB_separate_shader_objects functions with static_dispatch=false

This prevents the entrypoints from being (incorrectly) advertised by
libGL.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Chad Versace <chad.versace@linux.intel.com>
10 years agoglapi: Remove some duplicate ignore="true" lines
Ian Romanick [Wed, 26 Mar 2014 22:31:11 +0000 (15:31 -0700)]
glapi: Remove some duplicate ignore="true" lines

It looks like these were added accidentally by Paul in commit 1a1db174.
From the commit message and the look of the patch, I think this was just
some sed-job left overs.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
10 years agoi965/vec4: Don't trim writemasks of texture instructions.
Matt Turner [Fri, 28 Mar 2014 23:45:17 +0000 (16:45 -0700)]
i965/vec4: Don't trim writemasks of texture instructions.

It was my understanding that the writemask works in SIMD4x2 mode for
texturing instructions and doesn't require a message header. Some bit of
this logic must be wrong, so disable it until it's understood.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76617
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
10 years agoautomake: ask the linker to do garbage collection
Emil Velikov [Tue, 11 Mar 2014 17:58:08 +0000 (17:58 +0000)]
automake: ask the linker to do garbage collection

By doing GC the linker removes all the symbols that are not referenced
and/or used by the final library. This results in a saving of ~100K
up-to ~600K per (stripped) binary (classic vs gallium drivers).

If interested one can ask the compiler to print the sections that are
removed using -Wl,--print-gc-sections.

v2: Check if ld supports the flag before using it.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Matt Turner <mattst88@gmail.com> (v1)
10 years agoautomake: add -Wl,--no-undefined to all libraries
Emil Velikov [Thu, 13 Mar 2014 05:44:33 +0000 (05:44 +0000)]
automake: add -Wl,--no-undefined to all libraries

... apart from the dri drivers.
With this final change we can build mesa without fear that
the resulting libraries will have unresolved symbols.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agogallium/targets: add missing library dependencies
Emil Velikov [Thu, 27 Mar 2014 20:32:41 +0000 (20:32 +0000)]
gallium/targets: add missing library dependencies

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agopipe-loader: reorder PIPE_LIBS
Emil Velikov [Mon, 31 Mar 2014 12:05:14 +0000 (13:05 +0100)]
pipe-loader: reorder PIPE_LIBS

Reorder -lm, -lrt, -lpthreads and -ldl to be consistent with the
rest of mesa.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agopipe-loader: use PTHREAD_LIBS over -lpthread
Emil Velikov [Thu, 27 Mar 2014 20:21:52 +0000 (20:21 +0000)]
pipe-loader: use PTHREAD_LIBS over -lpthread

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agodri/i965: use CLOCK_LIBS over -lrt
Emil Velikov [Wed, 12 Mar 2014 01:49:20 +0000 (01:49 +0000)]
dri/i965: use CLOCK_LIBS over -lrt

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoautomake: consistently use -no-undefined
Emil Velikov [Thu, 13 Mar 2014 02:32:29 +0000 (02:32 +0000)]
automake: consistently use -no-undefined

Set the flag for all but the dri targets. They have missing
glapi symbols which are required for the normal operation with
the X server.

Jon, I fear that you'll need to carry the "no-undefined" hunk
locally when building the dri drivers under cygwin.

Cc: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agotargets/egl-static: move the common LDFLAGS into AM_LDFLAGS
Emil Velikov [Tue, 11 Mar 2014 16:05:53 +0000 (16:05 +0000)]
targets/egl-static: move the common LDFLAGS into AM_LDFLAGS

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agotargets/omx: do not link against the trace driver
Emil Velikov [Fri, 28 Mar 2014 12:22:44 +0000 (12:22 +0000)]
targets/omx: do not link against the trace driver

Unused due to the missing GALLIUM_TRACE define.

Requested-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
10 years agogallium/targets: explicitly include a dummy.cpp and remove all the LINK mayhem
Emil Velikov [Tue, 11 Mar 2014 15:24:07 +0000 (15:24 +0000)]
gallium/targets: explicitly include a dummy.cpp and remove all the LINK mayhem

Explicitly setting the linker variable was required for old and broken
build toolchains. At this point this should no longer be needed, and
setting the sources lists will trigger generation of the correct LINK
variables.

Explicitly include dummy.cpp to use g++ to link the static library which
in most cases is based upon C++ code.

v2: Reword commit message.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agogallium/targets: move LLVM_LIBS handling inside Automake.inc
Emil Velikov [Tue, 11 Mar 2014 13:34:53 +0000 (13:34 +0000)]
gallium/targets: move LLVM_LIBS handling inside Automake.inc

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agogallium/targets: fold LLVM_LDFLAGS inside Automake.inc
Emil Velikov [Tue, 11 Mar 2014 02:21:21 +0000 (02:21 +0000)]
gallium/targets: fold LLVM_LDFLAGS inside Automake.inc

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10 years agotargets/omx: use GALLIUM_OMX_LINKER_FLAGS
Emil Velikov [Thu, 13 Mar 2014 02:28:21 +0000 (02:28 +0000)]
targets/omx: use GALLIUM_OMX_LINKER_FLAGS

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
10 years agotargets/omx: introduce GALLIUM_OMX_LIB_DEPS
Emil Velikov [Tue, 11 Mar 2014 02:45:23 +0000 (02:45 +0000)]
targets/omx: introduce GALLIUM_OMX_LIB_DEPS

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
10 years agotargets/pipe-loader: move LLVM_LIBS handling inside PIPE_LIBS
Emil Velikov [Tue, 11 Mar 2014 14:45:30 +0000 (14:45 +0000)]
targets/pipe-loader: move LLVM_LIBS handling inside PIPE_LIBS

This lets us have only one if HAVE_MESA_LLVM block, rather than
one for each driver.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agotargets/pipe-loader: include dummy.cpp irrespective of HAVE_MESA_LLVM
Emil Velikov [Tue, 11 Mar 2014 01:56:04 +0000 (01:56 +0000)]
targets/pipe-loader: include dummy.cpp irrespective of HAVE_MESA_LLVM

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agotargets/pipe-loader: compact duplicating LDFLAGS
Emil Velikov [Tue, 11 Mar 2014 01:52:00 +0000 (01:52 +0000)]
targets/pipe-loader: compact duplicating LDFLAGS

Every library uses the same libtool/linker flags. Compact those
into AM_LDFLAGS and append the version script to it.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agopipe-loader/swrast: add soft/llvmpipe defines
Joakim Sindholt [Tue, 11 Mar 2014 01:46:55 +0000 (01:46 +0000)]
pipe-loader/swrast: add soft/llvmpipe defines

Or it compiles them in, but pretends they don't exist

v2: Rebase (Emil)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agotargets/xa: drop libudev references from automake build
Emil Velikov [Tue, 11 Mar 2014 00:42:48 +0000 (00:42 +0000)]
targets/xa: drop libudev references from automake build

Mesa does _not_ link against libudev. Additionally the only place
that deals with it is the loader, thus we can drop the CFLAGS.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agodri/common: LIBDRM_LIBS is not a linker/libtool flag, add it to LIBADD
Emil Velikov [Tue, 11 Mar 2014 00:19:16 +0000 (00:19 +0000)]
dri/common: LIBDRM_LIBS is not a linker/libtool flag, add it to LIBADD

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agodrivers/x11: GL_LIB_DEPS is not a linker/libtool flag, add it to LIBADD
Emil Velikov [Tue, 11 Mar 2014 00:01:33 +0000 (00:01 +0000)]
drivers/x11: GL_LIB_DEPS is not a linker/libtool flag, add it to LIBADD

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoconfigure: autodetect video state-trackers when non swrast driver is present
Emil Velikov [Thu, 13 Mar 2014 04:25:17 +0000 (04:25 +0000)]
configure: autodetect video state-trackers when non swrast driver is present

It makes little sense to enable the vdpau, xvmc and omx state-trackers
as they do not make use of (don't work with) the software driver.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoconfigure: use grep in quiet mode, rather than piping stderr/stdout to /dev/null
Emil Velikov [Wed, 12 Mar 2014 02:37:55 +0000 (02:37 +0000)]
configure: use grep in quiet mode, rather than piping stderr/stdout to /dev/null

grep -q is easier to read and consistent with the rest of configure.ac.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoconfigure: error out when building gallium-osmesa without softpipe
Emil Velikov [Wed, 12 Mar 2014 00:36:21 +0000 (00:36 +0000)]
configure: error out when building gallium-osmesa without softpipe

Gallium osmesa links against the softpipe driver, thus the build
will fail if it's missing.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Matt Turner <mattst88@gmail.com>
10 years agoPartially revert "automake: allow only shared builds"
Emil Velikov [Wed, 12 Mar 2014 18:13:02 +0000 (18:13 +0000)]
Partially revert "automake: allow only shared builds"

Evidently at least static OSMesa is still used as shared one
causes substantial increase in the load time for some programs
that use it (from seconds up-to ~30min).

Rather than forcing everyone to use shared mesa, revert commit
a6efbac9fb502c4f0166e7a0680b6828e1f6926c and default to shared
build when both shared and static are disabled.

v2: Whitespace cleanup, drop silly comment.

Reported-by: Burlen Loring <burlen.loring@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoconfigure: enable dri3 only for linux
Emil Velikov [Fri, 21 Mar 2014 18:09:36 +0000 (18:09 +0000)]
configure: enable dri3 only for linux

Currently only linux can make use of dri3, so it would make sense to
enable it explicitly for the platform.
Drop a duplicated libudev check while we're at it.

v3: Properly handle dri3 and reword commit message.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76377
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agomesa: Fix format matching checks for GL_INTENSITY* internalformats.
Chris Forbes [Fri, 28 Mar 2014 23:02:55 +0000 (12:02 +1300)]
mesa: Fix format matching checks for GL_INTENSITY* internalformats.

GL_INTENSITY has never been valid as a pixel format -- to get the memcpy
pack/unpack paths, the app needs to specify GL_RED as the pixel format
(or GL_RED_INTEGER for the integer formats).

Note: This was briefly merged before, but exposed some breakage in gallium, so
was reverted. Hopefully it will stick this time.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agost: fix st_choose_matching_format to ignore intensity
Chris Forbes [Fri, 28 Mar 2014 23:02:54 +0000 (12:02 +1300)]
st: fix st_choose_matching_format to ignore intensity

_mesa_format_matches_format_and_type() returns true for
GL_RED/GL_RED_INTEGER (with an appropriate type) into an intensity
mesa_format.

We want the `red`-based format instead, regardless of the order we find
them in our walk of the mesa formats list.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
10 years agomesa: fix texstore for MESA_FORMAT_R8G8B8A8_SRGB
Chris Forbes [Sat, 29 Mar 2014 03:56:48 +0000 (16:56 +1300)]
mesa: fix texstore for MESA_FORMAT_R8G8B8A8_SRGB

The case for this was in the wrong function, and this format's store
func was not set in the table at all.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Brian Paul <brianp@vmware.com>
10 years agofreedreno/a3xx/compiler: fix RECT textures
Rob Clark [Sun, 30 Mar 2014 16:06:35 +0000 (12:06 -0400)]
freedreno/a3xx/compiler: fix RECT textures

Whether or not the coords are normalized is handled in the texture
state.  But we otherwise need to treat RECT sample instructions as 2D.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
10 years agofreedreno/a3xx/compiler: avoid negative register ids
Rob Clark [Sat, 29 Mar 2014 18:32:38 +0000 (14:32 -0400)]
freedreno/a3xx/compiler: avoid negative register ids

In some cases, we need a register to be assigned up to three components
before the base.  Since we can't have negative register #'s, just shift
everything up.  May increase register usage for trivial shaders, but I
don't think we are shader limited in those cases.  A proper solution is
going to require a better register assignment algorithm (which is on the
TODO list), this is just a hack to get us by until then.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
10 years agofreedreno/a3xx: missing wfi
Rob Clark [Sat, 29 Mar 2014 15:06:49 +0000 (11:06 -0400)]
freedreno/a3xx: missing wfi

RB_FRAME_BUFFER_DIMENSION is not a banked context register, so we need
to wait for the GPU to idle before updating it.  But we'd rather not
have unnecessary WFI's, so actually keep track if we need to emit it or
not.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
10 years agofreedreno/a3xx: little extra debug
Rob Clark [Sat, 29 Mar 2014 15:42:01 +0000 (11:42 -0400)]
freedreno/a3xx: little extra debug

Catch things which should not happen in debug builds.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
10 years agofreedreno: handle null sampler
Rob Clark [Thu, 27 Mar 2014 18:47:48 +0000 (14:47 -0400)]
freedreno: handle null sampler

This is something that XA triggers.  In some cases it will only use
SAMP[1] (composite mask) but not SAMP[0] (composite src).

Signed-off-by: Rob Clark <robclark@freedesktop.org>