Mike Blumenkrantz
765de33d3c
zink: set lower_mul_high and lower_rotate in ntv compiler options
...
we don't implement these
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
49c13fccf7
zink: handle isign alu in ntv
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
21fe5b0ffd
zink: handle ixor in ntv
...
fixes spec@glsl-1.30 @execution@built-in-functions@fs-op-assign-bitxor tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
651d093298
zink: lower byte/word extract ops in nir
...
we don't implement these, and pre-optimizing them breaks things in ntv->vtn
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
90d3455848
zink: add bitfield_reverse handling to ntv
...
fixes several piglit tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
957d8e2658
zink: add ult handling for ntv
...
fixes shaders@glsl-vs-absolutedifference-uint piglit test
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
2159aa0c49
zink: handle signed and unsigned min/max ops in ntv
...
fixes a number of piglit amd_shader_trinary_minmax tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Samuel Pitoiset
f13d79f519
radv: remove the load/store workaround for Monster Hunter World with LLVM
...
Now that ACO is default, this is pointless.
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/5658 >
2020-06-26 14:42:44 +02:00
Samuel Pitoiset
a30ad8cb23
radv: remove the shader ballot workaround for Youngblood with LLVM
...
Now that ACO is default, this is now pointless.
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/5658 >
2020-06-26 14:42:42 +02:00
Erik Faye-Lund
099916384a
docs: update favicon
...
I created a new and cleaner favicon for mesa3d.org, and it seems like a
good idea to use that one for the docs as well.
While we're at it, replace the original PNG with the original SVG asset
the ICO-file was generated from.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5643 >
2020-06-26 12:09:22 +00:00
Jonathan Marek
2fbc12a0ac
turnip: fix huge scissor min/max case
...
Now that tu_cs_emit_regs is used for the scissor, it hits an assert when
the scissor is too large. Fixes this dEQP test:
dEQP-VK.draw.scissor.static_scissor_max_int32
Fixes: 9c0ae5704d ("turnip: fix empty scissor case")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5655 >
2020-06-26 11:34:49 +00:00
Jonathan Marek
1854eeefde
turnip: fix VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
...
My attempt to be clever here backfired, it overwrites the pNext and stops
the loop (causing deqp to fail to query extension features after that).
Fixes: 62de79ac44 ("turnip: implement VK_KHR_shader_draw_parameters")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5654 >
2020-06-26 11:11:29 +00:00
Icecream95
6b886fbc0b
panfrost: Add PAN_MESA_DEBUG=gl3 flag
...
This flag allows forcing GL 3.3 without having to use
MESA_GL_VERSION_OVERRIDE etc.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5584 >
2020-06-26 10:30:03 +00:00
Connor Abbott
1288613f1c
freedreno/a6xx: use firstIndex field
...
Analogous to the turnip change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
ba5e1c5310
tu: Pass firstIndex directly to CP_DRAW_INDX_OFFSET
...
Saves some minor overhead, cleans things up a bit, and removes one more
unknown. We now program the internal registers in the same way between
direct/indirect draws.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
259d07a2ff
freedreno/registers: Label firstIndex field in CP_DRAW_INDX_OFFSET
...
Based on comparing the implementations of CP_DRAW_INDX_OFFSET and
CP_DRAW_INDIRECT, this is what this field is for.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
a32fb2f9d0
freedreno: On a5xx+ INDX_SIZE is MAX_INDICES
...
This was already done correctly for the indirect variants, and turnip
was setting the correct value, but it seems freedreno missed the change
in the non-indirect variant. Also, fix a misspelling of "indices" and
add a type to INDX_SIZE.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
1dd24bf27b
freedreno: Share constlen between different stages properly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
d9dd989d2a
freedreno: Refactor ir3_cache shader compilation
...
Use an array, which makes it more like turnip and makes implementing the
const limits easier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
8ad65609da
tu: Share constlen between different stages properly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
48b1602b50
ir3: Add ir3_trim_constlen()
...
This provides the policy for how to handle reducing constlen for some
stages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
9edff0cfd4
ir3: Support variants with different constlen's
...
This provides the mechanism for compiling variants with a reduced
constlen. The next patch provides the policy for choosing which to
reduce.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
4554b946c3
ir3: Include ir3_compiler from ir3_shader
...
I wanted to access the ir3_compiler from a small helper inside
ir3_shader.h, which currently isn't possible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
2841bb1fac
ir3, freedreno: Round up constlen earlier
...
Prevents problems when calculating whether we overflow the shared limit.
Note that on a6xx, the macros handle the assert for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Iago Toral Quiroga
4845f184d7
v3d/compiler: don't rewrite unused temporaries to point to NOP register
...
This was assuming that unused temporaries are written but never read,
since the NOP register can only be used as a destination register,
but we can end up here also for temporaries that are read once but
never written.
This was found with a graphicsfuzz test that has a switch with
cases that have unreachable discards. In that test, NIR genrates
code like this:
decl_reg vec3 32 r19
...
r20 = mov r19.z
r21 = mov r19.y
r22 = mov r19.x
Where r19.xyz would generate 3 temporary registers that are read but
never written, so we would rewrite them to point to the NOP register
as QPU instruction sources, which is not allowed and would hit an
assert that expect magic reads to be from [r0,r5] only.
Fixes:
dEQP-VK.graphicsfuzz.unreachable-switch-case-with-discards
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5645 >
2020-06-26 08:57:32 +00:00
Neil Roberts
3b1c511b09
v3d: Use stvpmd for non-uniform offsets in GS
...
The offset for the VPM write for storing outputs from the geometry
shader isn’t necessarily uniform across all the lanes. This can happen
if some of the lanes don’t emit some of the vertices. In that case the
offset for the subsequent vertices will be different in each lane. In
that case we need to use the stvpmd instruction instead of stvpmv
because it will scatter the values out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3150
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
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