Alyssa Rosenzweig [Tue, 16 Jun 2020 17:07:02 +0000 (13:07 -0400)]
pan/mdg: Defer nir_fuse_io_16 until after opts
Sometimes DCE/etc can opt out things that would force 32-bit, so this is
worthwhile.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513>
Alyssa Rosenzweig [Tue, 30 Jun 2020 17:20:56 +0000 (13:20 -0400)]
panfrost: Specify stack_shift on SFBD
Fixes spilling on T720.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513>
Christian Gmeiner [Tue, 30 Jun 2020 09:37:54 +0000 (11:37 +0200)]
etnaviv: move ra into own file
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Tue, 30 Jun 2020 08:53:53 +0000 (10:53 +0200)]
etnaviv: move nir compiler related stuff into .c file
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 15:14:20 +0000 (17:14 +0200)]
etnaviv: move functions that generate asm to own file
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 14:55:28 +0000 (16:55 +0200)]
etnaviv: drop emit macro
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 14:51:47 +0000 (16:51 +0200)]
etnaviv: merge struct etna_compile and etna_state
I see no good architectural reason for this split.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 14:00:29 +0000 (16:00 +0200)]
etnaviv: move liveness related stuff into own file
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 12:09:39 +0000 (14:09 +0200)]
etnaviv: make more use of compile_error(..)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 11:26:02 +0000 (13:26 +0200)]
etnaviv: drop OPT_V define
Directly use NIR_PASS_V(..).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 11:22:33 +0000 (13:22 +0200)]
etnaviv: move etna_lower_alu(..) to etnaviv_nir.c
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 11:18:51 +0000 (13:18 +0200)]
etnaviv: get rid of etna_compile dependency
Needed prep change to be able to move alu lowering.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 11:16:59 +0000 (13:16 +0200)]
etnaviv: move etna_lower_io(..) to etnaviv_nir.c
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Tue, 30 Jun 2020 09:10:23 +0000 (11:10 +0200)]
etnaviv: convert enums
Atm. it is not possible to move the enums to a header file
as they do not use an identifier but directly define an
object.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Christian Gmeiner [Mon, 29 Jun 2020 14:22:28 +0000 (16:22 +0200)]
etnaviv: delete not used struct
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
Michel Dänzer [Wed, 1 Jul 2020 15:37:49 +0000 (17:37 +0200)]
ci: Move deploy stage between container & build stages
Having it as the last stage meant that the pages job could only run
once all other jobs had finished.
The new position means it can run in parallel with build jobs.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5711>
Michel Dänzer [Wed, 1 Jul 2020 15:41:06 +0000 (17:41 +0200)]
ci: Use "when: always" for pages job
"when: on_success" meant that that the job wouldn't run automatically
until all jobs of all earlier stages passed, and would be skipped if
any of them failed. But we need to always run this job if any
documentation files were modified.
Fixes: 8e2cb8ef276b "gitlab-ci: Extend .ci-run-policy template for docs
jobs"
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5711>
Samuel Pitoiset [Wed, 1 Jul 2020 06:06:09 +0000 (08:06 +0200)]
radv,vulkan: add a new x11 wsi drirc workaround for DOOM Eternal
DOOM Eternal happily creates a swapchain with 2 images for IMMEDIATE.
This fixes a 10% performance issue with RADV.
Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5704>
Samuel Pitoiset [Wed, 1 Jul 2020 05:50:08 +0000 (07:50 +0200)]
Revert "vulkan/wsi/x11: Ensure we create at least minImageCount images."
This breaks some games like Wolfenstein Youngblood or Wolfenstein 2
that crash at launch if the number of images is more than what they
expected.
We could add vk_x11_strict_image_count to fix these game bugs but
it seems more conservative to revert that change and add a new wsi
drirc workaround for Doom Eternal.
This reverts commit
5f97dfc4c848cb6388ec138c19a22a8a880901d1.
Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5704>
Samuel Pitoiset [Tue, 30 Jun 2020 17:10:36 +0000 (19:10 +0200)]
radv: fix wide lines with multisample enabled
When set, EXPAND_LINE_WIDTH expands the line width by 1/cos(a),
where a is the minimum angle from horizontal or vertical. This
seems required by OpenGL line rasterization but not by Vulkan.
Similar to what AMDVLK and AMDGPU-PRO do for AA wide lines.
This fixes
dEQP-VK.rasterization.interpolation_multisample_*_bit.*lines_wide.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5698>
Daniel Stone [Thu, 2 Jul 2020 07:21:33 +0000 (08:21 +0100)]
CI: Disable Windows build due to unstable infrastructure
The Windows runner is having a lot of issues cloning repositories,
failing early due to an unhandled HTTP error. Temporarily disable it
until we can figure out what's going on and fix it.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5716>
Mike Blumenkrantz [Wed, 1 Jul 2020 13:13:35 +0000 (09:13 -0400)]
zink: implement Vk_EXT_index_type_uint8
this is a simple extension that enables using uint8-sized index buffers,
which lets us avoid having those go through primconvert
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5712>
Samuel Pitoiset [Tue, 30 Jun 2020 16:45:08 +0000 (18:45 +0200)]
radv: fix wide points and lines
The maximum value for both points and lines is 65536. This doesn't
fix anything known (just found this while looking in that area).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5696>
Dave Airlie [Thu, 2 Jul 2020 03:26:41 +0000 (13:26 +1000)]
docs: update llvmpipe GL 4.0 status
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 07:21:01 +0000 (17:21 +1000)]
ci: fixup tests after all indirect images fixes.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:51:10 +0000 (12:51 +1000)]
llvmpipe: handle indirect images properly
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:53:43 +0000 (12:53 +1000)]
draw/sample: add support for indirect images
This uses the array functions to implement indirect image support
for draw shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:50:41 +0000 (12:50 +1000)]
gallivm/nir: add support for indirect image loading
This adds support for indirect image loading, image stores
can cause images with different formats to be stored to,
so this operates like the texture code now.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 07:18:36 +0000 (17:18 +1000)]
gallivm/img: refactor out the texel return type (v2)
v2:
refactor to just pass type as pointed out by Roland.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:49:30 +0000 (12:49 +1000)]
gallivm/nir: refactor image operations for indirect support.
This just refactors the image code, so that outdata is passed
explicitly, and refactors the internal handling of NONE formats.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:47:25 +0000 (12:47 +1000)]
gallivm/nir: support passing image index into image code.
This doesn't do anything yet, just adds parsing support for it.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 16 Jun 2020 02:45:26 +0000 (12:45 +1000)]
llvmpipe: pass number of images into image soa create
Just store this for now to use later with indexing
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 01:55:38 +0000 (11:55 +1000)]
draw: pass number of images to image soa create
This is stored for now but will be used as part of indirect
image support
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Fri, 5 Jun 2020 04:48:45 +0000 (14:48 +1000)]
llvmpipe: enable ARB_gpu_shader5
This isn't fully free of bugs, but it's good to get CI working,
so fixing those bugs doesn't break anything.
The main buggy areas are missing indirect texture size,
and transform feedback geometry streams.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Mon, 15 Jun 2020 07:22:01 +0000 (17:22 +1000)]
gallivm/sample: handle size unit offset
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Mon, 15 Jun 2020 07:21:27 +0000 (17:21 +1000)]
llvmpipe/draw: wire up indirect offset
This bounds checks and adds to the llvm index.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Mon, 15 Jun 2020 07:00:20 +0000 (17:00 +1000)]
gallivm/sample: pass indirect offset into texture/image units
This isn't needed for the basic indirect code, but it is needed for
texture size/image size unfortunately. They could be done with a super
switch, but it seems simple to query them.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Fri, 10 Apr 2020 04:13:44 +0000 (14:13 +1000)]
gallivm/nir: handle non-uniform texture offsets
The way we construt vertex/geom shaders means these can
diverge, so we have to just hammer it out manually,
there are likely optimisation opportuniities in here
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Fri, 27 Mar 2020 04:49:37 +0000 (14:49 +1000)]
gallivm/nir: add texture unit indexing
This hooks up the index from NIR into the sampler code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 02:18:52 +0000 (12:18 +1000)]
llvmpipe: add support for indirect texture access.
This hooks up the sampler switch statement generator
to the llvmpipe sampler interface.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 02:18:20 +0000 (12:18 +1000)]
draw: add support for indirect texture access
This hooks up the switch statement generator to the draw code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 02:16:34 +0000 (12:16 +1000)]
gallivm: add indirect texture switch statement builder.
This adds the apis to add an indirect accessor for arrays
of textures, using an LLVM switch statement and per-texture
sampler functions.
It also adds the indexer to the sampler parameters
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 02:01:54 +0000 (12:01 +1000)]
gallivm/sample: change texture function generator api
This passes some more paramters in directly and changes how
the returns are done in order to reuse this function for
indirect texture support later.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 01:51:13 +0000 (11:51 +1000)]
llvmpipe: pass number of samplers into llvm sampler code.
This is to be used later for indirect texture access
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Dave Airlie [Tue, 19 May 2020 01:48:23 +0000 (11:48 +1000)]
draw: pass nr_samplers into llvm sample state creation.
This will be used later to handle indirect texture support.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
Timothy Arceri [Wed, 1 Jul 2020 08:56:09 +0000 (18:56 +1000)]
nir: add missing break to nir_opt_access()
Fixes: f2d0e48ddc74 ("glsl/nir: Add optimization pass for access flags")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 06:48:43 +0000 (16:48 +1000)]
egl: move fallthrough comment so gcc can see it
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 06:41:07 +0000 (16:41 +1000)]
iris: add missing fallthrough comment
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 06:30:01 +0000 (16:30 +1000)]
intel/compiler: add and fix up fallthrough comments for gcc warnings
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 06:24:59 +0000 (16:24 +1000)]
anv: update fallthrough comment so gcc sees it
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 05:25:40 +0000 (15:25 +1000)]
gallivm: add missing break
Fixes: 26c5ae80f0b5 ("llvmpipe: enable ARB_shader_group_vote")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 05:24:41 +0000 (15:24 +1000)]
llvmpipe: add missing fallthrough comments
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Timothy Arceri [Wed, 1 Jul 2020 05:18:02 +0000 (15:18 +1000)]
i965: add and fix fallthrough comments
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
Matt Turner [Fri, 19 Jun 2020 19:33:31 +0000 (12:33 -0700)]
intel/compiler: Don't emit no-op cr0 changes
If mask is 0, we're asking for no changes to cr0.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5566>
Matt Turner [Fri, 19 Jun 2020 19:32:44 +0000 (12:32 -0700)]
intel/compiler: Add assert that set bits are within mask
We generate bitfields of bits that we want to retain (mask) and bits
that we want to set (brw_mode) in the cr0 register, so the bits we want
to set should be in the set of bits we want to retain.
Also, remove the initialization of mask from
fs_visitor::emit_shader_float_controls_execution_mode since
brw_rnd_mode_from_nir initializes the mask parameter unconditionally.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5566>
Greg V [Thu, 23 Apr 2020 13:15:38 +0000 (16:15 +0300)]
gallium,util: undef ALIGN on FreeBSD to prevent name clash
Some rare headers like ipc/shm and pthread_np cause
machine/param.h to be included which defines a macro called ALIGN.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
Emmanuel [Fri, 24 Jan 2020 22:48:06 +0000 (23:48 +0100)]
i965: Explicitly cast value to uint64_t
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
Emmanuel [Fri, 24 Jan 2020 22:45:40 +0000 (23:45 +0100)]
iris: Explicitly cast value to uint64_t
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
Emmanuel [Fri, 24 Jan 2020 21:31:47 +0000 (22:31 +0100)]
meson: Do not enable USE_ELF_TLS for FreeBSD
Compiling with this option result in too much TLS usage and FreeBSD
cannot handle that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
Michel Dänzer [Mon, 22 Jun 2020 09:16:17 +0000 (11:16 +0200)]
gitlab-ci: Do not create the "success" job when the test-docs job exists
It's redundant in that case.
v2:
* Adapt to v2 of test-docs job rules.
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Michel Dänzer [Mon, 22 Jun 2020 09:21:06 +0000 (11:21 +0200)]
gitlab-ci: Extend .ci-run-policy template for docs jobs
Requires using rules: in the pages job as well, so it doesn't inherit
the rules from the template.
v2:
* Add comment explaining that cases not covered by explicit rules
default to "when: never".
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Michel Dänzer [Mon, 22 Jun 2020 09:13:05 +0000 (11:13 +0200)]
gitlab-ci: Use rules: instead of except:/only: for test-docs job
Only run the job automatically for Marge Bot, otherwise let it be
triggered manually.
v2:
* Never run this job for the main project, since it's only needed in
pre-merge pipelines.
* Add comment explaining that cases not covered by explicit rules
default to "when: never".
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Erik Faye-Lund [Mon, 22 Jun 2020 09:10:40 +0000 (11:10 +0200)]
ci: move test-docs to container stage
While we're at it, rename it to reflect that we're now also testing docs
here.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Erik Faye-Lund [Mon, 22 Jun 2020 09:10:34 +0000 (11:10 +0200)]
ci: move deploy-stage later in the pipeline
This makes it not clutter up the pipeline results page so much.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Erik Faye-Lund [Mon, 22 Jun 2020 09:10:29 +0000 (11:10 +0200)]
ci: test docs for non-master builds
This ensures that we test on CI before merge-requests gets merged.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Erik Faye-Lund [Mon, 22 Jun 2020 09:10:24 +0000 (11:10 +0200)]
ci: only build docs if any docs changed
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Erik Faye-Lund [Mon, 22 Jun 2020 09:10:17 +0000 (11:10 +0200)]
ci: only build docs in the upstream-repo
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469>
Jonathan Marek [Sun, 21 Jun 2020 19:10:49 +0000 (15:10 -0400)]
freedreno/ir3: add support for INTERP_MODE_NOPERSPECTIVE
Check the interp mode and use SYSTEM_VALUE_BARYCENTRIC_LINEAR_* instead
when it is INTERP_MODE_NOPERSPECTIVE.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 21 Jun 2020 03:03:53 +0000 (23:03 -0400)]
turnip: set missing bary sysvals
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 21 Jun 2020 18:39:29 +0000 (14:39 -0400)]
freedreno/a6xx: set missing bary sysvals
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 21 Jun 2020 18:38:21 +0000 (14:38 -0400)]
freedreno/a5xx: set missing bary sysvals
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 21 Jun 2020 20:31:10 +0000 (16:31 -0400)]
freedreno/ir3: add generic get_barycentric()
This will be useful to support the missing barycentric sysvals.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 28 Jun 2020 02:01:16 +0000 (22:01 -0400)]
freedreno/a4xx: fake LINEAR_PIXEL varying support for u_blitter
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 21 Jun 2020 18:22:45 +0000 (14:22 -0400)]
freedreno/a3xx: support LINEAR_PIXEL/PERSP_CENTROID/LINEAR_CENTROID sysvals
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Jonathan Marek [Sun, 14 Jun 2020 04:12:05 +0000 (00:12 -0400)]
freedreno/registers: update varying-related registers
Note:
* a3xx change based on available register documentation
* a4xx guesses (RB_RENDER_CONTROL2 bits especially)
* a5xx change based on a6xx, these registers seem identical
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
Michel Dänzer [Mon, 29 Jun 2020 09:33:13 +0000 (11:33 +0200)]
gitlab-ci: Automatically run pipelines for Marge Bot pre-merge only
Marge only merges an MR if the pipeline passed. Running the pipeline
again after merging is redundant.
v2:
* Add rule to ensure docker images are up to date in the main project
registry (Eric Anholt)
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5680>
Iago Toral Quiroga [Tue, 30 Jun 2020 08:59:47 +0000 (10:59 +0200)]
v3d/compiler: fix image size for 1D arrays
Reviewed by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5692>
Pierre-Eric Pelloux-Prayer [Thu, 25 Jun 2020 15:12:57 +0000 (17:12 +0200)]
st/mesa: do not clear NewDriverState for inactive states
Fixes: 085aa7f91e8 ("st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2951
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5660>
Erik Faye-Lund [Tue, 30 Jun 2020 09:57:53 +0000 (11:57 +0200)]
gallium/docs: remove unused imgmath extension
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 09:06:31 +0000 (11:06 +0200)]
gallium/docs: remove non-existent static dir
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 10:09:31 +0000 (12:09 +0200)]
gallium/docs: prefix exts dir with underscore
It's generally considered good practice to use underscore-prefixes for
directories that contains non-doumentation files, so let's do this for
our custom extensions as well.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 10:06:03 +0000 (12:06 +0200)]
gallium/docs: use none for highlight_language
We have much more blocks that are of no particular language (mostly
custom ASM variants), so let's instead opt in if we want
syntax-highlighting.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 09:13:51 +0000 (11:13 +0200)]
gallium/docs: remove reference to non-existent label
This label was removed a long time ago, let's also remove the reference
to it.
Fixes: 3acd7a34ab0 ("st/vega: Remove.")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 09:09:20 +0000 (11:09 +0200)]
gallium/docs: fixup formatting of numbered lists
Fixes: 0caf74bbcdf ("gallium: add PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS")
Fixes: 8632626c81a ("gallium: add pipe_resource::nr_storage_samples, and set it same as nr_samples")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Erik Faye-Lund [Tue, 30 Jun 2020 09:05:42 +0000 (11:05 +0200)]
gallium/docs: update to recent sphinx
add_description_unit has been deprectated for a really long time, and was
finally removed (seemingly in Sphinx 2.0, but this doesn't seem to be
properly documented anywhere I can find), so we shouldn't be using this
any more.
Anyway, let's update the code.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
Dave Airlie [Tue, 30 Jun 2020 03:21:04 +0000 (13:21 +1000)]
draw/llvm: fix big-endian mask adjusting
This code was broken, but it worked by accident, as the
pad and the edgeflag were reversed, however when Roland
removed the cliptest field back in 2015, he stopped copying
the pad which actually stopped copy the edgeflag.
Fix the function to actually copy the edgeflag.
Fixes: 1b22815af624 ("draw: don't pretend have_clipdist is per-vertex")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
Dave Airlie [Mon, 29 Jun 2020 19:04:19 +0000 (05:04 +1000)]
mesa/get: fix enum16 big-endian getting.
These values were getting casted up to 32-bit, but then extracted
via 16-bit pointer later. Just store via 16-bit.
Fixes a lot of piglit on s390
Fixes: f96a69f916ae ("mesa: replace GLenum with GLenum16 in common structures (v4)");
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
Dave Airlie [Mon, 29 Jun 2020 05:57:14 +0000 (15:57 +1000)]
llvmpipe: fix occlusion queries on big-endian.
Casting to u8 arrays and picking the lowest byte is fairly LE specific
grab the other byte.
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
Dave Airlie [Mon, 29 Jun 2020 04:59:20 +0000 (14:59 +1000)]
gallivm/nir: fix big-endian 64-bit splitting/merging.
The shuffles need to be swapped to do this properly on big-endian
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
Dave Airlie [Mon, 29 Jun 2020 03:26:56 +0000 (13:26 +1000)]
glsl: fix constant packing for 64-bit big endian.
In a piglit run on s390 a lot of double tests fail, explicitly
packing/shifting things rather than using memcpy seems to help
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
Eric Engestrom [Mon, 7 Oct 2019 22:26:39 +0000 (23:26 +0100)]
docs: add a page explaining the GitLab CI and the Intel CI
This explains what they are, what they do and how to use them.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Clayton Craft <clayton.a.craft@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2250>
Dylan Baker [Thu, 30 Apr 2020 19:40:56 +0000 (12:40 -0700)]
mesa/swrast: use logf2 instead of util_fast_log2
The fast version is apparently not accurate enough. I wrote a very
simply test program that called logf2 and the old LOG2 function 100000
times. Across that the two functions had very similar run times, neither
appeared meaningfully faster, so the optimization of bringing back yet
another way to calculate log2f seems pointless.
Fixes: bd4e769515345a6b20562310334bc828c0bb6605
("replace LOG2 with util_fast_log2")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2856
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5406>
Jan Beich [Thu, 21 May 2020 01:55:11 +0000 (01:55 +0000)]
anv: disable i915_perf warning on non-Linux
$ vkcube
INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5461>
Frédéric Bonnard [Thu, 7 May 2020 14:30:52 +0000 (16:30 +0200)]
meson: Revert commit overriding C++ standard with gnu++11 on ppc64el
Since a few versions, mesa now needs c++14 and compiling with gnu++11
on ppc64el fails.
Let's use the default standard and fix the collision of types between
c++ and altivec in a another patch.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948>
Frédéric Bonnard [Mon, 11 May 2020 13:57:20 +0000 (15:57 +0200)]
clover: Fix types collision between c++ and altivec
For that, we undefine bool, vector, pixel as advised by altivec.h in the
specific case that defines them.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948>
Alyssa Rosenzweig [Mon, 11 May 2020 14:02:49 +0000 (10:02 -0400)]
nir: Propagate *2*16 conversions into vectors
If we have code like:
('f2f16', ('vec2', ('f2f32', 'a@16'), '#b@32'))
We would like to eliminate the conversions, but the existing rules can't
see into the the (heterogenous) vector. So instead of trying to
eliminate in one pass, we add opts to propagate the f2f16 into the
vector. Even if nothing further happens, this is often a win since then
the created vector is smaller (half2 instead of float2). Hence the above
gets transformed to
('vec2', ('f2f16', ('f2f32', 'a@16')), ('f2f16', '#b@32'))
Then the existing f2f16(f2f32) rule will kick in for the first component
and constant folding will for the second and we'll be left with
('vec2', 'a@16', '#b@16')
...eliminating all conversions.
v2: Predicate on !options->vectorize_vec2_16bit. As discussed, this
optimization helps greatly on true vector architectures (like Midgard)
but wreaks havoc on more modern SIMD-within-a-register architectures
(like Bifrost and modern AMD). So let's predicate on that.
v3: Extend for integers as well and add a comment explaining the
transforms.
Results on Midgard (unfortunately a true SIMD architecture):
total instructions in shared programs: 51359 -> 50963 (-0.77%)
instructions in affected programs: 4523 -> 4127 (-8.76%)
helped: 53
HURT: 0
helped stats (abs) min: 1 max: 86 x̄: 7.47 x̃: 6
helped stats (rel) min: 1.71% max: 28.00% x̄: 9.66% x̃: 7.34%
95% mean confidence interval for instructions value: -10.58 -4.36
95% mean confidence interval for instructions %-change: -11.45% -7.88%
Instructions are helped.
total bundles in shared programs: 25825 -> 25670 (-0.60%)
bundles in affected programs: 2057 -> 1902 (-7.54%)
helped: 53
HURT: 0
helped stats (abs) min: 1 max: 26 x̄: 2.92 x̃: 2
helped stats (rel) min: 2.86% max: 30.00% x̄: 8.64% x̃: 8.33%
95% mean confidence interval for bundles value: -3.93 -1.92
95% mean confidence interval for bundles %-change: -10.69% -6.59%
Bundles are helped.
total quadwords in shared programs: 41359 -> 41055 (-0.74%)
quadwords in affected programs: 3801 -> 3497 (-8.00%)
helped: 57
HURT: 0
helped stats (abs) min: 1 max: 57 x̄: 5.33 x̃: 4
helped stats (rel) min: 1.92% max: 21.05% x̄: 8.22% x̃: 6.67%
95% mean confidence interval for quadwords value: -7.35 -3.32
95% mean confidence interval for quadwords %-change: -9.54% -6.90%
Quadwords are helped.
total registers in shared programs: 3849 -> 3807 (-1.09%)
registers in affected programs: 167 -> 125 (-25.15%)
helped: 32
HURT: 1
helped stats (abs) min: 1 max: 3 x̄: 1.34 x̃: 1
helped stats (rel) min: 20.00% max: 50.00% x̄: 26.35% x̃: 20.00%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%
95% mean confidence interval for registers value: -1.54 -1.00
95% mean confidence interval for registers %-change: -29.41% -20.69%
Registers are helped.
total threads in shared programs: 2471 -> 2520 (1.98%)
threads in affected programs: 49 -> 98 (100.00%)
helped: 25
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.96 x̃: 2
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 1.88 2.04
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are [helped].
total spills in shared programs: 168 -> 168 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 186 -> 186 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4999>
Icecream95 [Sun, 28 Jun 2020 08:48:36 +0000 (20:48 +1200)]
panfrost: Do fine-grained flushing for occlusion query results
This allows doing occlusion queries in one frame and getting the
results in the next frame without having to flush.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5676>
Shawn Guo [Tue, 30 Jun 2020 12:40:53 +0000 (20:40 +0800)]
freedreno/a4xx: fix *_NONE enum conversion
Commit
e369b8931c67 ("freedreno: Use explicit *_NONE enum for undefined
formats") only partially converts ~0 to *_NONE enum. It breaks texture
support, and glmark2 texture scene gives a black screen.
Adding the missing conversion of ~0 to *_NONE enum fixes the issue.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5693>
Daniel Stone [Tue, 30 Jun 2020 13:49:16 +0000 (14:49 +0100)]
CI: Re-enable Panfrost T860 jobs
The lab is back online.
This reverts commit
34db50558d9a6dca89218f74c4418cdf0b0acbcb.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5694>
Marek Olšák [Wed, 17 Jun 2020 15:59:27 +0000 (11:59 -0400)]
radeonsi: add a debug option to enable NGG culling for tessellation
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524>