Boris Brezillon
4d0cd48fab
panfrost: Enable MSAA on bifrost when deqp debug option is set
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:25:12 +01:00
Boris Brezillon
fc93eb7281
panfrost: Unconditionally align strides on 64 bytes for linear resources
...
If we don't do that we end up with DATA_INVALID faults when accessing
3D textures on Bifrost.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:24:39 +01:00
Boris Brezillon
402cabf1ef
panfrost: Set the layer stride
...
Needed for 3D textures.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
176ce2b952
panfrost: Add two helpers to calculate the surface pointer and strides
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
84c4b232ea
panfrost: Clarify bit 2:28 meaning in the Midgard texture descriptor
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
74165b3a46
panfrost: Add a minus(1) modifier to the Levels field
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
a612c05b57
panfrost: Increase blit shader BO size on Bifrost
...
Otherwise we hit 'offset + program->compiled.size < total_size' assert.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
0f643bbcc8
pan/bi: LOD is a 8.8 fixed point
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
3949e8ba19
pan/bi: Always emit a LOD/CUBE word for FETCH instructions
...
There's no flag/mode to reflect when a LOD is zero on FETCH instructions,
we have to emit the LOD/CUBE word unconditionally.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:16 +01:00
Boris Brezillon
8040b797a8
pan/bi: Only update LOD mode on TEX operations
...
If we don't add this check we clobber fetch mode when a 0 LOD is
specified on a txf instruction.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
864f4e2b15
panfrost: Set sample_count when packing bifrost texture descriptors
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
9e3d2a7d9b
panfrost: Set depth for 3D textures on Bifrost
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
05880bc285
panfrost: Fix decoding of texture payloads
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
2ba5a710b0
panfrost: Get rid of the Sample Count enum
...
Sample count just needs a log2 modifier. While at it, rename the
"Multisample count" field "Sample count" to be consistent with
other descriptors.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
de0b88223b
panfrost: Stop forcing depth to nr_samples
...
Those are two different things, and the fact that Midgard use the same
offset in the texture descriptor for both things is just an
implementation detail.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Alyssa Rosenzweig
bb69d3bf4e
panfrost: Fix RAW8/16/32 component replication
...
Fixes dEQP-GLES3.functional.fbo.msaa.4_samples.r32f
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Alyssa Rosenzweig
76a428d03b
panfrost: Account for sample count in tib offsets
...
I don't know if we have tests for MRT + MSAA but that would hit this.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Boris Brezillon
f0a767f0e4
nir: Fix LOD source type for txf_ms instructions
...
txf_ms takes an integer LOD, not a float.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Rhys Perry
4eac442217
aco/ngg: fix division-by-zero in assertion
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7576 >
2020-11-25 13:41:04 +00:00
Rhys Perry
37a2c9ace6
aco: fix GS with no outputs
...
With NGG, ngg_gs_known_vtxcnt[0] would be false and ngg_gs_finale() would
assert.
With legacy GS, I don't know why the assertion was there.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7576 >
2020-11-25 13:41:04 +00:00
Rhys Perry
fdfa96561e
radv/llvm,aco/ngg: fix large shift exponent in ngg_gs_vertex_lds_addr
...
When vertices_out=0, we will try to shift 1u by UINT32_MAX.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7576 >
2020-11-25 13:41:04 +00:00
Alyssa Rosenzweig
d299c2eb0b
pan/bi: Implement shader-db stats
...
v2: Drop register tracking since it was wrong, and meaningful accounting
is tricky for Bifrost (which wants round robin RA for at least some
registers)... we'll cross that bridge when we get there, possibly
preferring a "max liveness" estimate to the raw RA output.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
45de02bdac
pan/bi: Ensure TEXC src0 is not marked SSA
...
Prevents attempts to spill tied TEXC src/dest, resulting in a crash,
seen in shaders/tesseract/229.shader_test
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Boris Brezillon
bbd3a8eadd
pan/bi: Emit a combine even if we only pass one staging reg to TEXC
...
We need that to account for potential swizzling on the source reg.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
b9121624fc
pan/bi: Fix off-by-one in RA
...
Could result in trying to allocate R64 which is clearly wrong.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
087e3f8da8
pan/bi: Fix varying writemask handling
...
Allows shaders/supertuxkart/1.shader_test and
shaders/unity/24-Tree.shader_test to compile.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
eee2a43461
pan/bi: Implement sampler1D
...
Enough to get shaders/humus-celshading/1.shader_test compiling, no idea
if it actually works but it looks reasonable.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
8b23fbb954
pan/mdg: Fix shader-db counter
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
028de3beaf
panfrost: Enable indirect uniform indexing
...
It works fine, and without it, the lowering bloats GLES2 shaders (by a
factor of 20x for one shader on t-rex!)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
33a7645542
panfrost: Add PAN_GPU_ID debug option
...
I'd like to run shader-db locally without turning on the Bifrost
machine. I'm lazy, it's just for debug builds, ok? 😇
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Rhys Perry
2a1238f3a3
nir/unsigned_upper_bound: decrement num_sources_left before recursing
...
Otherwise, search_phi_bcsel() will be called with a buf_size that is
slightly lower than it has to be.
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/7748 >
2020-11-25 11:26:42 +00:00
Rhys Perry
65fbae16e3
nir/unsigned_upper_bound: fix buffer overflow in search_phi_bcsel
...
It should only recurse if there's enough space to add the phi sources.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 72ac3f6026 ("nir: add nir_unsigned_upper_bound and nir_addition_might_overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7748 >
2020-11-25 11:26:42 +00:00
Rhys Perry
cf0b54cdc1
aco: fix v_mul_hi_u32_u24 format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 57c152af9c ("aco: select v_mul_{hi}_u32_u24 for 24-bit multiplications")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3874
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7759 >
2020-11-25 10:59:44 +00:00
Erik Faye-Lund
ecebc263f5
Revert "util: Add helpers for various one-time-init patters"
...
This reverts commit bda4d6e0d0 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
86662655ec
Revert "nir: Use get_once() helper for one-time init's"
...
This reverts commit c9062df1d5 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
5461e21245
Revert "freedreno/ir3: Use get_once() for one-time init"
...
This reverts commit b4ad27a986 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
b8fb95ce01
Revert "gallium/hud: Use do_once for one-time init"
...
This reverts commit 2e81ec5e00 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
f20192f7c3
Revert "mesa/st: Use do_once for one-time init"
...
This reverts commit bcb2981e14 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
410b651859
Revert "util: Fix helgrind complaint about one-time init"
...
This reverts commit f8c7a43f33 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
8fffcbce9b
Revert "mesa: Fix helgrind complaint about one-time init"
...
This reverts commit f7102ac376 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
1f6e03c3bf
Revert "gallium/trace: Fix helgrind complaint about one-time init"
...
This reverts commit 1aa055539f .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Erik Faye-Lund
f57f040f13
Revert "tgsi: Fix helgrind complaint about one-time init"
...
This reverts commit d91fe7d1c6 .
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7760 >
2020-11-25 09:44:11 +00:00
Samuel Pitoiset
8da98beb5d
radv: always use 32-bit predication on compute queues
...
It seems that only gfx queue doesn't support it, except on GFX10.3
which supports all queues.
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/7732 >
2020-11-25 08:13:43 +00:00
Samuel Pitoiset
62d9ca696e
radv: use 32-bit predication for conditional rendering on GFX10.3+
...
It's now supported.
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/7732 >
2020-11-25 08:13:43 +00:00
Samuel Pitoiset
b1558ec3ec
ac: add gpu_info::has_32bit_predication
...
32-bit predication is now supported with GFX10.3.
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/7732 >
2020-11-25 08:13:43 +00:00
Ella-0
472e81ed80
v3dv: Wayland WSI support
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7303 >
2020-11-25 07:49:53 +01:00
Jason Ekstrand
9fa1cdfe7f
intel/rt: Implement push constants as global memory reads
...
They're not really "push" anymore but that's because there is no such
thing as push constants in bindless shaders on Intel. They should be
fast enough, though. There is some room for debate here as to whether
we want to do the pull in NIR or push it into the back-end. The
advantage of doing it in the back-end is that it'd be easier to use
MOV_INDIRECT for indirect push constant access rather than falling back
to a dataport message.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356 >
2020-11-25 05:37:10 +00:00
Jason Ekstrand
f7e24e559f
intel/rt: Add support for hit attributes
...
For triangle geometry, the hit attributes are always two floats which
contain the barycentric coordinates of the hit. For procedural
geometry, they're an arbitrary blob of data passed from the intersection
shader to the hit shaders. In our implementation, we stash that data
right after the HW RayQuery in the ray stack.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356 >
2020-11-25 05:37:10 +00:00
Jason Ekstrand
96fde5518b
intel/rt: Add a helper to create the raygen trampoline shader
...
Unlike graphics and compute pipelines, Vulkan ray-tracing pipelines do
not have a single entrypoint. Instead, the raygen shader is specified
as a one-element shader binding table in the vkCmdTraceRay call. This
means that raygen shaders have to be bindless shaders just like any
other ray tracing shader. To launch them, we have a tiny compute shader
that acts as a trampoline and sets up the hotzone and uses btd_spawn to
fire off the raygen shader.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356 >
2020-11-25 05:37:10 +00:00
Jason Ekstrand
303378e1dd
intel/rt: Add lowering for combined intersection/any-hit shaders
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356 >
2020-11-25 05:37:10 +00:00