mesa.git
8 years agopipe-loader: add preliminary Android support
Emil Velikov [Wed, 14 Oct 2015 22:44:17 +0000 (23:44 +0100)]
pipe-loader: add preliminary Android support

Add a 'static' pipe-loader build, which will be used with follow-up
commits.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: add preliminary scons support
Emil Velikov [Wed, 14 Oct 2015 22:32:58 +0000 (23:32 +0100)]
pipe-loader: add preliminary scons support

Add a 'static' pipe-loader build, which will be used with follow-up
commits.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: don't mix code and variable declarations
Emil Velikov [Wed, 14 Oct 2015 17:11:11 +0000 (18:11 +0100)]
pipe-loader: don't mix code and variable declarations

We cannot use this C99 feature here quite yet, as the code needs to be
build with MSVC prior to 2013.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agotarget-helpers: add a non-inline drm_helper.h
Emil Velikov [Sun, 11 Oct 2015 12:50:56 +0000 (13:50 +0100)]
target-helpers: add a non-inline drm_helper.h

Unlike the inline ones, here we'd want to have an extern definition of
the functions. This is required as with follow-up commits, we'll
gradually start using the static pipe-loader, with the latter needing
the symbols.

These are direct copy from the inline version.

v2:
 - rebase on top of virgl support
 - add "driver missing" printfs (Nicolai)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agotarget-helpers: move the DRI specifics to the target
Emil Velikov [Wed, 7 Oct 2015 16:37:37 +0000 (17:37 +0100)]
target-helpers: move the DRI specifics to the target

Rather than having all targets include the file, with only some defining
the relevant guard macro, just move things where they are used.

v2: rebase on top of virgl support.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agoautomake: remove no longer needed HAVE_LOADER_GALLIUM conditional
Emil Velikov [Sat, 17 Oct 2015 20:14:09 +0000 (21:14 +0100)]
automake: remove no longer needed HAVE_LOADER_GALLIUM conditional

As of last few commits we have a static and dynamic pipe-loader. Either
of which will be used with (almost) all targets..

We can look into allowing the user to select which way the targets are
built, be that 'static for all' or 'per target' in follow up commits.
After which we can look into building only the static or dynamic
version, although building both shouldn't cause any issues.

Hack/workaround alert:
Control the standalone pipe-drivers via HAVE_CLOVER. Will need to be
fixed as the targets are converted/configure knobs are in.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: wire up the 'static' sw pipe-loader
Emil Velikov [Fri, 20 Nov 2015 17:19:54 +0000 (17:19 +0000)]
pipe-loader: wire up the 'static' sw pipe-loader

Analogous to previous commit with a small catch.

As the sw inline helpers are mere wrappers, and the screen <> winsys
split is more prominent (with the latter not being part of the final
pipe-driver), things will just work.

v2: rebase on top of earlier 'consolitate teardown' changes

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: wire up the 'static' drm pipe-loader
Emil Velikov [Wed, 14 Oct 2015 13:56:21 +0000 (14:56 +0100)]
pipe-loader: wire up the 'static' drm pipe-loader

Add a list of driver descriptors and select one from the list, during
probe time.

As we'll need to have all the driver pipe_foo_screen_create() functions
provided externally (i.e. from another static lib) we need a separate
(non-inline) drm_helper, which contains the function declarations.

v2: rebase on top of virgl support.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: add a dummy 'static' pipe-loader
Emil Velikov [Tue, 13 Oct 2015 17:07:11 +0000 (18:07 +0100)]
pipe-loader: add a dummy 'static' pipe-loader

It is to be used in contrast of the dynamic one. The state-tracker does
not need to know if the pipe-driver is built into the final blob or
a separate object. This will allow us to move the logic to the final
step (in target) where the appropriate pipe-loader will be chosen.

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agogallium: rename libpipe_loader to libpipe_loader_dynamic
Emil Velikov [Sat, 17 Oct 2015 21:06:17 +0000 (22:06 +0100)]
gallium: rename libpipe_loader to libpipe_loader_dynamic

With the next commits we'll introduce a 'static' version, which will
essentially load the statically linked-in pipe-drivers, rather than the
standalone pipe-$foo.so ones.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: dlopen/dlsym the pipe-driver at probe time
Emil Velikov [Sat, 17 Oct 2015 20:51:45 +0000 (21:51 +0100)]
pipe-loader: dlopen/dlsym the pipe-driver at probe time

Rather than giving false hopes that things might work, just check at
probe time. This allows us to remove the duplication and consolidate
the code wrt the upcomming static pipe-loader.

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: annotate the ops as const data
Emil Velikov [Wed, 14 Oct 2015 20:35:50 +0000 (21:35 +0100)]
pipe-loader: annotate the ops as const data

Already defined as such in struct pipe_loader_device::ops.

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: teardown the winsys, if create_screen fails
Emil Velikov [Sat, 17 Oct 2015 19:53:16 +0000 (20:53 +0100)]
pipe-loader: teardown the winsys, if create_screen fails

