mesa.git
8 years agodoc: document GALLIUM_DRIVER
Christoph Haag [Thu, 8 Sep 2016 19:32:04 +0000 (21:32 +0200)]
doc: document GALLIUM_DRIVER

v2: Add dot at end of sentence

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoegl/android: Set EGL_MAX_PBUFFER_WIDTH and EGL_MAX_PBUFFER_HEIGHT
Haixia Shi [Fri, 26 Aug 2016 07:47:53 +0000 (10:47 +0300)]
egl/android: Set EGL_MAX_PBUFFER_WIDTH and EGL_MAX_PBUFFER_HEIGHT

Set config attributes EGL_MAX_PBUFFER_WIDTH and EGL_MAX_PBUFFER_HEIGHT to
hard-coded non-zero values. These two attributes are required on Android.

v2: use _EGL_MAX_PBUFFER_WIDTH/HEIGHT from egldefines.h
    (based on discussion on the first version)

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoandroid: depend on libmesa_genxml from i965 Android.gen.mk
Tapani Pälli [Wed, 7 Sep 2016 11:19:54 +0000 (14:19 +0300)]
android: depend on libmesa_genxml from i965 Android.gen.mk

Static library dependency is required to pull the generated
XML headers into the generated C file.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoi965: release GLSL IR in LinkShader after it's not needed
Tapani Pälli [Mon, 5 Sep 2016 06:18:09 +0000 (09:18 +0300)]
i965: release GLSL IR in LinkShader after it's not needed

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
8 years agoglsl: use hash instead of exec_list in copy propagation
Tapani Pälli [Tue, 6 Sep 2016 07:17:57 +0000 (10:17 +0300)]
glsl: use hash instead of exec_list in copy propagation

This change makes copy propagation pass faster. Complete link time
spent in test case attached to bug 94477 goes down to ~400 secs from
over 500 secs on my HSW machine. Does not fix the actual issue but
brings down the total. No regressions seen in CI.

v2: do not leak hash_table structure

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
8 years agoi965/fs: Fail the shader compile instead of asserting when we can't spill
Jason Ekstrand [Thu, 8 Sep 2016 21:08:02 +0000 (14:08 -0700)]
i965/fs: Fail the shader compile instead of asserting when we can't spill

Blorp doesn't handle spilling so we set allow_spilling to false in that
case.  The blorp 16x MSAA resolve shader spills in 16-wide but not 8-wide.
This commit makes it so that we fail the 16-wide compile and successfully
fall back to 8-wide instead of just assert-failing when trying to compile
the 16-wide shader.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
8 years agonir/gcm: Add global value numbering support
Jason Ekstrand [Wed, 10 Aug 2016 21:34:49 +0000 (14:34 -0700)]
nir/gcm: Add global value numbering support

Unlike the current CSE pass, global value numbering is capable of detecting
common values even if one does not dominate the other.  For instance, in
you have

if (...) {
   ssa_1 = ssa_0 + 7;
   /* use ssa_1 */
} else {
   ssa_2 = ssa_0 + 7;
   /* use ssa_2 */
}

Global value numbering doesn't care about dominance relationships so it
figures out that ssa_1 and ssa_2 are the same and converts this to

if (...) {
   ssa_1 = ssa_0 + 7;
   /* use ssa_1 */
} else {
   /* use ssa_1 */
}

Obviously, we just broke SSA form which is bad.  Global code motion,
however, will repair this for us by turning this into

ssa_1 = ssa_0 + 7;
if (...) {
   /* use ssa_1 */
} else {
   /* use ssa_1 */
}

This intended to eventually mostly replace CSE.  However, conventional CSE
may still be useful because it's less of a scorched-earth approach and
doesn't require GCM.  This makes it a bit more appropriate for use as a
clean-up in a late optimization run.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agonir/gcm: Call nir_metadata_preserve
Jason Ekstrand [Wed, 10 Aug 2016 21:34:37 +0000 (14:34 -0700)]
nir/gcm: Call nir_metadata_preserve

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agor300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering
Max Staudt [Wed, 7 Sep 2016 23:53:45 +0000 (01:53 +0200)]
r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering

On the RSxxx chip series, HW TCL is missing and r300_emit_vs_state()
is never called.

However, if R300_VAP_CNTL is never set, the hardware (at least the
RS690 I tested this on) comes up with rendering artifacts, and
parts that are uploaded before this "fix" remain broken in VRAM.
This causes artifacts as in fdo#69076 ("triangle flickering").

