Heinrich Fink [Mon, 16 Sep 2019 11:20:49 +0000 (13:20 +0200)]
mesa/gl: Sync with Khronos registry
Update GL headers and xml API from upstream Khronos registry (commit
3d0c3eb). Keep `BUILDING_MESA` quirk in glext.h.
mesa/extensions: Expose EXT_EGL_sync instead of MESA_EGL_sync to reflect
Khronos request of changing this extension's scope from MESA to EXT.
EGL_EGL_sync is also the name of the extension that has been merged into
the upstream Khronos GL registry.
Remove MESA_EGL_sync spec txt from Mesa tree as it is now published as
EXT by Khronos.
v1: Remove MESA_EGL_sync spec and squash commits (Eric E)
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Sergii Romantsov [Thu, 29 Aug 2019 07:58:38 +0000 (10:58 +0300)]
nir/large_constants: pass after lowering copy_deref
v2: by J.Ekstrand suggestion moved lowering of large
constants after lowering of copy_deref is done.
CC: Jason Ekstrand <jason@jlekstrand.net>
CC: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111450
Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
Michel Dänzer [Fri, 13 Sep 2019 09:59:43 +0000 (11:59 +0200)]
gitlab-ci: Move up meson-arm64 job definition
This might allow the arm64 tests to start running earlier.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Michel Dänzer [Fri, 13 Sep 2019 09:13:12 +0000 (11:13 +0200)]
gitlab-ci: Move dependencies/needs for meson-main job to .deqp-test
Reviewed-by: Eric Anholt <eric@anholt.net>
Michel Dänzer [Wed, 11 Sep 2019 16:55:43 +0000 (18:55 +0200)]
gitlab-ci: Simplify some job definitions by extending more similar jobs
v2:
* Preserve setting NIR_VALIDATE=0 for all arm64_* jobs
* Preserve setting DEQP_SKIPS=deqp-default-skips.txt for
arm64_a306_gles2 jobs
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> # v1
Reviewed-by: Eric Anholt <eric@anholt.net>
Michel Dänzer [Fri, 6 Sep 2019 15:35:52 +0000 (17:35 +0200)]
gitlab-ci: Use multiple inheritance instead of YAML references
Support for multiple inheritance was added to GitLab recently.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Michel Dänzer [Fri, 13 Sep 2019 08:56:54 +0000 (10:56 +0200)]
gitlab-ci: Add needs stanza to arm64_a306_gles2 job definition
This allows the arm64_a306_gles2 jobs to run as soon as the meson-arm64
job has finished.
Fixes: 6f0dc087b7a5 "freedreno: Introduce gitlab-based CI."
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Timothy Arceri [Mon, 16 Sep 2019 09:39:40 +0000 (19:39 +1000)]
radeonsi/nir: fix number of used samplers
Commit
f3e978db incorrectly assumed the maximum number of
samplers was equal to the max number of defined samplers
e.g. where bindings skip slots.
This fixes an assert in si_nir_load_sampler_desc() for an
enemy territory quake wars shader. And fixes potential bugs with
incorrect bounds limiting in the same code for production builds
of mesa.
Fixes: f3e978db ("radeonsi/nir: Remove uniform variable scanning")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Samuel Pitoiset [Wed, 11 Sep 2019 07:22:29 +0000 (09:22 +0200)]
radv/gfx10: disable unsupported transform feedback features for NGG
Mostly multiple streams and queries which have to be fixed/implemented.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:54:27 +0000 (10:54 +0200)]
radv/gfx10: implement NGG streamout
It's still disabled by default because transform feedback randomly
hangs and it seems like it's related to GDS (cf. RadeonSI).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Wed, 11 Sep 2019 07:19:21 +0000 (09:19 +0200)]
radv/gfx10: make sure to wait for idle before clearing GDS
Otherwise the next streamout operation will overwrite GDS. This
can be improved by tracking if there is a streamout operation in
flight. Currently the driver unconditionally flushes but that
doesn't matter much as NGG streamout is disabled by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Tue, 10 Sep 2019 08:56:24 +0000 (10:56 +0200)]
radv/gfx10: make GDS idle when leaving the IB
NGG streamout uses GDS and we have to make sure that another
process isn't going to overwrite GDS while our shaders are busy.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Tue, 10 Sep 2019 19:45:57 +0000 (21:45 +0200)]
radv/gfx10: enable NGG_WAVE_ID_EN for NGG streamout
Otherwise the wave IDs are probably 0 and it hangs. NGG_WAVE_ID_EN
generates wave IDs for GDS OA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 10:00:50 +0000 (12:00 +0200)]
radv/gfx10: gather GS output for VS as NGG
For streamout we have to the number of streamout outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 09:04:07 +0000 (11:04 +0200)]
radv/gfx10: compute the correct buffer size for NGG streamout
It's used to determined the max emit per buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:43:44 +0000 (10:43 +0200)]
radv/gfx10: fix unnecessary LDS overallocation for NGG GS
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:42:18 +0000 (10:42 +0200)]
radv/gfx10: adjust the LDS size for VS/TES NGG streamout
It should account for the number of streamout outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:32:10 +0000 (10:32 +0200)]
radv/gfx10: unconditionally declare scratch space for NGG streamout without GS
Streamout outputs are stored in the ESGS ring.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:29:22 +0000 (10:29 +0200)]
radv/gfx10: adjust the GS NGG scratch size for streamout
It needs more space for multiple streams.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:26:54 +0000 (10:26 +0200)]
radv/gfx10: allocate GDS/OA buffer objects for NGG streamout
This allocates two BOs for GFX10 NGG streamout.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:25:07 +0000 (10:25 +0200)]
radv/gfx10: implement NGG streamout begin/end functions
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 9 Sep 2019 08:23:30 +0000 (10:23 +0200)]
radv/gfx10: add an option to switch from legacy to NGG streamout
This internal option is turned off by default because NGG streamout
still hangs. It seems like it's related to GDS as RadeonSI.
That option will be turned on once all issues are resolved.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Tue, 10 Sep 2019 13:10:13 +0000 (15:10 +0200)]
radv/winsys: add support for GS and OA domains
For NGG streamout which uses GDS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Danylo Piliaiev [Thu, 12 Sep 2019 11:17:28 +0000 (14:17 +0300)]
iris: Fix fence leak in iris_fence_flush
Documentation for pipe_context::flush states:
"NOTE: use screen->fence_reference() (or equivalent) to transfer
new fence ref to **fence, to ensure that previous fence is unref'd"
Hence we need to unref previous out_fence.
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Sergii Romantsov [Thu, 12 Sep 2019 12:28:45 +0000 (15:28 +0300)]
nir/large_constants: more careful data copying
A filed of nir_variable.location may be equel to -1.
That may cause copying to invalid address of list-node,
making some internal fields corrupted.
Patch fixes segfault during freeing context due to
corrupted address of ralloc_header.destructor.
v2: copy data if var is constant (Connor Abbott)
CC: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Fixes: b6d475356846 (nir/large_constants: De-duplicate constants)
Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111676
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Juan A. Suarez Romero [Fri, 13 Sep 2019 14:45:01 +0000 (16:45 +0200)]
docs: extend 19.1.x releases
As 19.2 got some delays, let's extend 19.1 at least in one extra
release.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Lionel Landwerlin [Thu, 5 Sep 2019 20:54:53 +0000 (23:54 +0300)]
vulkan: add vk_x11_strict_image_count option
This option strictly allocate the minImageCount given by the
application at swapchain creation.
This works around application that do not deal with the fact that the
implementation allocates more images than the minimum specified.
v2: Add values in default drirc (Bas)
v3: specify engine name/version (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111522
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Cc: 19.2 <mesa-stable@lists.freedesktop.org>
Lionel Landwerlin [Sun, 8 Sep 2019 09:59:32 +0000 (12:59 +0300)]
driconfig: add a new engine name/version parameter
Vulkan applications can register with the following structure :
typedef struct VkApplicationInfo {
VkStructureType sType;
const void* pNext;
const char* pApplicationName;
uint32_t applicationVersion;
const char* pEngineName;
uint32_t engineVersion;
uint32_t apiVersion;
} VkApplicationInfo;
This enables the Vulkan implementations to apply workarounds based off
matching this description.
Here we add a new parameter for matching the driconfig options with
the following :
<device driver="anv">
<application engine_name_match="MyOwnEngine.*" engine_versions="10:12,40:42">
<option name="blaaah" value="true" />
</application>
</device>
v2: switch engine name match to use regexps
v3: Verify that the regexec returns REG_NOMATCH for match failure (Eric)
v4: Add missing bit that went to the following commit (Eric)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: 19.2 <mesa-stable@lists.freedesktop.org>
Lionel Landwerlin [Sun, 8 Sep 2019 09:57:16 +0000 (12:57 +0300)]
radv: store engine name
We'll use this later for a new driconfig matching parameter.
v2: Avoid leak in device creation error case (Bas)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: 19.2 <mesa-stable@lists.freedesktop.org>
Christian Gmeiner [Fri, 13 Sep 2019 07:04:45 +0000 (09:04 +0200)]
gallium: util_set_vertex_buffers_mask(..): make use of u_bit_consecutive(..)
Also move the clearing of the bits out of if/else.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Rob Clark [Sat, 14 Sep 2019 17:22:55 +0000 (10:22 -0700)]
gitlab-ci/a630: skip dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8
Seen a couple flakes on this one so far. Not sure if it is a real
driver problem or not, but skip it to unblock things.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Lepton Wu [Thu, 12 Sep 2019 17:36:11 +0000 (10:36 -0700)]
virgl: replace fprintf with _debug_printf
Signed-off-by: Lepton Wu <lepton@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Kenneth Graunke [Fri, 13 Sep 2019 09:32:25 +0000 (02:32 -0700)]
iris: Initialize ice->state.prim_mode to an invalid value
It was calloc'd to 0 which is PIPE_PRIM_POINTS, which means that we
fail to notice an initial primitive of points being new, and fail at
updating the "primitive is points or lines" field.
We do not need to reset this on device loss because we're tracking
the last primitive mode sent to us on the CPU via draw_vbo, not the
last primitive mode sent to the GPU.
Fixes several tests:
- dEQP-GLES3.functional.clipping.point.wide_point_clip
- dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center
- dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner
Fixes: dcfca0af7c5 ("iris: Set XY Clipping correctly.")
Eric Anholt [Thu, 12 Sep 2019 19:34:50 +0000 (12:34 -0700)]
gitlab-ci: Make the test job fail when bugs are unexpectedly fixed.
If people fix bugs without updating the expected-fails list, then we
end up with a lack of coverage of those failures in the future. Also,
some day down the line another developer ends up trying to figure out
if the bug was actually fixed or their environment is just failing to
reproduce it.
Suggested-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Eric Anholt [Thu, 12 Sep 2019 21:39:19 +0000 (14:39 -0700)]
gitlab-ci/a630: Drop the MSAA expected failure.
This hasn't failed for me in ~5 minutes of looping over
dEQP-GLES3.functional.fbo.msaa.*
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Eric Anholt [Thu, 12 Sep 2019 21:33:54 +0000 (14:33 -0700)]
gitlab-ci/a630: Drop remaining dEQP-GLES3.functional.draw.random.* xfails.
These haven't failed for me in ~10 minutes of looping over
draw.random.*.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Andreas Baierl [Tue, 20 Aug 2019 16:19:55 +0000 (18:19 +0200)]
lima/ppir: Add undef handling
Add a ppir dummy node for nir_ssa_undef_instr, create a reg for it and mark
it as undefined, so that regalloc can set it non-interfering to avoid
register pressure.
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Reviewed-by: Vasily Khozuzhick <anarsoul@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Andreas Baierl [Thu, 12 Sep 2019 09:07:40 +0000 (11:07 +0200)]
lima/ppir: Rename ppir_op_dummy to ppir_op_undef
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
John Stultz [Thu, 12 Sep 2019 20:02:18 +0000 (20:02 +0000)]
Android.mk: Fix missing \ from recent llvm change
Building w/ AOSP, I was hitting the following error:
external/mesa3d/src/amd/Android.common.mk:95: error: missing separator.
Which was due to the changes to mesa-build-with-llvm missing
a line continuation.
Fixes: 96b592696f13
Signed-off-by: John Stultz <john.stultz@linaro.org>
Boris Brezillon [Thu, 5 Sep 2019 18:47:45 +0000 (20:47 +0200)]
panfrost: Move the batch submission logic to panfrost_batch_submit()
We are about to patch panfrost_flush() to flush all pending batches,
not only the current one. In order to do that, we need to move the
'flush single batch' code to panfrost_batch_submit().
While at it, we get rid of the existing pipelining logic, which is
currently unused and replace it by an unconditional wait at the end of
panfrost_batch_submit(). A new pipeline logic will be introduced later
on.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 17:14:25 +0000 (19:14 +0200)]
panfrost: Move the fence creation in panfrost_flush()
panfrost_flush() is about to be reworked to flush all pending batches,
but we want the fence to block on the last one. Let's move the fence
creation logic in panfrost_flush() to prepare for this situation.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 19:01:20 +0000 (21:01 +0200)]
panfrost: Delay payloads[].offset_start initialization
panfrost_draw_vbo() Might call the primeconvert/without_prim_restart
helpers which will enter the ->draw_vbo() again. Let's delay
payloads[].offset_start initialization so we don't initialize them
twice.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 17:07:12 +0000 (19:07 +0200)]
panfrost: Prepare things to avoid flushes on FB switch
panfrost_attach_vt_xxx() functions are now passed a batch, and the
generated FB desc is kept in panfrost_batch so we can switch FBs
without forcing a flush. The postfix->framebuffer field is restored
on the next attach_vt_framebuffer() call if the batch already has an
FB desc.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 16:57:11 +0000 (18:57 +0200)]
panfrost: Pass a batch to panfrost_set_value_job()
So we can emit SET_VALUE jobs for a batch that's not currently bound
to the context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 16:52:21 +0000 (18:52 +0200)]
panfrost: Use ctx->wallpaper_batch in panfrost_blit_wallpaper()
We'll soon be able to flush a batch that's not currently bound to the
context, which means ctx->pipe_framebuffer will not necessarily be the
FBO targeted by the wallpaper draw. Let's prepare for this case and
use ctx->wallpaper_batch in panfrost_blit_wallpaper().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Sun, 1 Sep 2019 08:30:39 +0000 (10:30 +0200)]
panfrost: Pass a batch to functions emitting FB descs
So we can emit such jobs to a batch that's not currently bound to the
context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Sun, 1 Sep 2019 08:15:23 +0000 (10:15 +0200)]
panfrost: Pass a batch to panfrost_{allocate,upload}_transient()
We need that if we want to upload transient buffers to a batch that's
not currently bound to the context, which in turn will be needed if we
want to relax the batch serialization we have right now (only flush
batches when we need to: on a flush request, or when one batch depends
on the result of other batches).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Sun, 1 Sep 2019 08:54:38 +0000 (10:54 +0200)]
panfrost: Allow testing if a specific batch is targeting a scanout FB
Rename panfrost_is_scanout() into panfrost_batch_is_scanout(), pass it
a batch instead of a context and move the code to pan_job.c.
With this in place, we can now test if a batch is targeting a scanout
FB even if this batch is not bound to the context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Thu, 5 Sep 2019 16:19:40 +0000 (18:19 +0200)]
panfrost: Get rid of the unused 'flush jobs accessing res' infra
Will be replaced by something similar but using a BOs as keys instead
of resources.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Boris Brezillon [Sun, 1 Sep 2019 08:24:30 +0000 (10:24 +0200)]
panfrost: Use a pipe_framebuffer_state as the batch key
This way we have all the fb_state information directly attached to a
batch and can pass only the batch to functions emitting CMDs, which is
needed if we want to be able to queue CMDs to a batch that's not
currently bound to the context.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Indrajit Das [Tue, 10 Sep 2019 09:22:14 +0000 (14:52 +0530)]
radeon/vcn: exclude raven2 from vcn 2.0 encode initialization
Signed-off-by: Indrajit Das <indrajit-kumar.das@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Eric Engestrom [Wed, 11 Sep 2019 17:51:46 +0000 (18:51 +0100)]
gitlab-ci: rename stages to something simpler
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Boris Brezillon [Tue, 27 Aug 2019 10:36:43 +0000 (12:36 +0200)]
panfrost: Rework midgard_pair_load_store() to kill the nested foreach loop
mir_foreach_instr_in_block_safe() is based on list_for_each_entry_safe()
which is designed to protect against removal of the current entry, but
removing the entry placed just after the current one will lead to a
use-after-free situation.
Luckily, the midgard_pair_load_store() logic guarantees that the
instruction being removed (if any) is never placed just after ins which
in turn guarantees that the hidden __next variable always points to a
valid object.
Took me a bit of time to realize that this code was safe, so I'm
suggesting to get rid of the inner mir_foreach_instr_in_block_from()
loop and rework the code so that the removed instruction is always the
current one (which is what the list_for_each_entry_safe() API was
initially designed for).
While at it, we also get rid of the unecessary insert(ins)/remove(ins)
dance by simply moving the instruction around.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Boris Brezillon [Tue, 27 Aug 2019 10:36:42 +0000 (12:36 +0200)]
panfrost: Fix a list_assert() in schedule_block()
list_for_each_entry() does not allow modifying the current item pointer.
Let's rework the skip-instructions logic in schedule_block() to not
break this rule.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Iago Toral Quiroga [Mon, 9 Sep 2019 10:23:58 +0000 (12:23 +0200)]
v3d: fix TF primitive counts for resume without draw
The V3D documentation states that primitive counters are reset when
we emit Tile Binning Mode Configuration items, which we do at the start
of each draw call, however, in the actual hardware this doesn't seem to
take effect when transform feedback is not active (this doesn't happen in
the simulator). This causes a problem in the following scenario:
glBeginTransformFeedback()
glDrawArrays()
glPauseTransformFeedback()
glDrawArrays()
glResumeTransformFeedback()
glEndTransformFeedback()
The TF pause will trigger a flush of the primitive counters, which results
in a correct number of primitives up to that point. In theory, the counter
should then be reset when we execute the draw after pausing TF, but that
doesn't happen, and since TF is enabled again by the resume command before
we end recording, by the time we end the transform feedback recording we
again check the counters, but instead of reading 0, we read again the same
value we read at the time we paused, incorrectly accumulating that value
again.
In theory, we should be able to avoid this by using the other method to
reset the primitive counters: using operation 1 instead of 0 when we
flush the counts to the buffer at the time we pause, but again, this
doesn't seem to be work and we still see obsolete counts by the time we
end transform feedback.
This patch fixes the problem by not accumulating TF primitive counts
unless we know we have actually queued draw calls during transform
feedback, since that seems to effectively reset the counters. This should
also be more performant, since it saves unnecessary stalls for the
primitive counters to be updated when we know there haven't been any
new primitives drawn.
Fixes CTS tests:
dEQP-GLES3.functional.transform_feedback.*
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Wed, 11 Sep 2019 08:02:22 +0000 (10:02 +0200)]
v3d: remove redundant update of queued draw calls
This was updating the counter for the indexed draw path only, but we are
already updating the counter for all paths a bit later, so this is only
duplicating counts for indexed paths.
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Tue, 10 Sep 2019 11:46:25 +0000 (13:46 +0200)]
v3d: make sure we have enough space in the CL for the primitive counts packet
Fixes: 0f2d1dfe65 ("v3d: use the GPU to record primitives written to transform feedback")
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Mon, 9 Sep 2019 10:52:16 +0000 (12:52 +0200)]
v3d: add missing line break for performance debug message
Reviewed-by: Eric Anholt <eric@anholt.net>
Tomeu Vizoso [Tue, 10 Sep 2019 17:56:19 +0000 (18:56 +0100)]
panfrost/ci: Use releases for Volt dEQP
So we can better correlate different results to versions of the runner.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Tomeu Vizoso [Tue, 10 Sep 2019 17:55:58 +0000 (18:55 +0100)]
panfrost/ci: Update kernel to 5.3-rc8
We haven't updated in a long time, so better do it now and again when
5.3 is released.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Tomeu Vizoso [Tue, 10 Sep 2019 15:43:25 +0000 (16:43 +0100)]
panfrost/ci: Run dEQP with the surfaceless platform
Instead of running it with the Wayland platform, which introduces
unwanted dependencies and complexity.
Makes tests run 30% faster, as well.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Samuel Pitoiset [Thu, 12 Sep 2019 13:58:25 +0000 (15:58 +0200)]
radv: fix allocating number of user sgprs if streamout is used
streamout_buffers is assigned after that function, so the previous
fix was completely wrong. This probably fix something when streamout
buffers and push constants are used/inlined in the same shader.
Fixes: 378e2d24143 ("radv: fix computing number of user SGPRs for streamout buffers")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Jason Ekstrand [Sat, 7 Sep 2019 00:34:42 +0000 (19:34 -0500)]
intel/fs: Handle UNDEF in split_virtual_grfs
When the UNDEF instruction was added, we didn't do anything special in
split_virtual_grfs. This mean that anything with an UNDEF wasn't
getting split which causes problems for the compiler. Among other
things, it makes RA harder because things are in bigger chunks. It also
meant that dvec4s weren't getting split which means that they are larger
than the maximum register size.
Shader-db results on Kaby Lake:
total instructions in shared programs:
14959202 ->
14960035 (<.01%)
instructions in affected programs: 96197 -> 97030 (0.87%)
helped: 140
HURT: 128
helped stats (abs) min: 1 max: 17 x̄: 1.62 x̃: 1
helped stats (rel) min: 0.09% max: 6.15% x̄: 0.65% x̃: 0.45%
HURT stats (abs) min: 1 max: 825 x̄: 8.28 x̃: 1
HURT stats (rel) min: 0.13% max: 139.83% x̄: 1.70% x̃: 0.50%
95% mean confidence interval for instructions value: -2.96 9.18
95% mean confidence interval for instructions %-change: -0.56% 1.51%
Inconclusive result (value mean confidence interval includes 0).
total loops in shared programs: 4372 -> 4372 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs:
352646771 ->
352840997 (0.06%)
cycles in affected programs:
218600800 ->
218795026 (0.09%)
helped: 21167
HURT: 21411
helped stats (abs) min: 1 max: 2924 x̄: 36.89 x̃: 10
helped stats (rel) min: <.01% max: 41.90% x̄: 2.97% x̃: 0.98%
HURT stats (abs) min: 1 max: 26027 x̄: 45.54 x̃: 10
HURT stats (rel) min: <.01% max: 324.46% x̄: 3.88% x̃: 1.06%
95% mean confidence interval for cycles value: 2.87 6.26
95% mean confidence interval for cycles %-change: 0.40% 0.55%
Cycles are HURT.
total spills in shared programs: 8840 -> 8953 (1.28%)
spills in affected programs: 126 -> 239 (89.68%)
helped: 1
HURT: 2
total fills in shared programs: 21782 -> 21914 (0.61%)
fills in affected programs: 431 -> 563 (30.63%)
helped: 1
HURT: 3
LOST: 0
GAINED: 5
Shader-db results on Haswell:
total instructions in shared programs:
13320918 ->
13320769 (<.01%)
instructions in affected programs: 40998 -> 40849 (-0.36%)
helped: 146
HURT: 56
helped stats (abs) min: 1 max: 8 x̄: 2.73 x̃: 2
helped stats (rel) min: 0.16% max: 8.60% x̄: 2.52% x̃: 2.22%
HURT stats (abs) min: 2 max: 23 x̄: 4.45 x̃: 4
HURT stats (rel) min: 0.21% max: 10.26% x̄: 6.83% x̃: 10.26%
95% mean confidence interval for instructions value: -1.26 -0.21
95% mean confidence interval for instructions %-change: -0.62% 0.77%
Inconclusive result (%-change mean confidence interval includes 0).
total loops in shared programs: 4373 -> 4373 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs:
374518258 ->
374384193 (-0.04%)
cycles in affected programs:
231101954 ->
230967889 (-0.06%)
helped: 21427
HURT: 19438
helped stats (abs) min: 1 max: 2035 x̄: 31.09 x̃: 8
helped stats (rel) min: <.01% max: 40.95% x̄: 2.42% x̃: 0.86%
HURT stats (abs) min: 1 max: 20875 x̄: 27.38 x̃: 8
HURT stats (rel) min: <.01% max: 59.09% x̄: 2.49% x̃: 0.80%
95% mean confidence interval for cycles value: -4.49 -2.07
95% mean confidence interval for cycles %-change: -0.14% -0.04%
Cycles are helped.
total spills in shared programs: 23406 -> 23411 (0.02%)
spills in affected programs: 3 -> 8 (166.67%)
helped: 0
HURT: 2
total fills in shared programs: 34845 -> 34850 (0.01%)
fills in affected programs: 3 -> 8 (166.67%)
helped: 0
HURT: 2
LOST: 0
GAINED: 0
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111566
Fixes: f4ef34f207d1 "intel/fs: Add an UNDEF instruction to avoid..."
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Jiadong Zhu [Tue, 30 Jul 2019 08:13:15 +0000 (04:13 -0400)]
mesa: fix texStore for FORMAT_Z32_FLOAT_S8X24_UINT
_mesa_texstore_z32f_x24s8 calculates source rowStride at a
pace of 64-bit, this will make inaccuracy offset if the width
of src image is an odd number. Modify src pointer to int_32* as
source image format is gl_float which is 32-bit per pixel.
Reviewed by Ilia Mirkin
Signed-off-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Rob Clark [Wed, 11 Sep 2019 17:02:37 +0000 (10:02 -0700)]
freedreno/a6xx: pre-calculate userconst stateobj size
The AnTuTu "garden" benchmark overflows the fixed size constbuffer
stateobject, so lets be more clever and calculate (a potentially
slightly pessimistic) actual size.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Adam Jackson [Thu, 12 Sep 2019 17:07:05 +0000 (13:07 -0400)]
gallium: Restore VSX for llvm >= 4
Accidentally dropped in
4fdd455eeb7cffadee86f06c685005a3b64ce94b.
Fixes: 4fdd455e ("gallium: Require LLVM >= 3.4)
Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Eric Anholt [Thu, 12 Sep 2019 19:52:40 +0000 (12:52 -0700)]
egl/android: Fix build since the DRI fourcc removal.
Fixes: 272f9cfe6a19 ("dri: Use DRM_FORMAT_* instead of defining our own copy.")
Reviewed-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Eric Anholt [Thu, 12 Sep 2019 21:16:21 +0000 (14:16 -0700)]
gitlab-ci/a630: Disable flappy layout_binding.ssbo.fragment_binding_array
It started showing up as unreliable post-merge. There's a valgrind
complaint, but even fixing that doesn't make it stable.
Rob Clark [Wed, 11 Sep 2019 16:52:53 +0000 (09:52 -0700)]
freedreno: fix compiler warning
fd6_blitter.c:724:31: warning: passing argument 1 of ‘fd_resource_level_linear’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Eric Anholt [Fri, 28 Jun 2019 23:35:32 +0000 (16:35 -0700)]
freedreno: Introduce gitlab-based CI.
Since freedreno's kernel and GPU reset seem to be totally solid, we
don't need to have the complexity of the LAVA setup that panfrost has.
Instead, we can register some boards as shared gitlab runners and have
the jobs run out of a docker container just like we do for llvmpipe.
Just make sure that the DRI device node is passed through to the
containers in the gitlab config ('devices = ["/dev/dri"]' under
runners.docker).
If a runner fails (networking dies, kernel panic, etc.) it'll take out
one build but the rest can keep going since gitlab-runner is what
pulls jobs. Since the runner pulls jobs, it also means that they can
live behind firewalls instead of needing some public address to be
accessed by gitlab.fd.o.
For now, enable it just on db410c (A307) and cheza (A630) as those are
the hardware that I have plenty of. A307 is only testing GLES2 since
running all of GLES3 takes too long for the number of boards I've
brought up.
Acked-by: Rob Clark <robdclark@chromium.org>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 26 Aug 2019 19:57:16 +0000 (12:57 -0700)]
gitlab-ci: Log the driver version that got tested.
Sometimes you just want confirmation that dEQP really picked up the
driver we built you thought. This is not as good as one might like,
because git isn't present in the cross-build image.
Acked-by: Rob Clark <robdclark@chromium.org>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Tue, 3 Sep 2019 22:52:33 +0000 (15:52 -0700)]
gitlab-ci: Disable dEQP's watchdog timer.
A handful of tests on freedreno have been close to the watchdog
timeout, and now sporadically fail since range analysis has slowed
down the compiler for them.
Acked-by: Rob Clark <robdclark@chromium.org>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Caio Marcelo de Oliveira Filho [Wed, 11 Sep 2019 23:55:57 +0000 (16:55 -0700)]
mesa/st: Fallback to name lookup when the variable have no Parameter
This brings back the fallback previously present in
st_nir_lookup_parameter_index(): if there's no parameter associated
with the variable, use a parameter from a variable with the same
prefix.
We'll have to sort out something for SPIR-V, but in the meantime let's
fix GLSL.
Fixes: b6384e57f5f ("mesa/st: Lookup parameters without using names")
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Eric Anholt <eric@anholt.net>
Adam Jackson [Fri, 23 Aug 2019 16:51:08 +0000 (12:51 -0400)]
glx: Remove unused indirection for glx_context->fillImage
This slot is always filled in with __glFillImage.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Eric Engestrom [Wed, 11 Sep 2019 14:50:32 +0000 (15:50 +0100)]
meson/v3d: replace partial list of nir dep files with idep_nir_headers
"partial" because `nir_intrinsics_h` was missing.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Eric Engestrom [Wed, 11 Sep 2019 14:47:41 +0000 (15:47 +0100)]
meson/iris: replace partial list of nir dep files with idep_nir_headers
"partial" because `nir_intrinsics_h` was missing.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Jose Maria Casanova Crespo [Fri, 19 Jul 2019 14:45:58 +0000 (16:45 +0200)]
v3d: flag dirty state when binding compute states
As introduced in "v3d: flag dirty state when binding new sampler states"
we need to add support for compute states. New flag VC5_DIRTY_COMPTEX and
VC5_DIRTY_UNCOMPILED_CS are introduced.
Reaching 33 flags at the dirty field forces us to change the type to
uint_64. Flags are reordered and empty continuous bits are available
for future pipeline stages.
v2: Update flag conditions to compile cs shader. (Eric Antholt)
Now dirty flags use uint_64t and flags are reordered.
Added VC5_DIRTY_UNCOMPILED_CS flag.
Reviewed-by: Eric Anholt <eric@anholt.net>
Danylo Piliaiev [Wed, 4 Sep 2019 13:43:17 +0000 (16:43 +0300)]
tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE
Translating TGSI_INTERPOLATE_COLOR as INTERP_MODE_SMOOTH made
it for drivers impossible to have flatshaded color inputs.
Translate it to INTERP_MODE_NONE which drivers interpret as
smooth or flat depending on flatshading state.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111467
Fixes: 770faf54 ("tgsi_to_nir: Improve interpolation modes.")
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Wed, 4 Sep 2019 09:04:13 +0000 (11:04 +0200)]
nir/lower_point_size: assume scalar PSIZ
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Mon, 9 Sep 2019 06:42:19 +0000 (08:42 +0200)]
gallium/ttn: VARYING_SLOT_PSIZ and VARYING_SLOT_FOGC are scalar
Reviewed-by: Eric Anholt <eric@anholt.net>
Iago Toral Quiroga [Wed, 4 Sep 2019 09:02:19 +0000 (11:02 +0200)]
prog_to_nir: VARYING_SLOT_PSIZ is a scalar
v2: remove stray change (Erik Faye-Lund)
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Lepton Wu [Thu, 12 Sep 2019 06:38:59 +0000 (06:38 +0000)]
egl/android: Only keep BGRA EGL configs as fallback
Stock Android code actually doesn't support BGRA format EGL
configs. It's hard coded to use RGBA_8888 as window format
for BGRA EGL configs here:
https://android.googlesource.com/platform/frameworks/native/+/
1eb32e2/opengl/libs/EGL/eglApi.cpp#608
So just remove it from EGL configs if RGBA is supported.
Signed-off-by: Lepton Wu <lepton@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
renchenglei [Thu, 12 Sep 2019 05:45:31 +0000 (13:45 +0800)]
egl/android: Enable HAL_PIXEL_FORMAT_RGBA_1010102 format
The patch adds support for HAL_PIXEL_FORMAT_RGBA_1010102 on
Android platform.
Fixes android.media.cts.DecoderTest#testVp9HdrStaticMetadata
which failed in egl due to "Unsupported native buffer format 0x2b"
on Android.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chenglei Ren <chenglei.ren@intel.com>
Kenneth Graunke [Thu, 12 Sep 2019 04:33:00 +0000 (21:33 -0700)]
iris: trivial whitespace fixes
Jonathan Marek [Mon, 12 Aug 2019 20:20:21 +0000 (16:20 -0400)]
u_format: float type for R11G11B10_FLOAT/R9G9B9E5_FLOAT
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Jonathan Marek [Sun, 4 Aug 2019 21:17:13 +0000 (17:17 -0400)]
u_format: add ETC2 to util_format_srgb/util_format_linear
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Vinson Lee [Thu, 5 Sep 2019 05:17:25 +0000 (22:17 -0700)]
meson: Add coroutines component to llvmpipe build.
Fixes: d32690b43c91 ("gallivm: add coroutine pass manager support")
Suggested-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Eric Anholt [Fri, 30 Aug 2019 00:00:09 +0000 (17:00 -0700)]
dri: Use DRM_FORMAT_* instead of defining our own copy.
We have only two defines that aren't from DRM_FORMAT_*: SARGB and
SABGR. Keep only those as __DRI_IMAGE_FOURCC and garbage collect the
rest.
While this header is also used from the X server, the X server doesn't
use any __DRI_IMAGE enums.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Eric Anholt [Thu, 29 Aug 2019 23:57:49 +0000 (16:57 -0700)]
uapi: Update drm_fourcc.h
Taken from drm-misc-next
268de6530aa1 ("drm: mst: Fix query_payload
ack reply struct")
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Kenneth Graunke [Mon, 9 Sep 2019 22:36:16 +0000 (15:36 -0700)]
st/mesa: Only pause queries if there are any active queries to pause.
Previously, ReadPixels, PBO upload/download, and clears would call
cso_save_state with CSO_PAUSE_QUERIES, causing cso_context to call
pipe->set_active_query_state() twice for each operation. This can
potentially cause driver work to enable/disable statistics counters.
But often, there are no queries happening which need to be paused.
By keeping a simple tally of active queries, we can skip this work.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Jean Hertel [Tue, 10 Sep 2019 19:00:07 +0000 (21:00 +0200)]
Fix missing dri2_load_driver on platform_drm
Signed-off-by: Jean Hertel <jean.hertel@hotmail.com>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Anuj Phogat [Mon, 9 Sep 2019 18:17:19 +0000 (11:17 -0700)]
intel/gen11+: Enable Hardware filtering of Semi-Pipelined State in WM
Initial benchmarking didn't show any performance benefits. But it might eventually.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Anuj Phogat [Mon, 9 Sep 2019 18:32:35 +0000 (11:32 -0700)]
genxml/gen11+: Add COMMON_SLICE_CHICKEN4 register
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Adam Jackson [Tue, 10 Sep 2019 16:07:07 +0000 (12:07 -0400)]
egl/dri2: Refuse to add EGLConfigs with no supported surface types
For example, the surfaceless platform only supports pbuffers. If the
driver supports MSAA, we would still create a config, but it would have
no supported surface types. That's meaningless, so don't do it.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Adam Jackson [Fri, 6 Sep 2019 07:50:32 +0000 (09:50 +0200)]
gallium: Require LLVM >= 3.9
To go any further than this would be to break the current version of
Android.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Adam Jackson [Fri, 6 Sep 2019 07:50:27 +0000 (09:50 +0200)]
gallium: Require LLVM >= 3.8
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Adam Jackson [Fri, 6 Sep 2019 07:50:22 +0000 (09:50 +0200)]
gallium: Require LLVM >= 3.7
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Adam Jackson [Fri, 6 Sep 2019 07:50:16 +0000 (09:50 +0200)]
gallium: Require LLVM >= 3.6
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Adam Jackson [Fri, 6 Sep 2019 07:29:32 +0000 (09:29 +0200)]
gallium: Require LLVM >= 3.5
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
[ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
Michel Dänzer [Fri, 6 Sep 2019 08:39:19 +0000 (10:39 +0200)]
gitlab-ci: Keep g++ from stretch when installing foreign toolchains
Upgrading to a newer g++ causes older LLVM/clang packages to be
removed.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>