i.e. plug some (hard to hit) memory leaks.

v2: fix rebase fallout - really teardown the winsys (Brian)
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: rework the sw backend
Emil Velikov [Sat, 17 Oct 2015 20:51:24 +0000 (21:51 +0100)]
pipe-loader: rework the sw backend

Move the winsys into the pipe-target, similar to the hardware
pipe-driver.

v2:
 - move int declaration outside of loop (Brian)
 - fold the teardown into a goto + separate function.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agogallium: keep the libdrm link alongside libkmsdri.la
Emil Velikov [Sat, 17 Oct 2015 22:23:49 +0000 (23:23 +0100)]
gallium: keep the libdrm link alongside libkmsdri.la

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: directly use pipe_loader_sw_probe_null() at probe time
Emil Velikov [Wed, 14 Oct 2015 20:31:24 +0000 (21:31 +0100)]
pipe-loader: directly use pipe_loader_sw_probe_null() at probe time

Due to the nature of the other sw winsys' we cannot use them during the
generic probe stage. As such there is little point in keeping the
abstraction layer.

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: add pipe_loader_sw_probe_init_common() helper
Emil Velikov [Wed, 14 Oct 2015 18:35:51 +0000 (19:35 +0100)]
pipe-loader: add pipe_loader_sw_probe_init_common() helper

Allows us to fold the duplication in pipe_loader_sw_probe_*().

Cc: Tom Stellard <thomas.stellard@amd.com>
Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agogallium/tests: remove unneeded include paths
Emil Velikov [Wed, 14 Oct 2015 15:16:52 +0000 (16:16 +0100)]
gallium/tests: remove unneeded include paths

The tests don't (and shouldn't) need to have anything driver and/or
winsys specific.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agogallium: remove library_path argument from pipe_loader_create_screen()
Emil Velikov [Wed, 14 Oct 2015 15:37:37 +0000 (16:37 +0100)]
gallium: remove library_path argument from pipe_loader_create_screen()

Currently the location is determined at configure/build time and
consistently copied across gallium. Just remove the extra argument, and
use PIPE_SEARCH_DIR where appropriate.

This will allow us to remove the duplication in the *configuration and
*screen_create APIs by moving util_dl_get_proc_address() and friends to
probe time.

v2: rebase on top of vl_winsys_drm.c addition

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agotargets/nine: remove the custom pipe-driver path management
Emil Velikov [Wed, 14 Oct 2015 13:52:37 +0000 (14:52 +0100)]
targets/nine: remove the custom pipe-driver path management

Since the up-streaming of nine, the static target was used by default.
The dynamic pipe-drivers being available only via manual tweak of
configure.ac.

As we'll be removing the library_path argument from the pipe-loader with
follow-up commits, we can remove D3D9_DRIVERS_PATH/D3D9_DRIVERS_DIR.
Everyone doing local hacking on nine, or wishing to have a env override
can bring them back within the pipe-loader.

Cc: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: remove HAVE_DRM_LOADER_GALLIUM and HAVE_PIPE_LOADER_DRM
Emil Velikov [Wed, 14 Oct 2015 15:26:53 +0000 (16:26 +0100)]
pipe-loader: remove HAVE_DRM_LOADER_GALLIUM and HAVE_PIPE_LOADER_DRM

... in favour of HAVE_LIBDRM. After all we solely want to build the code
when the latter is available.

In the not too distant future we will remove the libudev/sysfs
dependency and simplify configure.ac even further.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: add pipe_loader_sw_probe_kms() implementation
Emil Velikov [Wed, 14 Oct 2015 15:24:55 +0000 (16:24 +0100)]
pipe-loader: add pipe_loader_sw_probe_kms() implementation

Will be used as a counterpart for target-helpers'
kms_swrast_create_screen().

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agoconfigure: use HAVE_DRISW_KMS when handling kms swrast
Emil Velikov [Sun, 11 Oct 2015 10:53:45 +0000 (11:53 +0100)]
configure: use HAVE_DRISW_KMS when handling kms swrast

Using HAVE_DRI2 to manage it seems counter-intuitive.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agotargets/nine: use the existing sw_screen_wrap() over our custom version
Emil Velikov [Tue, 6 Oct 2015 22:04:22 +0000 (23:04 +0100)]
targets/nine: use the existing sw_screen_wrap() over our custom version

Cc: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agoautomake: use GALLIUM_PIPE_LOADER_DEFINES only where applicable
Emil Velikov [Wed, 14 Oct 2015 15:23:50 +0000 (16:23 +0100)]
automake: use GALLIUM_PIPE_LOADER_DEFINES only where applicable

As of last commit we no longer need the defines in order to have the
function prototypes.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agopipe-loader: remove HAVE_PIPE_LOADER_foo function prototype guards
Emil Velikov [Wed, 14 Oct 2015 15:20:32 +0000 (16:20 +0100)]
pipe-loader: remove HAVE_PIPE_LOADER_foo function prototype guards