It seems like this setup needs to happen at least once after power on
for 3D rendering to work properly. In the DDX with EXA, this happens in
RADEON_SWITCH_TO_3D() when processing an XRENDER Composite or an
Xv request. So playing back a video or starting a GTK+2 application
fixes 3D rendering for the rest of the session. However, this auto-fix
doesn't happen when EXA is not used, such as with GLAMOR or Wayland.

This patch ensures the register is configured even in absence of
the DDX's EXA module.

The register setting is taken from:
  xf86-video-ati  --  RADEONInit3DEngineInternal()
  mesa/src/mesa/drivers/dri/r300  --  r300EmitClearState()

Tested on RS690.

CC: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Max Staudt <mstaudt@suse.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
8 years agogallium: remove PIPE_BIND_TRANSFER_READ/WRITE
Marek Olšák [Wed, 7 Sep 2016 19:24:08 +0000 (21:24 +0200)]
gallium: remove PIPE_BIND_TRANSFER_READ/WRITE

not used in any useful way

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
8 years agoradeonsi: unify si_set_optimal_micro_tile_mode call sites
Marek Olšák [Wed, 7 Sep 2016 10:35:40 +0000 (12:35 +0200)]
radeonsi: unify si_set_optimal_micro_tile_mode call sites

There is nothing special happening in those code blocks.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix texture reinterpretation after DCC fast clear
Marek Olšák [Wed, 7 Sep 2016 00:51:24 +0000 (02:51 +0200)]
radeonsi: fix texture reinterpretation after DCC fast clear

The problem is that TC-compatible DCC clear codes translate
into different clear values when you change the format.

I have a new piglit reproducing the issue.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: enable DCC fast clear for 128-bit formats
Marek Olšák [Wed, 7 Sep 2016 00:05:34 +0000 (02:05 +0200)]
radeonsi: enable DCC fast clear for 128-bit formats

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: clamp integer clear color values for DCC fast clear
Marek Olšák [Tue, 6 Sep 2016 23:39:09 +0000 (01:39 +0200)]
radeonsi: clamp integer clear color values for DCC fast clear

It should be possible to get TC-compatible fast clear more often now.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoRevert "radeonsi: enable SDMA on CIK"
Marek Olšák [Thu, 8 Sep 2016 16:21:04 +0000 (18:21 +0200)]
Revert "radeonsi: enable SDMA on CIK"

This reverts commit 0241d8300f66ee2c6c2c55fe64ac88d76440c591.

It doesn't work with mobile Bonaire. It looks like the programming of
tiling parameters is wrong on some chips.

8 years agodoc: fix typo of GALLIUM_HUD_TOGGLE_SIGNAL
Christoph Haag [Tue, 6 Sep 2016 23:13:39 +0000 (01:13 +0200)]
doc: fix typo of GALLIUM_HUD_TOGGLE_SIGNAL

In the original commit message in 56a1c10 it was wrongly used too:
- env GALLIUM_HUD_SIGNAL_TOGGLE: toggle visibility via signal

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agonir/spirv: Refactor variable deocration handling
Jason Ekstrand [Wed, 7 Sep 2016 01:44:52 +0000 (18:44 -0700)]
nir/spirv: Refactor variable deocration handling

Previously, we dind't apply variable decorations to the members of a split
structure variable.  This doesn't quite work, unfortunately, because things
such as the "flat" qualifier may get applied to an entire structure instead
of propagated to the members.  This fixes 9 of the new CTS tests in the
dEQP-VK.glsl.linkage.varying.struct.* group.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
8 years agonir/spirv: Break variable decoration handling into a helper
Jason Ekstrand [Wed, 7 Sep 2016 01:33:14 +0000 (18:33 -0700)]
nir/spirv: Break variable decoration handling into a helper

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
8 years agoaubinator: only use program_invocation_short_name with glibc/cygwin
Jonathan Gray [Thu, 1 Sep 2016 17:12:26 +0000 (03:12 +1000)]
aubinator: only use program_invocation_short_name with glibc/cygwin

program_invocation_short_name is a gnu extension.  Limit use of it
to glibc and cygwin and otherwise use getprogname() which is available
on BSD and OS X.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoaubinator: include libgen.h for basename(3)
Jonathan Gray [Thu, 1 Sep 2016 17:12:25 +0000 (03:12 +1000)]
aubinator: include libgen.h for basename(3)

Include libgen.h for basename as required by posix.
The definition is not found on at least OpenBSD otherwise.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoaubinator: stop using non portable error() function
Jonathan Gray [Thu, 1 Sep 2016 17:12:24 +0000 (03:12 +1000)]
aubinator: stop using non portable error() function

