Tapani Pälli [Mon, 21 Jun 2021 16:50:36 +0000 (19:50 +0300)]
anv: provide dummy vkCmdSetPatchControlPointsEXT
This makes dEQP-VK.api.version_check.entry_points pass and matches how
other drivers are handling this case. We do not support the feature but
still need to provide a dummy entrypoint.
v2: throw error if/when called (Jason)
Fixes:
0d031d1da34 ("anv: toggle on VK_EXT_extended_dynamic_state2")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11503>
Daniel Stone [Mon, 21 Jun 2021 18:44:01 +0000 (19:44 +0100)]
llvmpipe: Add handle export for resource_get_param
mesa/mesa@
2dcc9c7f54ed from mesa/mesa!6639 added a resource_get_param
hook for llvmpipe, which was nice since it gave lavapipe more features.
One of those features was not exporting llvmpipe textures, so those
parts were stubbed out and landed in an assert(0).
This completely broke kms_swrast (llvmpipe+GBM) on non-release builds,
since that definitely does need to export llvmpipe textures.
The query codepath which caused this explosion does fall back to
resource_get_handle() - which is how it worked previously - but not all
callers do this, so just do what all other drivers implementing
resource_get_param() do and open-code the translation.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reported-by: Jonas Ådahl <jadahl@gmail.com>
Tested-by: Jonas Ådahl <jadahl@gmail.com>
Fixes:
2dcc9c7f54ed ("llvmpipe: add resource get param support.")
Ref: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6639
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11504>
Jason Ekstrand [Mon, 21 Jun 2021 15:25:41 +0000 (10:25 -0500)]
docs,isl: Document Sandy Bridge HiZ/stencil
This is annoying and tricky and we don't have all the gory details
written down in one central place anywhere. Add a docs section on it.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11500>
Bas Nieuwenhuizen [Tue, 16 Feb 2021 01:37:40 +0000 (02:37 +0100)]
nir: Add raytracing shader call lowering pass.
Really copying Jason's pass.
Changes:
- Instead of all the intel lowering introduce rt_{execute_callable,trace_ray,resume}
- Add the ability to use scratch intrinsics directly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10339>
Bas Nieuwenhuizen [Tue, 20 Apr 2021 01:45:22 +0000 (03:45 +0200)]
nir: Add lowered vendor independent raytracing intrinsics.
For use in a generic nir_lower_shader_calls.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10339>
Emma Anholt [Thu, 17 Jun 2021 16:50:15 +0000 (09:50 -0700)]
freedreno: Handle full blit discards by invalidating the resource.
The previous implementation had several issues:
- It wasn't checking all the conditions necessary for "this blit updates
the whole surface", like PIPE_MASK_Z but not S on a depth/stencil
buffer.
- It would reset the previous batchbuffer, even if that batch had side
effects on other buffers.
- The layering was painful to follow and made any recursion extra
dangerous.
Now, we use a more conservative test (enough for the resource shadowing
case) and just invalidate the buffer up front, which should have the right
logic for discarding drawing to that resource.
I found I had to add fd_bc_flush_writer() to the end of fd_blitter_blit()
-- a flush was happening at fb state restore time when the discard flag
was set, and losing that flush breaks
dEQP-GLES31.functional.stencil_texturing.format.stencil_index8_cube.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11455>
Emma Anholt [Tue, 15 Jun 2021 18:17:27 +0000 (11:17 -0700)]
freedreno: Move the rsc-based batch flushing to helper functions.
I want to reuse these, and this gives them nice names.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11455>
Emma Anholt [Thu, 17 Jun 2021 16:33:24 +0000 (09:33 -0700)]
gallium/util: Introduce a helper for finding whole-resource blits.
This can be useful for tilers to discard previous rendering to a buffer
instead of reloading before drawing all the pixels.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11455>
Emma Anholt [Wed, 16 Jun 2021 05:29:15 +0000 (22:29 -0700)]
gallium/draw: Garbage collect draw_pt_fetch_emit.
Now that we don't have draw_set_force_passthrough(), this middle end was
inaccessible.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11410>
Emma Anholt [Wed, 16 Jun 2021 05:25:12 +0000 (22:25 -0700)]
gallium/draw: Garbage collect draw_set_force_passthrough
Introduced in
c48da7d78b4e ("draw: add switch for drivers to force vertex
data passthrough") in 2008 and never used.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11410>
Simon Ser [Thu, 17 Jun 2021 08:23:24 +0000 (10:23 +0200)]
docs/envvars: document MESA_VK_WSI_PRESENT_MODE
This env var was introduced in
a182adfd83ad ("wsi: allow to override the
present mode with MESA_VK_WSI_PRESENT_MODE").
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11441>
Simon Ser [Wed, 16 Jun 2021 12:33:57 +0000 (14:33 +0200)]
vulkan/wsi/wayland: simplify wl_surface version check
No need to cast to a wl_proxy, there is a wl_surface variant
available.
No need to cache the result of get_version(), this is just a
one-line getter and doesn't perform any roundtrip.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11420>
Jordan Justen [Mon, 21 Jun 2021 01:10:02 +0000 (18:10 -0700)]
intel/gen125.xml: Drop GPGPU_WALKER
Ref:
f4902bb189c ("intel/genxml,anv,iris: Drop the legacy compute path from gen125.xml")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11489>
Lionel Landwerlin [Fri, 22 Jan 2021 10:38:41 +0000 (12:38 +0200)]
anv: implement VK_EXT_physical_device_drm
v2: add docs
update error messages (Sagar)
v3: Use fstat() (Jason)
v4: Do fstat() on demand (Jason)
v5: clear major/minor values if not present (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8649>
Marek Olšák [Tue, 1 Jun 2021 04:18:51 +0000 (00:18 -0400)]
radeonsi: cleanup some primitive discard CS TODOs regarding instancing, etc.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Tue, 1 Jun 2021 04:35:34 +0000 (00:35 -0400)]
radeonsi: skip buffer_atomic_add(ptr, n) when n=0 in the prim discard CS
This improves performance of the shader nicely.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 31 May 2021 23:21:28 +0000 (19:21 -0400)]
radeonsi: drop support for triangle fans from the prim discard CS
because it doesn't implement triangle fan splitting, so it's incomplete
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 31 May 2021 22:32:52 +0000 (18:32 -0400)]
radeonsi: drop gfx7 support from the prim discard CS to simplify code
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 31 May 2021 00:29:29 +0000 (20:29 -0400)]
radeonsi: remove the Z culling option from the primitive discard CS
Not useful.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 24 May 2021 19:43:54 +0000 (15:43 -0400)]
radeonsi: don't compile TES and GS draw_vbo variants for the prim discard CS
This also fixes the incorrect emit_draw_packets template argument.
The condition should be inverted.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 24 May 2021 23:42:17 +0000 (19:42 -0400)]
radeonsi: try to keep all VS input loads together for better perf
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 24 May 2021 23:14:18 +0000 (19:14 -0400)]
radeonsi: remove incorrect comment about PA
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Mon, 24 May 2021 21:23:56 +0000 (17:23 -0400)]
radeonsi: set more precise max_waves in NGG code
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Tue, 11 May 2021 15:47:10 +0000 (11:47 -0400)]
radeonsi: merge 2 conditional blocks with same condition into 1 in culling code
The block only loads input VGPRs from LDS, and the next block uses them.
The entering condition is the same, even though the second block is
the next shader part beginning with the prolog.
Simply move the VGPR loads into the prolog.
This decreases the shader code size by 12 bytes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Marek Olšák [Tue, 11 May 2021 04:40:39 +0000 (00:40 -0400)]
radeonsi: restructure si_get_vs_vgpr_comp_cnt for readability
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11102>
Rob Clark [Sun, 20 Jun 2021 18:39:03 +0000 (11:39 -0700)]
freedreno: Flush if at risk of overflowing bos table
Fixes overflow crash in tex-miplevel-selection
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4007
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11487>
Rob Clark [Sun, 20 Jun 2021 15:58:42 +0000 (08:58 -0700)]
freedreno/a6xx: Handle fb_read in sysmem path
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11487>
Rob Clark [Sun, 20 Jun 2021 14:47:54 +0000 (07:47 -0700)]
freedreno/ci: Garbage collect some a630 flakes
Haven't seen these, at least since flake reporting switched to OFTC
channel (~1 month ago)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11487>
Matti Hamalainen [Mon, 31 May 2021 12:32:01 +0000 (15:32 +0300)]
gallium/tools: improve handling of pointer arrays
Extend the special handling of return types to also include pointer
type array list elements, so we ignore the initial "name" of the
element until we know a better type for them. This improves the type
"detection" of such pointer array elements when parsing the logs
with dump.py / tracediff.sh
Related to Mesa issue #4609
Signed-off-by: Matti Hamalainen <ccr@tnsp.org>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11492>
Rhys Perry [Fri, 11 Jun 2021 09:51:52 +0000 (10:51 +0100)]
radv: allow VK_FORMAT_R8G8_SRGB sampling
No reason why we can't do this. AMDVLK also allows this.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11317>
Jason Ekstrand [Fri, 18 Jun 2021 13:17:14 +0000 (08:17 -0500)]
nir: Document all the ALU opcodes
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11438>
Jason Ekstrand [Fri, 18 Jun 2021 13:16:18 +0000 (08:16 -0500)]
nir,docs: Add docs for NIR ALU instructions
About half or more of the text here is actually from Connor Abbot. I've
edited it a bit to bring it up-to-date and make a few things more clear.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11438>
Jason Ekstrand [Thu, 17 Jun 2021 15:32:34 +0000 (10:32 -0500)]
nir: Require vectorized ALU ops to be all-or-nothing
Long ago, the semantics of bcsel were such that it took a single boolean
value and selected between whole vectors. These days, it takes a vector
boolean with the assumption that if you want the old behavior you can
just use a .xxxx swizzle. There currently are no opcodes which use a
output_size of 0 but have a scalar or fixed-vector input. Let's
disallow it for now to force us to think through the semantics again if
this ever comes up as something someone actually wants.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11438>
Rhys Perry [Wed, 13 Jan 2021 15:50:52 +0000 (15:50 +0000)]
nir/propagate_invariant: add invariant_prim option
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11035>
Mike Blumenkrantz [Mon, 21 Jun 2021 13:49:18 +0000 (09:49 -0400)]
zink: handle custom border color without matching wrap mode case
this is just default border color and the custom color is ignored
Fixes:
36f4e61403a ("zink: rework border color handling")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11495>
Jason Ekstrand [Mon, 21 Jun 2021 14:05:23 +0000 (09:05 -0500)]
vulkan: Update the XML and headers to 1.2.182
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11497>
Jason Ekstrand [Fri, 18 Jun 2021 14:28:59 +0000 (09:28 -0500)]
nir,vc4: Suffix a bunch of unorm 4x8 opcodes _vc4
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11463>
Jason Ekstrand [Fri, 18 Jun 2021 14:21:07 +0000 (09:21 -0500)]
nir,panfrost: Suffix fsat_signed and fclamp_pos with _mali
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11463>
Jason Ekstrand [Fri, 18 Jun 2021 14:17:01 +0000 (09:17 -0500)]
nir,amd: Suffix nir_op_cube_face_coord/index with _amd
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11463>
Timur Kristóf [Mon, 14 Jun 2021 15:31:33 +0000 (17:31 +0200)]
aco: Fix checking if load_shared is used by cross lane instructions.
This commit fixes two issues with it:
1. Prevent it from going into an infinite loop.
2. Check all uses, not just first use.
Closes: #4916
Fixes:
b4e22eb4822d74a6e981c629ddff9bcd29b9a0ec
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11361>
Andres Gomez [Fri, 26 Mar 2021 22:56:46 +0000 (00:56 +0200)]
ci: use bash with download-git-cache.sh
It's a bash script, so make sure we use bash and not just sh.
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9865>
Bas Nieuwenhuizen [Sat, 19 Jun 2021 23:15:29 +0000 (01:15 +0200)]
util/fossilize_db: Only lock the db file, not the index.
This thing is entirely opt-in wrt caring about it when writing to
a file anyway. Since we also lock the two at the same time and they
have an 1-1 relation we can just lock one of the two files. Saves
some syscalls.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
Bas Nieuwenhuizen [Sat, 19 Jun 2021 23:06:53 +0000 (01:06 +0200)]
util/fossilize_db: Do not lock the fossilize db permanently.
This avoids all locks for reads and using lock only while actually
writing.
This is enabled by doing two things:
1) Reading the index incrementally. This way we get new entries
written by other processes and do not write duplicate entries.
2) Taking the lock only during writes, and applying the incremental
read while holding the lock so we always append to the actual end of the file.
Fixes:
eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
Bas Nieuwenhuizen [Sat, 19 Jun 2021 17:51:09 +0000 (19:51 +0200)]
util/fossilize_db: Split out reading the index.
Fixes:
eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
Bas Nieuwenhuizen [Sat, 19 Jun 2021 16:40:49 +0000 (18:40 +0200)]
util/fossilize_db: Pull seek into lock.
Otherwise the seek can overlap with other reads/writes.
Fixes:
eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
Bas Nieuwenhuizen [Fri, 18 Jun 2021 22:02:52 +0000 (00:02 +0200)]
radv: Add -Wpointer-arith.
Gives earlier indications of MSVC issues.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11478>
Timur Kristóf [Sat, 19 Jun 2021 14:09:38 +0000 (16:09 +0200)]
ac/nir: Update TCS output barriers with nir_var_mem_shared.
Output loads and stores are lowered to shared memory access,
so we have to update the barriers to also reflect this.
Closes: #4955
Fixes:
bf966d1c1dd968116b8b547ca2739f5113caccb5
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11484>
Erik Faye-Lund [Fri, 18 Jun 2021 14:34:42 +0000 (16:34 +0200)]
docs: use rst captions
This is slightly stronger semantically.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11464>
Erik Faye-Lund [Fri, 18 Jun 2021 11:38:31 +0000 (13:38 +0200)]
docs: use more file-roles
This makes the documentation a bit easier to read, and aids
spell-checkers, so let's specify these using file-roles.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11464>
Erik Faye-Lund [Fri, 18 Jun 2021 11:35:31 +0000 (13:35 +0200)]
docs: drop historic meson details
Similar to the last few commits, we require Meson 0.52 now. There's no
point in confusing users with specifying what versions supports what
here, as all supported versions works the same way now.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11464>
Erik Faye-Lund [Fri, 18 Jun 2021 11:32:27 +0000 (13:32 +0200)]
docs: remove outdated clarification
Similar to the previous commit, we now require Meson 0.52 all the time,
so there's no point in singling this out.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11464>
Erik Faye-Lund [Fri, 18 Jun 2021 11:28:48 +0000 (13:28 +0200)]
docs: remove outdated meson-section
We're already requiring Meson 0.52, so there's no point in mentioning
this old work-around.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11464>
Iago Toral Quiroga [Thu, 17 Jun 2021 08:53:02 +0000 (10:53 +0200)]
v3dv: remove const qualifier for resource pointer in view objects
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 08:26:36 +0000 (10:26 +0200)]
v3dv: expose VK_KHR_copy_commands2
Relevant CTS tests:
dEQP-VK.api.copy_and_blit.copy_commands2.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 08:18:14 +0000 (10:18 +0200)]
v3dv: implement vkCmdResolveImage2KHR
The common Vulkan code will call this to implement vkCmdResolveImage.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 08:06:33 +0000 (10:06 +0200)]
v3dv: implement vkCmdCopyImage2KHR
The common Vulkan code will call this to implement vkCmdCopyImage.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 07:58:02 +0000 (09:58 +0200)]
v3dv: implement vkCmdCopyBufferToImage2KHR and vkCmdCopyImageToBuffer2KHR
The common Vulkan code will call this to implement vkCmdCopyImageToBuffer.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 07:46:37 +0000 (09:46 +0200)]
v3dv: implement vkCmdCopyBuffer2KHR
The common Vulkan code will call this to implement vkCmdCopyBuffer.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Iago Toral Quiroga [Thu, 17 Jun 2021 07:30:13 +0000 (09:30 +0200)]
v3dv: implement vkCmdBlitImage2KHR
The common Vulkan code will call this to implement vkCmdBlitImage.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
Yurii Kolesnykov [Wed, 30 Sep 2020 11:35:30 +0000 (14:35 +0300)]
c_std=c11 in meson default_options
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
Co-authored-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6935>
Marek Olšák [Mon, 17 May 2021 14:17:52 +0000 (10:17 -0400)]
ac/surface: don't set DCC_PIPE_ALIGN modifier bit for gfx10 with 1 RB
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Mon, 24 May 2021 18:55:11 +0000 (14:55 -0400)]
ac/surface/tests: fix RB counts
The real number of RBs can be less than what GB_ADDR_CONFIG contains.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Tue, 1 Jun 2021 05:40:37 +0000 (01:40 -0400)]
radeonsi: move the accepting code into the bbox cull branch in NGG cull code
This reduces the number of jumps. No change in behavior.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Tue, 1 Jun 2021 05:09:57 +0000 (01:09 -0400)]
ac/llvm: add a callback to ac_cull_triangle to generate code in inner-most block
This will reduce jumps in culling code.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Mon, 31 May 2021 23:40:49 +0000 (19:40 -0400)]
radeonsi: fix multi draws for the prim discard CS
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Mon, 31 May 2021 23:36:53 +0000 (19:36 -0400)]
radeonsi: fix incorrect counting of compute_num_verts_rejected
Both cases should subtract to undo what is done in the conditional.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Mon, 31 May 2021 00:32:25 +0000 (20:32 -0400)]
radeonsi: use ac_build_bit_count instead of opencoding it
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Marek Olšák [Mon, 24 May 2021 19:44:55 +0000 (15:44 -0400)]
radeonsi: fix compile failures with SI_PRIM_DISCARD_DEBUG enabled
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11486>
Eleni Maria Stea [Thu, 10 Jun 2021 11:09:02 +0000 (14:09 +0300)]
egl: fix in expected type
Function mincore expects a pointer of type char* but we use an unsigned
char* instead generating signedness related warnings.
v2: Made the fix FreeBSD specific because the type is unsigned char* for
Linux and char* for FreeBSD. (Adam Jackson)
v3: We'd rather cast the param to (void*) to avoid warnings in all
systems (Adam Jackson)
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11298>
Jason Ekstrand [Fri, 18 Jun 2021 22:17:17 +0000 (17:17 -0500)]
crocus: Drop extra_aux support
This exists for combined MCS+CCS or HiZ+CCS which was introduced on
Tigerlake. Crocus will never support hardware that has these features
so there's no point carrying the dead copied+pasted code from iris.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11483>
Bas Nieuwenhuizen [Wed, 31 Mar 2021 01:12:55 +0000 (03:12 +0200)]
radv: Enable VK_KHR_acceleration_structure with RADV_PERFTEST=rt.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Fri, 28 May 2021 23:06:59 +0000 (01:06 +0200)]
radv: Add rt perftest flag.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Fri, 9 Apr 2021 00:15:50 +0000 (02:15 +0200)]
radv: Expose formats for acceleration structure.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Mon, 5 Apr 2021 10:03:37 +0000 (12:03 +0200)]
radv: Implement load_vulkan_descriptor for acceleration structures.
It always uses nir_address_format_64bit_global.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Mon, 5 Apr 2021 09:42:37 +0000 (11:42 +0200)]
radv: Convert lower_intrinsics to a switch statement
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Sun, 4 Apr 2021 23:23:43 +0000 (01:23 +0200)]
radv: Add acceleration structure descriptor set support.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Tue, 18 May 2021 11:25:00 +0000 (13:25 +0200)]
radv: Implement device-side BVH building.
Same naive algorithm as the host build.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Mon, 18 Jan 2021 11:11:19 +0000 (12:11 +0100)]
radv: Add initial CPU BVH building.
The algorithm used for the BVH:
1) first create 1 leaf per primitive (triangle/aabb/instance)
2) Then create internal layers from the bottom up until we are left with
1 node in the top layer. Node i in the layer will have children
(i*4+0) ... (i*4+3) in the previous layer.
This results in a very naive algorithm but it is also very simple to implement.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Bas Nieuwenhuizen [Mon, 18 Jan 2021 00:28:35 +0000 (01:28 +0100)]
radv: Use the global BO list for acceleration structures.
We have nested structures so tracking this from the descriptor
set is going to be a mess.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Jason Ekstrand [Mon, 22 Jun 2020 20:13:29 +0000 (15:13 -0500)]
util: Move the 4x4 matrix inverse function to u_math
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078>
Rob Clark [Fri, 18 Jun 2021 19:41:51 +0000 (12:41 -0700)]
freedreno/ci: Increase # of jobs for CI runners
The idea is that the tests will spend *some* time stalling waiting to
read back results from the GPU. So use a # of jobs that is slightly
more than the # of CPUs to keep the CPUs more busy.
Locally this is dropping a bit more than a minute off a parallel
deqp-gles31 run, so turn it on across the board for a6xx.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11477>
Rob Clark [Thu, 17 Jun 2021 20:57:15 +0000 (13:57 -0700)]
freedreno/ci: Start longest traces first
Shave off a bit of runtime on the CI job by starting the longer traces
first.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11477>
Dave Airlie [Fri, 18 Jun 2021 05:15:24 +0000 (15:15 +1000)]
crocus/gen6: fix depth blit blorp regression.
The tesseract fix broke depth blits using blorp as depth blits
on gen6 are done using the color engine. Just disable aux
up front on the destination for this case.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11456>
Emma Anholt [Wed, 16 Jun 2021 16:52:04 +0000 (09:52 -0700)]
freedreno/ir3: Move NIR printing to mesa_log.
Now we can get some NIR debug on Android.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 18:13:54 +0000 (11:13 -0700)]
nir: Add an interface for logging shaders with mesa_log*.
For debug on Android, it's useful to be able to print shaders to the
android log interface, since you don't usually have stdout/stderr.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 18:06:01 +0000 (11:06 -0700)]
freedreno/ir3: Move the native code output to mesa_log as well.
I didn't feel like rewriting ir3_shader_disasm() off of FILE *s, so use
the same trick as the disasm_info path above to write to memory and then
hand the multi-line blob off to mesa_log.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 17:30:19 +0000 (10:30 -0700)]
freedreno/ir3: Use mesa_log_stream() for ir3 disassembly.
This means you can get dumps on android, and output on Linux goes to
stderr. However, this does mean that on Linux the output goes from
looking like:
AFTER: ir3_legalize:
block3276208368 {
0000:0001:002: cov.u32s16 hr2.x, c2.x
0000:0002:002: mov.u32u32 r0.x, c0.x
[...]
to:
MESA: info: AFTER: ir3_legalize:
MESA: info: block3405271904 {
MESA: info: 0000:0001:002: cov.u32s16 hr2.x, c2.x
MESA: info: 0000:0002:002: mov.u32u32 r0.x, c0.x
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 17:20:35 +0000 (10:20 -0700)]
util/log: Add a streaming printf interface.
Often disassemblers and things in our drivers want to be able to
incrementally printf together a line, but that gets in the way of
Android's logging that wants to see a whole line all at once. Make a
little wrapper to do the ralloc_asprintf_rewrite_tail() and flushing lines
as they appear.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 16:49:01 +0000 (09:49 -0700)]
freedreno/ir3: Move the assert output to mesa_loge().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Wed, 16 Jun 2021 16:47:12 +0000 (09:47 -0700)]
freedreno: Move some driver debug printfs to mesa_logd.
This means the logging will work on Android, and won't get mixed up in
application stdout on Linux.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262>
Emma Anholt [Fri, 18 Jun 2021 05:15:52 +0000 (22:15 -0700)]
i915g: Add triangle provoking vertex support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11470>
Eric Engestrom [Fri, 18 Jun 2021 16:42:34 +0000 (17:42 +0100)]
docs: update calendar and link releases notes for 21.1.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11472>
Eric Engestrom [Fri, 18 Jun 2021 16:35:13 +0000 (17:35 +0100)]
docs: add release notes for 21.1.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11472>
Mike Blumenkrantz [Fri, 18 Jun 2021 15:50:36 +0000 (11:50 -0400)]
nine: add zink to the build target
Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11467>
Mike Blumenkrantz [Fri, 18 Jun 2021 16:56:43 +0000 (12:56 -0400)]
nine: only enable tgsi disk cache if the driver supports it
this crashes otherwise
Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11471>
Samuel Pitoiset [Tue, 15 Jun 2021 06:20:24 +0000 (08:20 +0200)]
radv: fix dynamic culling and depth/stencil related dynamic states
To avoid overwriting previous dynamic state with default state from
the pipeline.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4926
Cc: 21.1 mesa-stable
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/11375>
Mike Blumenkrantz [Fri, 18 Jun 2021 13:08:40 +0000 (09:08 -0400)]
radv: move pipe_misaligned and l2_coherent image checks to flags set on init
this should save 4-5% cpu in some cases
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11462>
Boyuan Zhang [Wed, 16 Jun 2021 15:39:16 +0000 (11:39 -0400)]
radeon/vcn: allocate non-tmz context buffer for VCN2+
By design, context buffer should be allocated as TMZ buffer for secure playback
for VCN 1 only. For VCN 2&2+, context buffer should be moved out of TMZ.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11388>
Boyuan Zhang [Mon, 14 Jun 2021 17:35:48 +0000 (13:35 -0400)]
radeon/vcn: move calc_dpb_size into create_decoder
Dpb buffer size calculation should based on the values provided in player's
decoder creation call. db_alignmet should be decided in decoder creation
call as well. Therefore, move db_alignment and dpb buffer size calculation
from rvcn_dec_message_decode to radeon_create_decoder function.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11378>
Jason Ekstrand [Tue, 15 Jun 2021 21:57:25 +0000 (16:57 -0500)]
docs/isl: Add detailed documentation about CCS compression
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11366>