They serve little to no purpose, as we don't need any additional
dependencies (headers and/or symbols). On the other hand dropping them
will allow us to use GALLIUM_PIPE_LOADER_DEFINES in only one single
place - the pipe-loader.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agogallium/trace: remove useless NULL check from trace_screen_create()
Emil Velikov [Tue, 6 Oct 2015 21:25:47 +0000 (22:25 +0100)]
gallium/trace: remove useless NULL check from trace_screen_create()

Currently every target makes sure that the screen is non-null prior to
using the debug (trace including) wrappers. If that no longer holds true
we want to know and fix this ASAP rather than silently bailing out.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agoconfigure: remove obsolete _CLIENT comment
Emil Velikov [Wed, 7 Oct 2015 17:05:04 +0000 (18:05 +0100)]
configure: remove obsolete _CLIENT comment

The referenced variable(s) have been removed with commit abc20120e4a
(automake: pipe-loader: remove the 'client' pipe-loader)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
8 years agodocs: add news item and link release notes for 11.0.6
Emil Velikov [Sat, 21 Nov 2015 12:42:48 +0000 (12:42 +0000)]
docs: add news item and link release notes for 11.0.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
8 years agodocs: add sha256 checksums for 11.0.6
Emil Velikov [Sat, 21 Nov 2015 12:40:06 +0000 (12:40 +0000)]
docs: add sha256 checksums for 11.0.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 2555e000fc1771dd231207247b5d9dfec4600fe8)

8 years agodocs: add release notes for 11.0.6
Emil Velikov [Sat, 21 Nov 2015 11:38:20 +0000 (11:38 +0000)]
docs: add release notes for 11.0.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 04fd3a6f629b5098cc2a4da1f2392678349ecf56)

8 years agofreedreno/a4xx: add missing formats to enable ARB_vertex_type_2_10_10_10_rev
Ilia Mirkin [Sat, 21 Nov 2015 01:40:45 +0000 (20:40 -0500)]
freedreno/a4xx: add missing formats to enable ARB_vertex_type_2_10_10_10_rev

Same as commit 84d087aea but for a4xx. The RE'd enums had the same issue
too.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoi965: Test that nonrepresentable floats cannot be converted to VF.
Matt Turner [Wed, 4 Nov 2015 22:38:27 +0000 (14:38 -0800)]
i965: Test that nonrepresentable floats cannot be converted to VF.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agoi965: Use ldexpf() in VF float test set up.
Matt Turner [Wed, 4 Nov 2015 22:31:59 +0000 (14:31 -0800)]
i965: Use ldexpf() in VF float test set up.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agoi965/vec4: Initialize nir_inputs with src_reg().
Matt Turner [Fri, 20 Nov 2015 05:48:47 +0000 (21:48 -0800)]
i965/vec4: Initialize nir_inputs with src_reg().

nir_locals, nir_ssa_values, and nir_system_values are all dst_reg (not
that that makes a whole lot of sense to me), and only nir_inputs is a
src_reg.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
8 years agoi965/fs: Add support for gl_HelperInvocation system value.
Matt Turner [Sat, 14 Nov 2015 01:51:12 +0000 (17:51 -0800)]
i965/fs: Add support for gl_HelperInvocation system value.

In most cases (when the negate is copy propagated and the MOV removed),
this is two instructions on Gen >= 8 and only two instructions on
earlier platforms -- and it doesn't use the flag register.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
8 years agoi965: Add brw_imm_uv().
Matt Turner [Mon, 16 Nov 2015 17:29:01 +0000 (09:29 -0800)]
i965: Add brw_imm_uv().

8 years agoi965: Don't bother setting regioning on immediates.
Matt Turner [Mon, 16 Nov 2015 17:28:02 +0000 (09:28 -0800)]
i965: Don't bother setting regioning on immediates.

The region fields are unioned with the immediate storage.

8 years agonir: Add support for gl_HelperInvocation system value.
Matt Turner [Sat, 14 Nov 2015 01:50:27 +0000 (17:50 -0800)]
nir: Add support for gl_HelperInvocation system value.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
8 years agofreedreno/a4xx: use hardware RGTC texture samplers
Ilia Mirkin [Fri, 20 Nov 2015 23:34:03 +0000 (18:34 -0500)]
freedreno/a4xx: use hardware RGTC texture samplers

a4xx hardware has real support for RGTC so there's no need to fake it
like we do on a3xx. Undo the hacks, and keep track of an "internal
format" of a resource, which on a3xx will be different, triggering the
transfer-time conversions to take place.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: hook up RGB565 format
Ilia Mirkin [Fri, 20 Nov 2015 22:43:11 +0000 (17:43 -0500)]
freedreno/a4xx: hook up RGB565 format

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: logic op handling
Ilia Mirkin [Fri, 20 Nov 2015 18:27:49 +0000 (13:27 -0500)]
freedreno/a4xx: logic op handling

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add 16-bit unorm/snorm format texturing/rendering
Ilia Mirkin [Fri, 20 Nov 2015 15:40:59 +0000 (10:40 -0500)]
freedreno/a4xx: add 16-bit unorm/snorm format texturing/rendering

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: point regid to "red" even for alpha-only rb formats
Ilia Mirkin [Fri, 20 Nov 2015 23:11:26 +0000 (18:11 -0500)]
freedreno/a4xx: point regid to "red" even for alpha-only rb formats