error() is a gnu extension and is not present on OpenBSD
and likely other systems.

Convert use of error to fprintf/strerror/exit.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoegl: Fix up indentation on previous commit
Adam Jackson [Thu, 8 Sep 2016 17:21:24 +0000 (13:21 -0400)]
egl: Fix up indentation on previous commit

This was requested in review but I pushed the wrong version.

Signed-off-by: Adam Jackson <ajax@redhat.com>
8 years agoegl: Document why EGL_OPENGL{, _ES}_API are mostly identical
Adam Jackson [Wed, 7 Sep 2016 21:41:56 +0000 (17:41 -0400)]
egl: Document why EGL_OPENGL{, _ES}_API are mostly identical

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
8 years agoanv: Link to libX11-xcb only when unneeded
Chad Versace [Thu, 8 Sep 2016 03:07:50 +0000 (20:07 -0700)]
anv: Link to libX11-xcb only when unneeded

The Makefile unconditionally linked libX11-xcb into libvulkan_intel.so.
But it's needed only if HAVE_PLATFORM_X11.

Fixes build of libvulkan_intel.so on Chromium OS, which has no X11
libraries.

Fixes: 71258e9462c ("anv/x11: Add support for Xlib platform")
Cc: Kevin Strasser <kevin.strasser@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agoswr: fixes for format mapping and texture sizing
Tim Rowley [Wed, 17 Aug 2016 15:12:04 +0000 (10:12 -0500)]
swr: fixes for format mapping and texture sizing

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
8 years agointel/blorp: Allow single slice converter to suppress number of layers
Topi Pohjolainen [Mon, 29 Aug 2016 12:21:51 +0000 (15:21 +0300)]
intel/blorp: Allow single slice converter to suppress number of layers

Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
8 years agospirv/nir: Implement OpAtomicLoad/Store for shared variables
Lionel Landwerlin [Tue, 6 Sep 2016 21:51:23 +0000 (22:51 +0100)]
spirv/nir: Implement OpAtomicLoad/Store for shared variables

Missing bits from 2afb950161f847d9b0a7be03dfb62cacc5ea51ba.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
8 years agonir/spirv: Remove an erroneous "fall through" comment
Jason Ekstrand [Wed, 7 Sep 2016 16:03:47 +0000 (09:03 -0700)]
nir/spirv: Remove an erroneous "fall through" comment

8 years agoEGL: Combine the GL and GLES current contexts (v2)
Kyle Brenneman [Fri, 8 Jul 2016 21:21:17 +0000 (15:21 -0600)]
EGL: Combine the GL and GLES current contexts (v2)

Only keep track of a single current context, instead of separate
contexts for GL and GLES.

In EGL 1.4 (and 1.5), EGL_OPENGL_API and EGL_OPENGL_ES_API are supposed
to be interchangeable for all purposes except for eglCreateContext.

The _EGLThreadInfo::CurrentContexts array is now a single pointer to the
current context, which may be a GL or GLES context. In addition, it now
keeps track of the current API as an enum instead of an index.

eglMakeCurrent will now replace the current context, regardless of which
client API is used for for the current and new contexts. It no longer
checks for a conflicting context. In addition, calling eglMakeCurrent
with EGL_NO_CONTEXT will now release the current context regardless of
the current API.

v2: Rebased against master (Adam Jackson)

Reviewed-by: Adam Jackson <ajax@redhat.com>
8 years agogbm: wire up fence extension
Rob Clark [Tue, 16 Aug 2016 16:56:45 +0000 (12:56 -0400)]
gbm: wire up fence extension

v2: make fence extension optional to not break non-i965 classic
    drivers, and move __DRI2_FENCE into core extensions, based
    on comments from Emil

Signed-off-by: Rob Clark <robdclark@gmail.com>
8 years agofreedreno: reject imports with bogus pitch
Rob Clark [Sat, 3 Sep 2016 16:57:50 +0000 (12:57 -0400)]
freedreno: reject imports with bogus pitch

Signed-off-by: Rob Clark <robdclark@gmail.com>
8 years agogbm: add missing R8 and GR88 formats
Rob Clark [Sat, 3 Sep 2016 12:49:49 +0000 (08:49 -0400)]
gbm: add missing R8 and GR88 formats

Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
8 years agospirv/nir: Add support for OpAtomicLoad/Store
Lionel Landwerlin [Tue, 6 Sep 2016 13:26:17 +0000 (14:26 +0100)]
spirv/nir: Add support for OpAtomicLoad/Store

