Neil Roberts
dab8a9169c
v3d: Add missing macro for stvpmd instruction
...
stvpmd is like stvpmv but it scatters the output. It can be used with
non-dynamically uniform offsets.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5621 >
2020-06-26 09:36:15 +02:00
Marek Olšák
71794567f9
radeonsi: remove tabs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
0cdec11d95
radeonsi: clear per-context buffers at the end of si_create_context
...
We don't want any packets before CONTEXT_CONTROL.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
da78d50bc8
radeonsi: make si_pm4_cmd_begin/end static and simplify all usages
...
There is no longer the confusing trailing si_pm4_cmd_end call.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
7b2a0f880b
radeonsi: disallow adding BOs into si_pm4_state except 1 shader BO per state
...
The si_shader pointer is already there, so use it and remove the array
of BOs.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
3b1e42d2c2
radeonsi: make wait_mem_scratch unmappable
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
428360662f
radeonsi: don't add the tess ring buffers into the cs_preamble state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
1c1d34a67a
radeonsi: rename init_config states to cs_preamble states
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
bbc0a2d51d
radeonsi: don't add the border color buffer into the init_config state
...
We might have to replace init_config for preemption.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
c7680625c3
ac,winsys/amdgpu: align IBs the same as the kernel
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
556f4458fe
amd: add proper definitions for NOP packets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Samuel Pitoiset
276e6d7bbc
gitlab-ci: attach the Fossilize log file as artifact on failure
...
It might be help.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Samuel Pitoiset
4954df417c
gitlab-ci: append Fossilize stdout/stderr to a file to reduce spam
...
Fossilize is really verbose and it's easy to reach the buffer
limit in GitLab CI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Samuel Pitoiset
b24b415013
gitlab-ci: set the number of Fossilize threads to 4
...
The shared runners are set up for concurrent jobs ~= CPUs / 4 (x86)
or 8 (ARM).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Icecream95
be5d06106f
panfrost: Only copy resources when they are in a pending batch
...
Fixes a performance regression in alacritty, and rendering is still
fine in GLQuake ports.
Fixes: 361fb38662 ("panfrost: Copy resources when mapping to avoid waiting for readers")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5642 >
2020-06-26 06:32:34 +00:00
Rafael Antognolli
66df2ffa36
anv: Align "used" attribute to 64 bits.
...
This is a 64 bits value that might not be aligned on 32 bit plaforms.
Since it's used with atomics, let's make sure it gets properly aligned
to avoid any potential performance loss.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5637 >
2020-06-25 22:11:36 -07:00
Rafael Antognolli
293221ddda
iris: Align last_seqnos to 64 bits.
...
last_seqnos is used in atomic operations. Specially on 32 bit platorms,
it tends to be slower if it's not aligned to 64 bits (see
cdc331c6f9 ). This fixes a small regression
on Bioshock.
Fixes: aba3aed96e ("iris: fix export of GEM handles")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5637 >
2020-06-25 22:11:08 -07:00
Eric Anholt
2fd746e98e
ci: Remove a stray "always" on the freedreno traces job.
...
This was making it so that the CI would error if the set of files modified
or the pipeline involvd meant the jobs we depend on weren't enabled. It
was just some misplaced debug leftovers of mine.
Fixes: b88c46fa11 ("ci: Add a freedreno a630 tracie run.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5653 >
2020-06-25 23:45:48 +00:00
Eric Anholt
50e20cb036
freedreno/a6xx: Add support for polygon fill mode (as long as front==back).
...
Unlike a4xx, we don't seem to have separate back vs front fields any more.
Still, this improves desktop GL conformance (and one of the traces in
traces-db).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:30 -07:00
Eric Anholt
72c0522db2
turnip: Add support for polygon fill modes.
...
Passes the new tests in dEQP-VK.rasterization.culling.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:30 -07:00
Eric Anholt
daee177ca0
freedreno/a6xx: Define the register fields for polygon fill mode.
...
Produced by comparing the traces of:
dEQP-VK.rasterization.culling.front_triangles
dEQP-VK.rasterization.culling.front_triangles_point
dEQP-VK.rasterization.culling.front_triangles_line
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:28 -07:00
Eric Anholt
b88c46fa11
ci: Add a freedreno a630 tracie run.
...
This job runs in about one minute on the current set of traces, and has
successfully revealed some bugs in our current rendering. Takes about 7
minutes currently.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
b5f727afeb
ci/tracie: Fix apitrace dump using "less" which isn't in the ARM rootfs.
...
You would get no output during the "find the last frame" step of the trace
replay.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
9f1412cf3e
ci/tracie: Print the path if the trace isn't found.
...
I hit this a few times while setting up CI.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Rohan Garg
7406d627c8
ci: Include trace replay support in ARM rootfses.
...
Builds the renderdoc and apitrace programs so we can replay GL traces on
DUTs.
[Separated out from 5472's commit that also enabled the jobs in LAVA,
dropped unnecessary python packages from arm_build, fixed up arm64_test
build, traces-db in baremetal, new commit message by anholt]
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
acf9d8b75d
ci/bare-metal: Don't include dev packages in arm*test.
...
We just need these to build our rootfs, clean them out afterwards.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
9079b53987
ci/bare-metal: Skip setting of unset variables at startup.
...
It's silly to be setting (and logging the setting of!) all the env vars we
*didn't* set in a job.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Tomeu Vizoso
21b2dac793
ci: Move ARM rootfses to stable
...
We build in Debian buster but were currently testing in bullseye-based
ramdisks. This has started being a problem since Python 3.7 was removed
from bullseye.
[ Also bumped arm_test containers, by anholt ]
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Tomeu Vizoso
a04672a105
ci: Don't call renderdoc's ReplayController.Shutdown()
...
If we do, Renderdoc will call eglDestroyContext twice, causing crashes
within Mesa.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Jonathan Marek
62de79ac44
turnip: implement VK_KHR_shader_draw_parameters
...
Note: going by the blob, VFD_INDEX_OFFSET/FD_INSTANCE_START_OFFSET seem
completely unused by indirect draws, so this changes them to only be set
for non-indirect draws (and moves them to the vs_params draw state).
Passes dEQP-VK.draw.shader_draw_parameters.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Jonathan Marek
16a9e233da
freedreno/ir3: add support for load_draw_id
...
This is part of adding VK_KHR_shader_draw_parameters for turnip.
IR3_DP_VTXID_BASE/IR3_DP_VTXCNT_MAX offsets are changed to match what
CP_DRAW_INDIRECT_MULTI requires.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Jonathan Marek
01799b3448
freedreno/registers: add CP_DRAW_INDIRECT_MULTI
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Samuel Pitoiset
7e98f2534c
gitlab-ci: add a list of expected failures for RADV/ACO on NAVI14
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5647 >
2020-06-25 14:15:49 +00:00
Daniel Schürmann
63e1e7209c
radv: enable ACO by default
...
No more dragons have been seen, caution is still required...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:30 +02:00
Daniel Schürmann
db0afb3800
radv: change use_aco -> use_llvm
...
We are about to make ACO the default backend.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:28 +02:00
Daniel Schürmann
b78f64507e
radv: introduce RADV_DEBUG=llvm option
...
This option enables the LLVM compiler backend to be used
for shader compilation
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:23 +02:00
Mike Blumenkrantz
37e7a5e746
zink: unify code for setting resource barriers
...
no functional changes, this code was just duplicated
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5615 >
2020-06-25 12:50:21 +00:00
Samuel Pitoiset
a102896cff
radv: lower 64-bit dfloor on GFX6 for fixing precision issues
...
GFX6 doesn't support v_floor_f64 and the precision of v_fract_f64
which is used to implement 64-bit floor is less than what Vulkan
requires.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5609 >
2020-06-25 12:09:08 +00:00
Samuel Pitoiset
c84f11e7b6
radv: lower 64-bit drcp/dsqrt/drsq for fixing precision issues
...
The hardware precision of v_rcp_f64, v_sqrt_f64 and v_rsq_f64
is less than what Vulkan requires.
This lowers using the Goldschmidt's algorithm to improve precision.
Fixes dEQP-VK.glsl.builtin.precision_double.* on both compiler
backends.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5609 >
2020-06-25 12:09:08 +00:00
Danylo Piliaiev
82b4666783
iris: Honor scanout requirement from DRI
...
Translate PIPE_BIND_SCANOUT as ISL_SURF_USAGE_DISPLAY_BIT,
instead of PIPE_BIND_DISPLAY_TARGET.
PIPE_BIND_DISPLAY_TARGET isn't used for dri images and seem to
be set only for fake winsys buffers (which aren't displayed).
The trouble is that a fake buffer could be multisampled and we
cannot have multisampled surface with display bit.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2313
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4784 >
2020-06-25 11:50:10 +00:00
Pavel Asyutchenko
ec7b55f4cc
vulkan/overlay: fix crash on destroying NULL swapchain
...
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5616 >
2020-06-25 10:31:50 +00:00
Samuel Pitoiset
8c962f5f61
gitlab-ci: add parallel-rdp fossils
...
https://github.com/Themaister/parallel-rdp
These fossils contain very large and complex shaders.
The small_*.foz files use 8/16-bit arithmetic.
Only RADV uses Fossilize.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5542 >
2020-06-25 08:03:09 +02:00
Rob Clark
6da0647987
freedreno/ir3/ra: fix pre-color edge case
...
Fixes a case where you have something like:
aVecOutput.z = aScalarInput;
In particular, skipping over things that are not the first component is
wrong.. in the above case the input we need to precolor is the 3rd
component. But we need to adjust the target register according to the
offset.
Fixes android.hardware.nativehardware.cts.AHardwareBufferNativeTests
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5601 >
2020-06-25 04:40:40 +00:00
Jonathan Marek
c5b990f435
turnip: disable early_z for VK_FORMAT_S8_UINT
...
This format doesn't have depth, and apparently having earlyz enabled can
cause issues. Fixes at least these tests:
dEQP-VK.renderpass.suballocation.multisample.s8_uint.samples_*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Jonathan Marek
04148f4411
turnip: fix update_stencil_mask
...
The previous value was not being cleared, resulting in some dynamic stencil
state failures. Fixes these two tests:
dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
Fixes: 233610f8cf ("turnip: refactor draw states and dynamic states")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Jonathan Marek
9c0ae5704d
turnip: fix empty scissor case
...
Fixes these two tests:
dEQP-VK.draw.scissor.empty_dynamic_scissor_first_draw
dEQP-VK.draw.scissor.empty_static_scissor
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Rob Clark
7c008c293d
freedreno: handle batch flush in resource tracking
...
In rare cases, we can get into situations where the tracking of read/
written resources triggers a flush of the current batch.
To handle that, (1) take a reference to the current batch, so it doesn't
disappear under us, and (2) check after resource tracking whether the
current batch was flushed. If it is, we have to re-do the resource
tracking, but since we have a fresh batch, it should not get flushed the
second time around.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3160
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
16b4da3ba3
freedreno: split out batch clear tracking helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
ad136945e6
freedreno: split out batch draw tracking helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
d74554b167
freedreno: make foreach_bit() declare it's cursor
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00