Looks like a4xx hw does this in a more standard way and we don't need to
hack around it like we do on a3xx. Fixes GL_ALPHA formats in
fbo-blending-formats, fbo-colormask-formats, and fbo-alphatest-formats.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
8 years agottn: add TEX2 support
Ilia Mirkin [Fri, 20 Nov 2015 21:51:07 +0000 (16:51 -0500)]
ttn: add TEX2 support

This fixes CubeArrayShadow tests (where the shadow comes in via a second
arg to the TEX2 instruction).

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
8 years agofreedreno: always set all border colors
Ilia Mirkin [Fri, 20 Nov 2015 22:04:05 +0000 (17:04 -0500)]
freedreno: always set all border colors

Instead of playing the guessing game as to which texture format reads
from which border color encoding type, just write both of them always.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: fix dst_alpha blend for RGBX render targets
Ilia Mirkin [Fri, 20 Nov 2015 18:45:18 +0000 (13:45 -0500)]
freedreno/a4xx: fix dst_alpha blend for RGBX render targets

There are not native RGBX render formats, so we must manually force
dst_alpha to be one, same as for a3xx.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoradeon: re-prepare query buffers on begin_query for predicate queries
Nicolai Hähnle [Fri, 20 Nov 2015 11:58:55 +0000 (12:58 +0100)]
radeon: re-prepare query buffers on begin_query for predicate queries

The point of prepare_buffer is to ensure that the query buffer contains valid
initial data for conditional rendering: as long as the buffer is initialized
correctly, the GPU is able to tell whether query results have been written
already (and wait or fall back to unconditional rendering if desired).

This means prepare_buffer needs to be called again when a buffer is reused.

Conversely, for queries that cannot be used for conditional rendering
(notably pipeline statistics), we can re-use buffers immediately, and they
do not need to be initialized.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Andy Furniss <adf.lists@gmail.com>
8 years agoradeon: reset query buffers for PIPE_QUERY_TIMESTAMP
Nicolai Hähnle [Fri, 20 Nov 2015 10:46:26 +0000 (11:46 +0100)]
radeon: reset query buffers for PIPE_QUERY_TIMESTAMP

Since begin_query is not called for this query type, we need to reset the
query buffer state in end_query instead.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93015
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Andy Furniss <adf.lists@gmail.com>
Tested-by: Mathias Tillman <master.homer@gmail.com>
8 years agomesa: update some old-style (K&R?) function pointer calls
Brian Paul [Fri, 20 Nov 2015 17:19:16 +0000 (10:19 -0700)]
mesa: update some old-style (K&R?) function pointer calls

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodocs: mention GL 3.3 support for VMware driver in Mesa 11.1 relnotes
Brian Paul [Fri, 20 Nov 2015 21:05:55 +0000 (14:05 -0700)]
docs: mention GL 3.3 support for VMware driver in Mesa 11.1 relnotes

Signed-off-by: Brian Paul <brianp@vmware.com>
8 years agosvga: add num-bytes-uploaded HUD query
Brian Paul [Thu, 19 Nov 2015 17:39:49 +0000 (10:39 -0700)]
svga: add num-bytes-uploaded HUD query

To graph the number of bytes uploaded to GPU per frame (vertex buffer data,
constant buffer data, texture data, etc).

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
8 years agosvga: add some sanity check assertions in svga_buffer_transfer_map()
Brian Paul [Thu, 19 Nov 2015 17:39:09 +0000 (10:39 -0700)]
svga: add some sanity check assertions in svga_buffer_transfer_map()

Make sure y and z values of buffers are as expected.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
8 years agodocs: mark compile-time constant expressions as done
Timothy Arceri [Thu, 5 Nov 2015 11:17:36 +0000 (22:17 +1100)]
docs: mark compile-time constant expressions as done

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: add subroutine index qualifier support
Timothy Arceri [Sun, 8 Nov 2015 22:34:40 +0000 (09:34 +1100)]
glsl: add subroutine index qualifier support

ARB_explicit_uniform_location allows the index for subroutine functions
to be explicitly set in the shader.

This patch reduces the restriction on the index qualifier in
validate_layout_qualifiers() to allow it to be applied to subroutines
and adds the new subroutine qualifier validation to ast_function::hir().

ast_fully_specified_type::has_qualifiers() is updated to allow the
index qualifier on subroutine functions when explicit uniform locations
is available.

A new check is added to ast_type_qualifier::merge_qualifier() to stop
multiple function qualifiers from being defied, before this patch this
would cause a segfault.