Fixes new CTS tests :

dEQP-VK.spirv_assembly.instruction.compute.opatomic.load
dEQP-VK.spirv_assembly.instruction.compute.opatomic.store

v2: don't handle images like ssbo/ubo (Jason)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
8 years agoradeonsi: skip redundant INDEX_TYPE writes
Marek Olšák [Mon, 5 Sep 2016 22:35:12 +0000 (00:35 +0200)]
radeonsi: skip redundant INDEX_TYPE writes

Ported from Vulkan.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: add more unlikely() uses into si_draw_vbo
Marek Olšák [Mon, 5 Sep 2016 22:10:38 +0000 (00:10 +0200)]
radeonsi: add more unlikely() uses into si_draw_vbo

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: skip draws with instance_count == 0
Marek Olšák [Mon, 5 Sep 2016 22:09:17 +0000 (00:09 +0200)]
radeonsi: skip draws with instance_count == 0

loosely ported from Vulkan

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon/winsyses: fix counting mapped memory
Marek Olšák [Sun, 4 Sep 2016 12:21:41 +0000 (14:21 +0200)]
gallium/radeon/winsyses: fix counting mapped memory

Not all buffers are unmapped explicitly.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agonir: fix definition of pack_uvec2_to_uint
Ilia Mirkin [Mon, 5 Sep 2016 02:46:13 +0000 (22:46 -0400)]
nir: fix definition of pack_uvec2_to_uint

Found by inspection. Untested beyond compilation. This also matches the
logic used in nir_lower_alu_to_scalar.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: mesa-stable@lists.freedesktop.org
8 years agomesa/formatquery: limit ES target support, fix core context support
Ilia Mirkin [Sat, 3 Sep 2016 18:31:44 +0000 (14:31 -0400)]
mesa/formatquery: limit ES target support, fix core context support

First off, as late as ES 3.2, GetInternalformat only supports
RENDERBUFFER and 2DMS(_ARRAY) targets.

Secondly, the _mesa_has_ext helpers are very accurate... a little too
accurate, some might say. If we only show an extension in compat
profiles because core profiles have the functionality guaranteed, they
will return false. Fix these to either check for a core profile
explicitly, or to a different-but-identical extension available in core
profile.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Matteo Bruni <matteo.mystral@gmail.com>
Tested-by: Matteo Bruni <matteo.mystral@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
8 years agomapi: add gl32.h to the list of GLES3 headers for installation
Ilia Mirkin [Tue, 6 Sep 2016 21:40:34 +0000 (17:40 -0400)]
mapi: add gl32.h to the list of GLES3 headers for installation

This was missed when I added the updated (and new) Khronos headers.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Mark Janes <mark.a.janes@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
8 years agomain: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer
Ilia Mirkin [Sun, 4 Sep 2016 00:19:56 +0000 (20:19 -0400)]
main: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer

Add a separate extension check for that format. Prevents glTexImage from
trying to find a matching format, which fails on drivers without support
for this format.

Fixes: sized-texture-format-channels (on a3xx)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Cc: mesa-stable@lists.freedesktop.org
8 years agonir/spirv: Use fill_common_atomic_sources for image atomics
Jason Ekstrand [Tue, 6 Sep 2016 22:07:57 +0000 (15:07 -0700)]
nir/spirv: Use fill_common_atomic_sources for image atomics

We had two almost identical copies of this code and they were both broken
but in different ways.  The previous two commits fixed both of them.  This
one just unifies them so that it's easier to handle in the future.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
8 years agonir/spirv: Use the correct sources for CompareExchange on images
Jason Ekstrand [Tue, 6 Sep 2016 22:13:42 +0000 (15:13 -0700)]
nir/spirv: Use the correct sources for CompareExchange on images

The CompareExchange operation has two "Memory Semantics" parameters instead
of one so the real arguments start at w[7] instead of w[6].

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
8 years agonir/spirv: Swap the argument order for AtomicCompareExchange
Jason Ekstrand [Tue, 6 Sep 2016 22:02:31 +0000 (15:02 -0700)]
nir/spirv: Swap the argument order for AtomicCompareExchange

SPIR-V has the two arguments in the opposite order from GLSL.  NIR uses the
GLSL order so we had them backwards.

Fixes dEQP-VK.spirv_assembly.instruction.compute.opatomic.compex

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
8 years agovbo: increase VBO_SAVE_BUFFER_SIZE from 8k to 256k dwords
Tim Rowley [Wed, 17 Aug 2016 15:45:37 +0000 (10:45 -0500)]
vbo: increase VBO_SAVE_BUFFER_SIZE from 8k to 256k dwords

