Alyssa Rosenzweig
a4fc16a1d4
pan/bi: Remove schedule_barrier
...
Legacy from Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b3ae088b96
pan/bi: Add helper to measure clause size
...
Useful for branching.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
2a4e4477fc
pan/bi: Add bi_layout.c for clause layout helpers
...
Figuring out what "shapes" of clauses are kosher happens during
scheduling, not packing, but shouldn't distract the scheduler. So let's
add a new file for these sorts of questions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
c3de28bb49
pan/bi: Remove more artefacts of 2-pass scheduling
...
A clause is, by definition, already scheduled.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
4096be05af
pan/bi: Add MUL.i32 to disasm
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
ec8665615f
pan/bi: Disassemble pos=0xe
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
a658a4f7a5
pan/bi: Document constant count invariant
...
constants + instructions <= 13
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
ac64bf9b20
pan/bi: Move bi_flip_ports out of port assignment
...
It's more of a packing fixup than anything scheduler-y, and port
assignment will soon be the domain of the scheduler.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
95e3776d3e
pan/bi: Add FILE* argument to bi_print_registers
...
In case we need it in general IR printing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
dd96b451f6
pan/bi: Drop struct from bi_registers
...
It's a full-fledged part of the IR now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b042ddef32
pan/bi: Move bi_registers to bi_bundle
...
Make it a part of the IR itself.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
79f30d8a86
pan/bi: Move bi_registers to common IR structures
...
Port assignments are critical to scheduling, this can't just live in
bi_pack.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
59f8f20306
pan/bi: Remove comment about old scheduler design
...
I've realized it really has to be 1-pass to be sane.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
635bf652ed
pan/bi: Remove FMA? parameter from get_src
...
We can lower away zeroes a bit earlier.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
20f6c7a913
panfrost: Preload gl_FragCoord on Bifrost
...
It's a precoloured register but we do need to specify in the cmdstream
that we want the preloading to happen.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Alyssa Rosenzweig
1d194f8ac4
panfrost: Set reads_frag_coord as a sysval
...
In addition to parsing out the varying. This is needed so it works on
Bifrost as well.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Alyssa Rosenzweig
52875a34aa
panfrost: Don't generate gl_FragCoord varying on Bifrost
...
It's treated as a sysval there, so that's silly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Rob Clark
11470fcde2
freedreno/a6xx: fix vsc assert
...
Fixes a debug build assert seeing with an android app. Not quite sure
which path was passing us draw_info w/ instance_count==0. But we should
just treat non-instanced draws as having a single instance.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5091 >
2020-05-29 19:35:08 +00:00
Kristian H. Kristensen
f6f7bc2979
freedreno/a6xx: Program VFD_DEST_CNTL from program stateobj
...
This only depends on the generated shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
7aa809e31c
freedreno/a6xx: Create stateobj for VFD_DECODE
...
This now only depends on vertex state and we can create it once
up front in pctx->create_vertex_elements_state().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
8952dd6d99
freedreno/a6xx: Decouple VFD_FETCH and VFD_DECODE
...
We used to output a VFD_FETCH entry for each VFD_DECODE, but we can
instead output just one VFD_FETCH per VBO and point multiple
VFD_DECODE entries at the same VFD_FETCH entry. There's typically
fewer VBOs than vertex elements so this is a small win in itselfs, but
more importantly, the VFD_DECODE state now only depends on program
state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
c15db8928f
freedreno/a6xx: Move per element offset to VFD_DECODE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Eric Anholt
601a029e67
ci: Rename x86_cross_arm_test to just arm_test.
...
This gets us back to the behavior we used to have for freedreno: clicking
play on arm_test gets you testing of the ARM platforms that aren't under
arm-build (the LAVA runners).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
9c9ade4685
ci: Don't build an arm_test container now that the last user is gone.
...
db410c and cheza used to use it, and now both are on baremetal.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
6f4fc4ff71
ci: Switch cheza (freedreno a630) testing to baremetal.
...
Now that we have scripts in place to do baremetal testing of cheza, switch
it over. As of this writing, we have 5 chezas for baremetal and 4 for the
old docker CI setup (just 2 fewer than we originally had before this work,
since some had had filesystem failures and I switched those first), and
once we are sure of this we can backport to stable branch CI and move the
rest of them to baremetal.
I've run a lot of jobs through the baremetal scripts as I worked on
sorting out vulkan CTS stability, so I feel good about the stability of
the GLES CTS here.
The options job is now split out to separate jobs, as we don't currently
have a way to stack multiple sets deqp runs with different env vars in a
single baremetal run, and just chaining cros_servo.sh invocations runs
into a lack of cleanup of the serial-watching scripts which we rely on
container exit sorting out for us. This means a little less than 2x the
artifacts downloads we had before for a630 and a few more container
instantiations.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
c89a749f66
ci: Add scripts for controlling bare-metal chezas.
...
This will let us:
- deploy kernels for testing code depending on new kernel featuers
- Ensure a pristine state in the HW before starting our tests
- Avoid disk rot on the chezas taking them out (we'd lost 3/9 in a few
months).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
3a1010e21a
ci: Build a cheza kernel.
...
This is a set of kernel options I've come up with mostly cribbing from
chrome os's kernel config snippet. We also build an lzma kernel, as
uncompressed kernel is big but lzma is the only compression supported by
the bootloader. With that image, we have to pack it into a FIT formatted
image+dtb blob.
CONFIG_SUNRPC_DEBUG is added so that you can set "nfsrootdebug" to figure
out what's going wrong with your nfs mount (mine were "both the tcp and
nfsvers options were required, and don't try to use 'default' as the root
path to defer to DHCP's answer because otherwise you get
/tftpboot/default, just use an empty root path which doesn't prepend
/tftpboot.")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
b678568a5e
ci: Disable the firmware loader user helper option in arm64 kernels.
...
We won't have a user helper, so don't block for 60 seconds for it to show
up. Speeds up debug of new kernel builds.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Samuel Pitoiset
9d645a19eb
radv/aco: enable VK_KHR_subgroup_extended_types on GFX8+
...
Should be working now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
e22567089c
aco: sign-extend input/indentity for 32-bit reduce ops on GFX10
...
Because some 16-bit instructions are already VOP3 on GFX10, we use
the 32-bit variants to remove the temporary VGPR and to use DDP with
the arithmetic instructions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
83dcd1690b
aco: allow gfx10_wave64_bpermute with 8-bit/16-bit input
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
8ece71507d
aco: allocate a temp VGPR for some 8-bit/16-bit reduction ops on GFX10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
2e0ea9bcca
aco: implement 8-bit/16-bit reductions on GFX10
...
Some 16-bit instructions are VOP3 on GFX10 and we have to emit a
32-bit DPP mov followed by the ALU instruction.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
75a730ced5
aco: fix register allocation for subdword instructions on GFX10
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
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/5148 >
2020-05-29 11:20:58 +00:00
Bas Nieuwenhuizen
ad609bf55a
frontend/dri: Implement mapping individual planes.
...
It is kinda surprising that
image2 = fromPlanar(image, 2, NULL)
mapImage(..., image2, ...)
does not map the third plane.
This implements that behavior in the case where the DRI frontend
lowers the multi-planar textures.
In the case it doesn't this would need driver support. AFAIU at
least etnaviv is impacted, and while it looks possible, I don't
have the etnaviv knowledge to implement it.
Instead of silently returning weird results (either always plane 0
or possibly something interleaved) this adds an error return on
mapping multi-planar textures otherwise.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5200 >
2020-05-29 09:12:33 +00:00
Vinson Lee
a2ee293422
zink: Check fopen result.
...
Fix warning reported by Coverity.
Dereference null return value (NULL_RETURNS)
dereference: Dereferencing a pointer that might be NULL fp when calling
fwrite.
Fixes: 8d46e35d16 ("zink: introduce opengl over vulkan")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5235 >
2020-05-29 08:59:19 +00:00
Samuel Pitoiset
7503863fe2
radv/aco: enable VK_EXT_subgroup_size_control
...
ACO should already support Wave32 on GFX10 with all shader stages
and CTS pass. RADV currently only allows Wave32 with the compute
shader stage.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5056 >
2020-05-29 10:12:26 +02:00
Rob Clark
6f39126200
freedreno/a6xx: document LRZ flag buffer
...
Doesn't seem to be a big win, although I could still be missing
something in my implementation. But might as well add the
documentation.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5217 >
2020-05-29 00:38:28 +00:00
Rob Clark
a3947f9d24
freedreno/a6xx: LRZ fix for alpha-test
...
Similarly to stencil-test, if alpha-test is enabled, we don't know
necessarily whether the fragment will pass.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3045
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5217 >
2020-05-29 00:38:28 +00:00
Neha Bhende
838666a41d
util: Initialize pipe_shader_state for passthrough and transform shaders
...
mesa/st is initializing pipe_shader_state for user define shaders.
This patch intialized pipe_shader_state for all passthough
and transform shaders.
This fixes crashes for several opengl apps. Issue is found in vmware
internal testing
Fixes: f01c0565bb ("draw: free the NIR IR.")
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5240 >
2020-05-28 23:27:53 +00:00
Chris Wilson
034329128b
iris: Rename iris_seqno to iris_fine_fence
...
Rename iris_seqno to iris_fine_fence, borrowed from si_fine_fence, to
avoid introducing any confusion with any other seqno used for tracking
pipelines.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5233 >
2020-05-28 12:47:19 -07:00
Gert Wollny
682e14d3ea
nir: lower_tex: Don't normalize coordinates for TXF with RECT
...
v2: remove the option to actually request normalization and its
application in Intel < Gen6 (Jason)
v3: Also don't lower for query operations (Jason)
Fixes: 1ce8060c25
nir/lower_tex: support for lowering RECT textures
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5105 >
2020-05-28 18:39:29 +00:00
Eric Anholt
f0c102c075
ci: Quick exit qpa extraction for non-matching qpas.
...
When you're bringing up a new driver in CI with significant number of
failures (or when a CI run breaks a driver), the QPA extraction can easily
take the whole job timeout as we go about processing each QPA (100 of them
in my early VK CI fails) per unexpected result we're saving (50), which
involves reading and each line of the file in shell. By quickly filtering
out the QPA files not including our test, we can save all that shell
overhead, bringing QPA extract time down to a couple of minutes.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
46d9b500f4
ci: Move baremetal DEQP_NO_SAVE_RESULTS setup to the yml.
...
I'm going to want it unset (artifacts enabled) for the cheza jobs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
33e0821a99
ci: Add DEQP_EXPECTED_RENDERER support for VK tests.
...
I used this to debug what was going on with freedreno VK in CI.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
6766d51c15
ci: Auto-detect the architecture for VK ICD filenames.
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
044f50b9fd
ci: Drop old comment about enabling --deqp-watchdog.
...
The parallel deqp runner does its own 60s watchdog.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
c343d00ede
ci: Drop double ".txt" suffix on the unexpected results file.
...
Just a cosmetic fix in reviewing logs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Samuel Pitoiset
10c4a7cf59
spirv,radv,anv: implement no-op VK_GOOGLE_user_type
...
This extension only allows HLSL shader compilers to optionally embed
unambiguous type information which can be safely ignored by the driver.
This fixes a crash with the recent Vulkan backend of Path Of Exile
(it uses the extension without checking if it's supported).
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5237 >
2020-05-28 17:30:24 +02:00
Rhys Perry
01ce7887bf
aco: fix 64-bit shared_atomic_exchange
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4880 >
2020-05-28 10:34:03 +00:00