Finally a new variable is added to ir_function_signature to store the
index. This value is validated and the non explicit values assigned in
link_assign_subroutine_types().

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
8 years agoglsl: add support for complie-time constant expressions
Timothy Arceri [Sat, 14 Nov 2015 04:13:28 +0000 (15:13 +1100)]
glsl: add support for complie-time constant expressions

This patch replaces the old interger constant qualifiers with either
the new ast_layout_expression type if the qualifier requires merging
or ast_expression if the qualifier can't have mulitple declarations
or if all but the newest qualifier is simply ignored.

We also update the process_qualifier_constant() helper to be
similar to the one in the ast_layout_expression class, but in
this case it will be used to process the ast_expression qualifiers.

Global shader layout qualifier validation is moved out of the parser
in this change as we now need to evaluate any constant expression
before doing the validation.

V2: Fix minimum value check for vertices (Emil)

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: add new type for compile time constants
Timothy Arceri [Sun, 8 Nov 2015 20:48:46 +0000 (07:48 +1100)]
glsl: add new type for compile time constants

In this patch we introduce a new ast type for holding the new
compile-time constant expressions. The main reason for this is that
we can no longer do merging of layout qualifiers before they have been
converted into GLSL IR so we need to store them to be proccessed later.

The new type has two helper functions:

- process_qualifier_constant()

 Used to merge and then evaluate qualifier expressions

- merge_qualifier()

 Simply appends a qualifier to a list to be merged later by
 process_qualifier_constant()

In order to avoid cascading error messages the process_qualifier_constant()
helpers return a bool

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: call set_shader_inout_layout() earlier
Timothy Arceri [Sat, 14 Nov 2015 03:05:30 +0000 (14:05 +1100)]
glsl: call set_shader_inout_layout() earlier

This will allow us to add error checking to this function
in a later patch, if we don't move it the error messages
will go missing.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: replace binding layout min boundary check
Timothy Arceri [Sat, 14 Nov 2015 13:42:44 +0000 (00:42 +1100)]
glsl: replace binding layout min boundary check

Use new helper that will in a later patch allow for
compile time constants.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: encapsulate binding validation and setting
Timothy Arceri [Sat, 14 Nov 2015 13:55:29 +0000 (00:55 +1100)]
glsl: encapsulate binding validation and setting

This change moves the binding layout handing code into an apply
function to be consistent with other helper functions in the ast
code, and to encapsulate the code so that when we introduce
compile time constants the code will be much cleaner.

One small downside is for unnamed interface blocks we will now
be revalidating the binding for each member its applied to.
However this seems a small sacrifice in order to have code which
is readable.

We also remove the incorrect comment in the named interface code
about propagating bindings to members which seems to have been
copied from the unnamed interface code.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: move stream layout max validation
Timothy Arceri [Sat, 14 Nov 2015 03:32:38 +0000 (14:32 +1100)]
glsl: move stream layout max validation

This validation is moved later so we can validate the
max value when compile time constant support is added in a
later patch.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: move stream layout qualifier validation
Timothy Arceri [Fri, 13 Nov 2015 07:47:55 +0000 (18:47 +1100)]
glsl: move stream layout qualifier validation

We are moving this out of the parser in preparation for compile
time constant support.

The reason a validation function is used rather than an apply
function like what is used with bindings is because glsl allows
streams to be defined on members of blocks even though they must
match the stream thats associated with the current block, this
means we need access to the value after validation to do this
comparision.

V2: Fix typo in comment (Emil)

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: replace index layout min boundary check
Timothy Arceri [Sat, 14 Nov 2015 02:09:46 +0000 (13:09 +1100)]
glsl: replace index layout min boundary check

Use new helper that will in a later patch allow for
compile time constants.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: remove duplicate validation for index layout qualifier
Timothy Arceri [Fri, 13 Nov 2015 04:16:20 +0000 (15:16 +1100)]
glsl: remove duplicate validation for index layout qualifier

The minimum value for index is validated in apply_explicit_location()
and we want to remove validation from the parser so we can add
compile time constant support.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: move location layout qualifier validation
Timothy Arceri [Fri, 13 Nov 2015 04:10:57 +0000 (15:10 +1100)]
glsl: move location layout qualifier validation

We are moving this out of the parser in preparation for compile
time constant support.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoglsl: add process_qualifier_constant() helper
Timothy Arceri [Sat, 14 Nov 2015 01:22:49 +0000 (12:22 +1100)]
glsl: add process_qualifier_constant() helper

For now this just validates that a qualifier is inside its
minimum boundary, in a later patch we will expand it to
evaluate compile time constants.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agodocs: mark GL_AMD_performance_monitor for nv50
Samuel Pitoiset [Tue, 10 Nov 2015 00:08:28 +0000 (01:08 +0100)]
docs: mark GL_AMD_performance_monitor for nv50

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agonv50: expose two groups of compute-related MP perf counters
Samuel Pitoiset [Tue, 10 Nov 2015 00:40:00 +0000 (01:40 +0100)]
nv50: expose two groups of compute-related MP perf counters