Increases the performance of legacy geometry-heavy apps
still using display lists.

Performance increase for a targeted testcase is on the
order of 8x, and applications like ParaView 4.x (5.x uses
no longer used display lists) improve by about 10%-20%.

Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8 years agoglsl: Add positional argument specifiers.
Vinson Lee [Thu, 1 Sep 2016 07:20:02 +0000 (00:20 -0700)]
glsl: Add positional argument specifiers.

Fix build with Python < 2.7.

  File "./glsl/ir_expression_operation.py", line 360, in get_enum_name
    return "ir_{}op_{}".format(("un", "bin", "tri", "quad")[self.num_operands-1], self.name)
ValueError: zero length field name in format

Fixes: e31c72a331b1 ("glsl: Convert tuple into a class")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
8 years agoutil: (trivial) add <stdint.h> include to slab.c
Roland Scheidegger [Tue, 6 Sep 2016 17:47:14 +0000 (19:47 +0200)]
util: (trivial) add <stdint.h> include to slab.c

should fix "src/util/slab.c:57:13: error: ‘uint8_t’ undeclared"

8 years agoglsl: Add .gitignore for make check warnings test
Jason Ekstrand [Tue, 6 Sep 2016 15:32:19 +0000 (08:32 -0700)]
glsl: Add .gitignore for make check warnings test

8 years agoanv/pipeline: Lower indirect outputs when EmitNoIndirectOutput is set
Jason Ekstrand [Tue, 6 Sep 2016 03:09:47 +0000 (20:09 -0700)]
anv/pipeline: Lower indirect outputs when EmitNoIndirectOutput is set

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reported-by: Timothy Arceri <timothy.arceri@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agoAndroid: glsl: add rules to generate ir_expression*.h header files
Rob Herring [Thu, 1 Sep 2016 19:06:23 +0000 (14:06 -0500)]
Android: glsl: add rules to generate ir_expression*.h header files

Recent changes to generate ir_expression*.h header files broke Android
builds. This adds the generation rules. This change is complicated due to
creating a circular dependency between libmesa_glsl, libmesa_nir, and
libmesa_compiler. Normally, we add static libraries so that include paths
are added even if there's no linking dependency. That is the case here.
Instead, we explicitly add the include path using $(MESA_GEN_GLSL_H) to
libmesa_compiler. This in turn requires shuffling the order of make
includes. It also uncovered missing dependency tracking of glsl_parser.h.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
8 years agost/omx/dec: enable hevc omx decode support
Leo Liu [Mon, 29 Aug 2016 17:43:48 +0000 (13:43 -0400)]
st/omx/dec: enable hevc omx decode support

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec/h265: get the reference list for uvd
Leo Liu [Mon, 29 Aug 2016 17:42:24 +0000 (13:42 -0400)]
st/omx/dec/h265: get the reference list for uvd

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec/h265: add short term reference picture sets
Leo Liu [Tue, 30 Aug 2016 17:09:53 +0000 (13:09 -0400)]
st/omx/dec/h265: add short term reference picture sets

Specified by subclause 7.3.7

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec/h265: add slice header
Leo Liu [Mon, 29 Aug 2016 17:30:08 +0000 (13:30 -0400)]
st/omx/dec/h265: add slice header

Specified by subclause 7.3.6.1

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec/h265: add picture parameter sets
Leo Liu [Mon, 29 Aug 2016 17:29:14 +0000 (13:29 -0400)]
st/omx/dec/h265: add picture parameter sets

Specified by subclause 7.3.2.3

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec/h265: add sequence parameter sets
Leo Liu [Mon, 29 Aug 2016 17:26:55 +0000 (13:26 -0400)]
st/omx/dec/h265: add sequence parameter sets

Specified by subclause 7.3.2.2

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec: add initial omx hevc support
Leo Liu [Mon, 29 Aug 2016 17:09:12 +0000 (13:09 -0400)]
st/omx/dec: add initial omx hevc support

Mainly based on the h264 implementation.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
8 years agost/omx/dec: set dst rect to match src size
Leo Liu [Thu, 11 Aug 2016 19:20:53 +0000 (15:20 -0400)]
st/omx/dec: set dst rect to match src size