This turns on GL_AMD_performance_monitor.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoi965/gen9: Support fast clears for 32b float
Ben Widawsky [Wed, 14 Oct 2015 03:50:27 +0000 (20:50 -0700)]
i965/gen9: Support fast clears for 32b float

SKL supports the ability to do fast clears and resolves of 32b RGBA as both
integer and floats. This patch only enables float color clears because we
haven't yet enabled integer color clears, (HW support for that was added in
BDW).

v2: Remove LUMINANCE16F and INTENSITY16F special cases since they are now
handled by Neil's patch to disable MSAA fast clears.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
8 years agoRevert "i965/gen9: Enable rep clears on gen9"
Ben Widawsky [Wed, 14 Oct 2015 03:50:24 +0000 (20:50 -0700)]
Revert "i965/gen9: Enable rep clears on gen9"

This reverts commit 8a0c85b25853decb4a110b6d36d79c4f095d437b.

It's not a strict revert because I don't want to bring back the gen < 9 check at
this point in time.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
8 years agoRevert "i965/gen9: Disable MCS for 1x color surfaces"
Ben Widawsky [Wed, 14 Oct 2015 03:50:23 +0000 (20:50 -0700)]
Revert "i965/gen9: Disable MCS for 1x color surfaces"

This reverts commit dcd59a9e322edeea74187bcad65a8e56c0bfaaa2.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
8 years agoi965/meta/gen9: Individually fast clear color attachments
Ben Widawsky [Wed, 14 Oct 2015 03:50:22 +0000 (20:50 -0700)]
i965/meta/gen9: Individually fast clear color attachments

The impetus for this patch comes from a seemingly benign statement within the
spec (quoted within the patch).

It is very important for clearing multiple color buffer attachments and can be
observed in the following piglit tests:
spec/arb_framebuffer_object/fbo-drawbuffers-none glclear
spec/ext_framebuffer_multisample/blit-multiple-render-targets 0

v2: Doing the framebuffer binding only once (Chad)
Directly use the renderbuffers from the mt (Chad)

v3: Patch from Neil whose feedback I originally missed.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Chad Versace <chad.versace@intel.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
8 years agoi965/skl: skip fast clears for certain surface formats
Ben Widawsky [Wed, 14 Oct 2015 03:50:21 +0000 (20:50 -0700)]
i965/skl: skip fast clears for certain surface formats

Some of the information originally in this commit message is now in the patch
before this.

SKL adds compressible render targets and as a result mutates some of the
programming for fast clears and resolves. There is a new internal surface type
called the CCS. The old AUX_MCS bit becomes AUX_CCS_D. "Auxiliary Surfaces For
Sampled Tiled Resource".

The formats which are supported are defined in the table titled "Render Target
Surface Types [SKL+]". There is no PRM yet to reference. The previously
implemented helper function already does the right thing provided the table is
correct.

v2: Use better English in commit message (Matt)
s/compressable/compressible/ (Matt)
Don't compare bools to true (Matt)
Use the helper function and don't increase the context size - this is mostly
implemented in the patch just before this (Chad, Neil)
Remove an "invalid" assert (Chad)
Fix assertion to check num_samples > 1, instead of num_samples (Chad)

v3:
Use Matt's code as Requested-by: Chad. I didn't even look at it since Chad said
he was fine with that, and presumably Matt is fine with it.

v4: Use better quote from spec (Topi)

Cc: Chad Versace <chad.versace@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
8 years agoi965: Add lossless compression to surface format table
Ben Widawsky [Tue, 10 Nov 2015 20:16:54 +0000 (12:16 -0800)]
i965: Add lossless compression to surface format table

Background: Prior to Skylake and since Ivybridge Intel hardware has had the
ability to use a MCS (Multisample Control Surface) as auxiliary data in
"compression" operations on the surface. This reduces memory bandwidth.  This
hardware was either used for MSAA compression, or fast clear operations. On
Gen8, a similar mechanism exists to allow the hiz buffer to be sampled from, and
therefore this feature is sometimes referred to more generally as "AUX buffers".

Skylake adds the ability to have the display engine directly source compressed
surfaces on top of the ability to sample from them. Inference dictates that
enabling this display features adds a restriction to the formats which could
actually be compressed. This is backed up by a blurb in the AUX_CCS_D section
from the RENDER_SURFACE_STATE: "In addition, if the surface is bound to the
sampling engine, Surface Format must be supported for Render Target Compression
for surfaces bound to the sampling engine." The current set of surfaces seems
to be a subset as compared to previous gens (see the next patch). Also, if I had
to guess I would guess that future gens add support for more surface formats. To
make handling this a bit easier to read, and more future proof, the support for
this is moved into the surface formats table.

Along with the modifications to the table, a helper function is also provided to
determine if a surface is CCS_E compatible. Because fast clears are currently
disabled on SKL, we can plumb the helper all the way through here, and not
actually have anything break.