When creating interlaced video buffer, hegith set to "template.height =
align(tmpl->height/ array_size, VL_MACROBLOCK_HEIGHT);", and we use
"template.height *= array_size;" for the buffer height, so it actually
aligned with 32. With progressive video buffer it still aligned with 16,
thus causing different height between interlaced buffer and progressive
buffer for 4K (height=2160), and 720p (height=720).

When transcode the video, this will cause the 16 lines corruption
at the bottom of the encode video.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agogallium: switch drivers to the slab allocator in src/util
Marek Olšák [Sun, 28 Aug 2016 09:05:14 +0000 (11:05 +0200)]
gallium: switch drivers to the slab allocator in src/util

8 years agoutil: import the slab allocator from gallium
Marek Olšák [Sat, 27 Aug 2016 17:52:31 +0000 (19:52 +0200)]
util: import the slab allocator from gallium

There are also some cosmetic changes.

8 years agoloader/dri3: Always use at least two back buffers
Michel Dänzer [Tue, 6 Sep 2016 02:34:49 +0000 (11:34 +0900)]
loader/dri3: Always use at least two back buffers

This can make a significant difference for performance with some extreme
test cases such as vblank_mode=0 glxgears.

Fixes: 1e3218bc5ba2 ("loader/dri3: Overhaul dri3_update_num_back")
Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97549
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
8 years agoglsl: Fix locations of variables in patch qualified interface blocks.
Kenneth Graunke [Sat, 3 Sep 2016 17:51:07 +0000 (10:51 -0700)]
glsl: Fix locations of variables in patch qualified interface blocks.

As of commit d82f8d9772813949d0f5455cd0edad9003be0fb0, we actually
parse and attempt to handle the 'patch' qualifier on interface blocks.

This patch fixes explicit locations for variables in such blocks.
Without it, many program interface query dEQP/CTS tests hit this
assertion in ir_set_program_inouts.cpp

   if (is_patch_generic) {
      assert(idx >= VARYING_SLOT_PATCH0 && idx < VARYING_SLOT_TESS_MAX);
      bitfield = BITFIELD64_BIT(idx - VARYING_SLOT_PATCH0);
   }

because the location was incorrectly based on VARYING_SLOT_VAR0.

Note that most of the tests affected currently fail before they hit
this, due to confusion about what the program interface query name
of those resources should be.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agomesa: Fix types in _mesa_get_color_read_format().
Kenneth Graunke [Sat, 3 Sep 2016 06:18:36 +0000 (23:18 -0700)]
mesa: Fix types in _mesa_get_color_read_format().

This is a mesa_format, not a GLenum.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoamd/addrlib: move addrlib from amdgpu winsys to common code
Dave Airlie [Sun, 4 Sep 2016 23:54:07 +0000 (09:54 +1000)]
amd/addrlib: move addrlib from amdgpu winsys to common code

Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/util: move endian detect into a separate file
Dave Airlie [Sun, 4 Sep 2016 23:52:10 +0000 (09:52 +1000)]
gallium/util: move endian detect into a separate file

This just ports the simpler endian detection bits, addrlib
sharing wants this outside gallium.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeon: move radeon_family/chip_class defintions to common
Dave Airlie [Fri, 2 Sep 2016 07:40:39 +0000 (17:40 +1000)]
radeon: move radeon_family/chip_class defintions to common

This just moves these to a common header file.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: move sid.h/r600d_common.h to a common place.
Dave Airlie [Fri, 2 Sep 2016 07:09:45 +0000 (17:09 +1000)]
radeonsi: move sid.h/r600d_common.h to a common place.

Step one to merging radv would be to move some files around.

This only adds the include path to r600/radeonsi, because later
we want to avoid having to add it to the generic target paths.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: remove VPORT_ZMIN/ZMAX from init config states
Marek Olšák [Fri, 26 Aug 2016 16:08:03 +0000 (18:08 +0200)]
gallium/radeon: remove VPORT_ZMIN/ZMAX from init config states

It's part of the viewport state now.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: set VPORT_ZMIN/MAX registers correctly
Marek Olšák [Fri, 26 Aug 2016 15:26:43 +0000 (17:26 +0200)]
gallium/radeon: set VPORT_ZMIN/MAX registers correctly

Calculate depth ranges from viewport states and
pipe_rasterizer_state::clip_halfz.

The evergreend.h change is required to silence a warning.

This fixes this recently updated piglit: arb_depth_clamp/depth-clamp-range

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: unify viewport emission code
Marek Olšák [Fri, 26 Aug 2016 09:53:47 +0000 (11:53 +0200)]
gallium/radeon: unify viewport emission code

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: also do VS_PARTIAL_FLUSH before updating VGT ring pointers
Marek Olšák [Tue, 23 Aug 2016 13:26:01 +0000 (15:26 +0200)]
radeonsi: also do VS_PARTIAL_FLUSH before updating VGT ring pointers

ported from Vulkan

Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix variable naming in si_emit_cache_flush
Marek Olšák [Thu, 25 Aug 2016 12:08:24 +0000 (14:08 +0200)]
radeonsi: fix variable naming in si_emit_cache_flush

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: don't emit CS_PARTIAL_FLUSH if compute is not used
Marek Olšák [Wed, 24 Aug 2016 13:32:56 +0000 (15:32 +0200)]
radeonsi: don't emit CS_PARTIAL_FLUSH if compute is not used

for less noise in the HUD

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: add HUD queries for counting VS/PS/CS partial flushes
Marek Olšák [Tue, 23 Aug 2016 13:17:35 +0000 (15:17 +0200)]
radeonsi: add HUD queries for counting VS/PS/CS partial flushes

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: rename the num-cs-flushes query to num-ctx-flushes
Marek Olšák [Tue, 23 Aug 2016 13:07:35 +0000 (15:07 +0200)]
gallium/radeon: rename the num-cs-flushes query to num-ctx-flushes

num-cs-flushes will mean compute shader flushes

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix a badly implemented GS bug workaround
Marek Olšák [Tue, 23 Aug 2016 15:58:22 +0000 (17:58 +0200)]
radeonsi: fix a badly implemented GS bug workaround

Limit it to geometry shaders and Hawaii.

Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix texture format reinterpretation with DCC
Marek Olšák [Mon, 22 Aug 2016 11:45:05 +0000 (13:45 +0200)]
radeonsi: fix texture format reinterpretation with DCC

DCC is limited in how texture formats can be reinterpreted using texture
views. If we get a view format that is incompatible with the initial
texture format with respect to DCC, disable DCC.

There is a new piglit which tests all format combinations.
What works and what doesn't was deduced by looking at the piglit failures.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix Gather4 with integer formats
Marek Olšák [Sat, 20 Aug 2016 14:50:01 +0000 (16:50 +0200)]
radeonsi: fix Gather4 with integer formats

The closed compiler does the same thing.

This fixes: GL45-CTS.texture_gather.*-int-* (18 tests)

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix a crash in imageSize for cubemap arrays
Marek Olšák [Sat, 20 Aug 2016 23:32:22 +0000 (01:32 +0200)]
radeonsi: fix a crash in imageSize for cubemap arrays

Sometimes it was f32, other times it was i32. Now it's always i32.

This fixes:
GL45-CTS.texture_cube_map_array.image_texture_size.texture_size_compute_sh

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix gl_PatchVerticesIn for tessellation evaluation shader
Marek Olšák [Fri, 19 Aug 2016 23:42:09 +0000 (01:42 +0200)]
radeonsi: fix gl_PatchVerticesIn for tessellation evaluation shader

This fixes:
GL45-CTS.tessellation_shader.tessellation_control_to_tessellation_evaluation
.gl_PatchVerticesIn

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: fix cubemaps viewed as 2D
Marek Olšák [Fri, 19 Aug 2016 17:52:14 +0000 (19:52 +0200)]
radeonsi: fix cubemaps viewed as 2D

This fixes: GL43-CTS.texture_view.view_sampling

v2: fix a typo, merge both if statements

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Dave Airlie <airlied@redhat.com> (v1)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (v1)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: always use the same function signature for llvm.SI.export
Marek Olšák [Sat, 27 Aug 2016 09:48:14 +0000 (11:48 +0200)]
radeonsi: always use the same function signature for llvm.SI.export

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: return correct eviction stats for NVX_gpu_memory_info
Marek Olšák [Sun, 21 Aug 2016 10:00:01 +0000 (12:00 +0200)]
radeonsi: return correct eviction stats for NVX_gpu_memory_info

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: also eliminate DCC fast clear in resource_get_handle
Marek Olšák [Sun, 21 Aug 2016 10:39:21 +0000 (12:39 +0200)]
gallium/radeon: also eliminate DCC fast clear in resource_get_handle

just do what the comment says

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: use the current ctx for CMASK elimination in resource_get_handle
Marek Olšák [Sun, 21 Aug 2016 10:30:21 +0000 (12:30 +0200)]
gallium/radeon: use the current ctx for CMASK elimination in resource_get_handle