v2:
- rename ccs to ccs_e; Requested-by: Chad
- rename lossless_compression to lossless_compression Requested-by: Chad
- change meaning of brw_losslessly_compressible_format Requested-by: Chad
  - related changes to the code to reflect this.
- remove excess ccs (Chad)

v3:
- Commit message changes (Topi)
- Const some things which could be const (Topi)

Requested-by: Chad Versace <chad.versace@intel.com>
Requested-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
8 years agoi965/skl: Add fast color clear infrastructure
Ben Widawsky [Tue, 14 Apr 2015 21:57:51 +0000 (14:57 -0700)]
i965/skl: Add fast color clear infrastructure

Patch was originally called:
i965/skl: Enable fast color clears on SKL

Skylake introduces some differences in the way that fast clears are programmed
and in the restrictions for using fast clears. Since some of these are
non-obvious, and fast clears are currently disabled globally, we can enable the
simple stuff here and leave the weirder stuff and separately reviewable work.

Based on a patch originally from Kristian.

Note that within this patch the change in scaling factors could be achieved with
this hunk instead. I've opted to keep things more like how the docs describe it
however.
   --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
   +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
   @@ -150,9 +150,13 @@ intel_get_non_msrt_mcs_alignment(struct brw_context *brw,
          /* In release builds, fall through */
       case I915_TILING_Y:
          *width_px = 32 / mt->cpp;
   -      *height = 4;
   +      if (brw->gen >= 9)
   +         *height = 2;
   +      else
   +         *height = 4;

v2: Add braces for the multiline (Matt + Chad)
Comment updates (requested by Chad)
Modified commit message
Commit message from Chad explaining the MCS height change (Chad)

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
8 years agodocs: Add GL_EXT_shader_samples_identical to the release notes
Ian Romanick [Fri, 20 Nov 2015 19:36:41 +0000 (11:36 -0800)]
docs: Add GL_EXT_shader_samples_identical to the release notes

Trivial

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
8 years agoradeon/vce: disable two pipe mode for stoney
Leo Liu [Tue, 10 Nov 2015 18:34:17 +0000 (13:34 -0500)]
radeon/vce: disable two pipe mode for stoney

Only one encoding pipe available for Stoney

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agoradeon/vce: add new firmware interface support
Leo Liu [Tue, 3 Nov 2015 18:33:03 +0000 (13:33 -0500)]
radeon/vce: add new firmware interface support

Add new interface to create and encode

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agoegl: don't forget to ship platform_x11_dri3.h into the tarball
Emil Velikov [Fri, 20 Nov 2015 15:12:56 +0000 (15:12 +0000)]
egl: don't forget to ship platform_x11_dri3.h into the tarball

Should have been a part of f35198badeb

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoglsl: move builtin_type_macros.h into the correct list
Emil Velikov [Fri, 20 Nov 2015 14:59:27 +0000 (14:59 +0000)]
glsl: move builtin_type_macros.h into the correct list

Commit b9b40ef9b76 moved the file, but forgot to update the reference in
the makefile. Thus the out of tree build was busted :\

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoautomake: use static llvm for make distcheck
Emil Velikov [Fri, 20 Nov 2015 15:15:18 +0000 (15:15 +0000)]
automake: use static llvm for make distcheck

With llvm 3.7 semi-dropping the autoconf build, we rely on their cmake
build. With the latter of which annoyingly using another (busted?)
SONAME.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agomesa: remove unused var in _mesa_PushDebugGroup()
Brian Paul [Fri, 20 Nov 2015 16:34:11 +0000 (09:34 -0700)]
mesa: remove unused var in _mesa_PushDebugGroup()

Trivial.

8 years agomesa: whitespaces fixes in _mesa_one_time_init_extension_overrides()
Brian Paul [Thu, 19 Nov 2015 19:41:28 +0000 (12:41 -0700)]
mesa: whitespaces fixes in _mesa_one_time_init_extension_overrides()

Trivial.

8 years agoradeon: ensure that timing/profiling queries are suspended on flush
Nicolai Hähnle [Wed, 18 Nov 2015 17:40:22 +0000 (18:40 +0100)]
radeon: ensure that timing/profiling queries are suspended on flush

The queries_suspended_for_flush flag is redundant because suspended queries
are not removed from their respective linked list.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8 years agost/mesa: add support for batch driver queries to perfmon
Nicolai Hähnle [Thu, 12 Nov 2015 14:09:21 +0000 (15:09 +0100)]
st/mesa: add support for batch driver queries to perfmon

v2 + v3: forgot null-pointer checks (spotted by Samuel Pitoiset)

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agogallium/hud: add support for batch queries
Nicolai Hähnle [Tue, 10 Nov 2015 16:04:32 +0000 (17:04 +0100)]
gallium/hud: add support for batch queries

v2 + v3: be more defensive about allocations

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agogallium: add the concept of batch queries
Nicolai Hähnle [Tue, 10 Nov 2015 13:06:59 +0000 (14:06 +0100)]
gallium: add the concept of batch queries

Some drivers (in particular radeon[si], but also freedreno judging from
a quick grep) may want to expose performance counters that cannot be
individually enabled or disabled.

Allow such drivers to mark driver-specific queries as requiring a new
type of batch query object that is used to start and stop a list of queries
simultaneously.

v3: adjust recently added nv50 queries

v2: documentation for create_batch_query

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agost/mesa: maintain active perfmon counters in an array
Nicolai Hähnle [Thu, 12 Nov 2015 11:30:23 +0000 (12:30 +0100)]
st/mesa: maintain active perfmon counters in an array

It is easy enough to pre-determine the required size, and arrays are
generally better behaved especially when they get large.

v2: make sure init_perf_monitor returns true when no counters are active
(spotted by Samuel Pitoiset)

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agost/mesa: use BITSET_FOREACH_SET to loop through active perfmon counters
Nicolai Hähnle [Thu, 12 Nov 2015 11:02:44 +0000 (12:02 +0100)]
st/mesa: use BITSET_FOREACH_SET to loop through active perfmon counters

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agost/mesa: store mapping from perfmon counter to query type
Nicolai Hähnle [Thu, 12 Nov 2015 10:53:22 +0000 (11:53 +0100)]
st/mesa: store mapping from perfmon counter to query type

Previously, when a performance monitor was initialized, an inner loop through
all driver queries with string comparisons for each enabled performance
monitor counter was used. This hurts when a driver exposes lots of queries.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agost/mesa: map semantic driver query types to underlying type
Nicolai Hähnle [Fri, 6 Nov 2015 13:19:54 +0000 (14:19 +0100)]
st/mesa: map semantic driver query types to underlying type

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agogallium/hud: remove unused field in query_info
Nicolai Hähnle [Tue, 10 Nov 2015 13:41:52 +0000 (14:41 +0100)]
gallium/hud: remove unused field in query_info

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agogallium: remove pipe_driver_query_group_info field type
Nicolai Hähnle [Tue, 10 Nov 2015 12:35:01 +0000 (13:35 +0100)]
gallium: remove pipe_driver_query_group_info field type

This was only used to implement an unnecessarily restrictive interpretation
of the spec of AMD_performance_monitor. The spec says

  A performance monitor consists of a number of hardware and software
  counters that can be sampled by the GPU and reported back to the
  application.

I guess one could take this as a requirement that counters _must_ be sampled
by the GPU, but then why are they called _software_ counters? Besides,
there's not much reason _not_ to expose all counters that are available,
and this simplifies the code.

v3: add a missing change in the nouveau driver (thanks Samuel Pitoiset)

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
8 years agogallivm: use sampler index 0 for texel fetches
Roland Scheidegger [Fri, 20 Nov 2015 03:49:23 +0000 (04:49 +0100)]
gallivm: use sampler index 0 for texel fetches

texel fetches don't use any samplers. Previously we just set the same
number for both texture and sampler unit (as per "ordinary" gl style
sampling where the numbers are always the same) however this would trigger
some assertions checking that the sampler index isn't over PIPE_MAX_SAMPLERS
limit elsewhere with d3d10, so just set to 0.
(Fixing the assertion instead isn't really an option, the sampler isn't
really used but might still pass an out-of-bound pointer around and even
copy some things from it.)

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
8 years agofreedreno/a4xx: add BPTC support
Ilia Mirkin [Fri, 20 Nov 2015 00:17:04 +0000 (19:17 -0500)]
freedreno/a4xx: add BPTC support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoxmlconfig: Add support for DragonFly
François Tigeot [Tue, 17 Nov 2015 17:54:01 +0000 (18:54 +0100)]
xmlconfig: Add support for DragonFly

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoandroid: export the path of glsl nir headers
Mauro Rossi [Sat, 7 Nov 2015 00:23:46 +0000 (01:23 +0100)]
android: export the path of glsl nir headers

The change is necessary to avoid building errors in glsl and i965
modules due to missing glsl_types.h header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agomesa: re-enable KHR_debug for ES contexts
Boyan Ding [Fri, 20 Nov 2015 11:11:19 +0000 (11:11 +0000)]
mesa: re-enable KHR_debug for ES contexts

With the earlier issues resolved we can expose the extension.

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agomain: Don't restrict several KHR_debug enum to desktop GL
Boyan Ding [Sun, 8 Nov 2015 09:56:40 +0000 (17:56 +0800)]
main: Don't restrict several KHR_debug enum to desktop GL

In preparation for supporting GL_KHR_debug in OpenGL ES

v2: add a missing hunk in _mesa_IsEnabled (Emil)

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agomesa: use the correct string for the ES GL_KHR_debug functions
Emil Velikov [Thu, 5 Nov 2015 20:22:25 +0000 (20:22 +0000)]
mesa: use the correct string for the ES GL_KHR_debug functions

As defined in the spec

    when implemented in an OpenGL ES context, all entry points defined
    by this extension must have a "KHR" suffix.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>