For coherency with the current context.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: use the current ctx for DCC decompression in resource_get_handle
Marek Olšák [Sun, 21 Aug 2016 10:30:21 +0000 (12:30 +0200)]
gallium/radeon: use the current ctx for DCC decompression in resource_get_handle

For coherency with the current context.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agogallium/radeon: derive buffer placement and flags only at initialization
Marek Olšák [Thu, 18 Aug 2016 14:30:00 +0000 (16:30 +0200)]
gallium/radeon: derive buffer placement and flags only at initialization

Invalidated buffers don't have to go through it.

Split r600_init_resource into r600_init_resource_fields and
r600_alloc_resource.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agoradeonsi: set more sampler settings
Marek Olšák [Sun, 21 Aug 2016 14:13:16 +0000 (16:13 +0200)]
radeonsi: set more sampler settings

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
8 years agodocs: add news item and link release notes for 12.0.2
Emil Velikov [Mon, 5 Sep 2016 15:13:48 +0000 (16:13 +0100)]
docs: add news item and link release notes for 12.0.2

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
8 years agodocs: add sha256 checksums for 12.0.2
Emil Velikov [Mon, 5 Sep 2016 15:03:06 +0000 (16:03 +0100)]
docs: add sha256 checksums for 12.0.2

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

8 years agodocs: add release notes for 12.0.2
Emil Velikov [Mon, 5 Sep 2016 11:14:11 +0000 (12:14 +0100)]
docs: add release notes for 12.0.2

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

8 years agonoop: implement resource_get_handle
Marek Olšák [Sun, 28 Aug 2016 16:50:19 +0000 (18:50 +0200)]
noop: implement resource_get_handle

X+DRI3 locks up if the returned handle is invalid.

8 years agonoop: set missing functions
Marek Olšák [Sun, 28 Aug 2016 11:58:16 +0000 (13:58 +0200)]
noop: set missing functions

8 years agonoop: simplify some functions
Marek Olšák [Sun, 28 Aug 2016 11:57:44 +0000 (13:57 +0200)]
noop: simplify some functions

8 years agoglx/glvnd: list the strcmp arguments in correct order
Emil Velikov [Thu, 1 Sep 2016 09:36:44 +0000 (10:36 +0100)]
glx/glvnd: list the strcmp arguments in correct order

Currently, due to the inverse order, strcmp will produce negative result
when the needle is towards the start of the haystack. Thus on the next
iteration(s) we'll end up further towards the end and eventually fail to
locate the entry.

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
8 years agonir/tests: Update the CF tests to not assume fake edges
Jason Ekstrand [Sat, 3 Sep 2016 18:57:05 +0000 (11:57 -0700)]
nir/tests: Update the CF tests to not assume fake edges

In aad4f1550, we removed the concept of "fake" edges from NIR.  Now, if you
have a block at the end of an infinite loop it really has no predecessors.
This updates the unit tests to match.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97587
Tested-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agogk110/ir: fix quadop dall emission
Ilia Mirkin [Sun, 4 Sep 2016 22:21:29 +0000 (18:21 -0400)]
gk110/ir: fix quadop dall emission

We recently starting to always emit the NDV (== dall) bit for quadops.
However it was folded into the wrong code word.

Fixes: e0a067ed48 (nv50/ir: always emit the NDV bit for OP_QUADOP)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
8 years agoandroid: intel: fix include paths in new "common" library
Mauro Rossi [Sun, 4 Sep 2016 00:00:24 +0000 (02:00 +0200)]
android: intel: fix include paths in new "common" library

Fixes building error in libmesa_intel_common static library

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
8 years agoa3xx: use window scissor to simulate viewport xy clip
Ilia Mirkin [Wed, 31 Aug 2016 02:42:24 +0000 (22:42 -0400)]
a3xx: use window scissor to simulate viewport xy clip

Unfortunately a3xx does not have a separate disable for depth clipping,
so when depth clamp is enabled, we disable the whole 3d clipper logic.
This in turn also gets rid of the xy clip that it would normally do.
When we detect this would happen, instead we integrate the viewport into
the window scissor. This may have slightly different behavior around
wide points, but it's unlikely that anything depends on this.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97231
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
8 years agoa3xx: make use of software clipping when hw can't handle it
Ilia Mirkin [Sat, 20 Aug 2016 04:14:43 +0000 (00:14 -0400)]
a3xx: make use of software clipping when hw can't handle it

The hw clipper only handles up to 6 UCPs. If there are more than 6 UCPs,
or a clip vertex, or clip distances are in use, then we must use the
fallback discard-based clipping from the frag shader.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org