platform/upstream/mesa.git
3 years agozink: ci updates
Mike Blumenkrantz [Wed, 24 Mar 2021 03:27:20 +0000 (23:27 -0400)]
zink: ci updates

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>

3 years agozink: toggle conditional render when beginning/ending a renderpass
Mike Blumenkrantz [Fri, 5 Feb 2021 22:36:44 +0000 (17:36 -0500)]
zink: toggle conditional render when beginning/ending a renderpass

this resumes the same conditional render which was previously active

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>

3 years agozink: only update conditional render buffer when it needs to be updated
Mike Blumenkrantz [Sat, 6 Feb 2021 00:28:35 +0000 (19:28 -0500)]
zink: only update conditional render buffer when it needs to be updated

avoid re-fetching data

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>

3 years agozink: store conditional render predicate to query and split out start/stop
Mike Blumenkrantz [Fri, 5 Feb 2021 22:35:58 +0000 (17:35 -0500)]
zink: store conditional render predicate to query and split out start/stop

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>

3 years agozink: isolate gfx stage bits when updating shader modules
Mike Blumenkrantz [Wed, 24 Mar 2021 11:39:07 +0000 (07:39 -0400)]
zink: isolate gfx stage bits when updating shader modules

ensure that we don't overflow the array here

Fixes: b2247a37247 ("zink: add compute programs and pipelines")

Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9798>

3 years agoanv: use common entrypoints for VK_KHR_create_renderpass2
Samuel Pitoiset [Mon, 15 Mar 2021 14:42:46 +0000 (15:42 +0100)]
anv: use common entrypoints for VK_KHR_create_renderpass2

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>

3 years agolavapipe: use common entrypoints for VK_KHR_create_renderpass2
Samuel Pitoiset [Mon, 15 Mar 2021 14:40:13 +0000 (15:40 +0100)]
lavapipe: use common entrypoints for VK_KHR_create_renderpass2

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>

3 years agoturnip: use common entrypoints for VK_KHR_create_renderpass2
Samuel Pitoiset [Mon, 15 Mar 2021 14:38:07 +0000 (15:38 +0100)]
turnip: use common entrypoints for VK_KHR_create_renderpass2

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>

3 years agoradv: use common entrypoints for VK_KHR_create_renderpass2
Samuel Pitoiset [Mon, 15 Mar 2021 14:33:23 +0000 (15:33 +0100)]
radv: use common entrypoints for VK_KHR_create_renderpass2

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/9601>

3 years agovulkan: add common entrypoints for VK_KHR_create_renderpass2
Samuel Pitoiset [Mon, 15 Mar 2021 14:31:05 +0000 (15:31 +0100)]
vulkan: add common entrypoints for VK_KHR_create_renderpass2

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/9601>

3 years agoci: add expected fail for RADV
Rhys Perry [Tue, 23 Mar 2021 19:08:49 +0000 (19:08 +0000)]
ci: add expected fail for RADV

This fails for me. It looks like it was missed in d8fa93a707e.

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/9778>

3 years agozink: unify gfx and compute batches
Mike Blumenkrantz [Wed, 25 Nov 2020 22:05:58 +0000 (17:05 -0500)]
zink: unify gfx and compute batches

now that batches aren't limited and flushing is less costly, there's no
reason to keep these separate

the primary changes here are removing the zink_queue enum and collapsing
related arrays which used it as an index, e.g., zink_batch_usage into single
members

remaining future work here will include removing synchronization flushes which
are no longer necessary and (eventually) removing batch params from a number of
functions since there is now only ever a single batch

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>

3 years agozink: call clear() instead of reset() for batch states on context destroy
Mike Blumenkrantz [Sun, 8 Nov 2020 18:02:35 +0000 (13:02 -0500)]
zink: call clear() instead of reset() for batch states on context destroy

this avoids (future) issues with desync due to long-lived fences which
may not yet have completed at the time the context is destroyed

upcoming changes will not allow resetting uncompleted batch states, so
this avoids any sort of conflict as such changes are introduced

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>

3 years agozink: add wrapper to reset batch state structs
Mike Blumenkrantz [Sun, 8 Nov 2020 18:01:44 +0000 (13:01 -0500)]
zink: add wrapper to reset batch state structs

this will be useful in the future when we need additional work to handle
resets of states that aren't detected as being "completed"

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>

3 years agoac: Fix emit_split_buffer_store modulus operation.
Vinson Lee [Sat, 20 Mar 2021 19:17:14 +0000 (12:17 -0700)]
ac: Fix emit_split_buffer_store modulus operation.

Fix defect reported by Coverity Scan.

Operands don't affect result (CONSTANT_EXPRESSION_RESULT)
result_independent_of_operands: start_byte % 2 == 2 is always
false regardless of the values of its operands. This occurs as the
logical operand of if.

Fixes: 3185cb7dbf6 ("ac: Add NIR passes to lower ES->GS I/O to memory accesses.")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9730>

3 years agoradv: Allow DCC for images with modifiers that are read-only.
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:19:54 +0000 (04:19 +0100)]
radv: Allow DCC for images with modifiers that are read-only.

If we avoid writing anything or decompressing this should be fine,
and allows gamescope to work without nodcc for radeonsi.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>

3 years agoradv: Ensure we never decompress or FCE read-only textures.
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:08:56 +0000 (04:08 +0100)]
radv: Ensure we never decompress or FCE read-only textures.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>

3 years agoradv: Enable sharing with DCC with modifiers.
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:05:12 +0000 (04:05 +0100)]
radv: Enable sharing with DCC with modifiers.

Also disable any heuristics.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>

3 years agoradv: Allow extra planes for DCC.
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:02:10 +0000 (04:02 +0100)]
radv: Allow extra planes for DCC.

plane_count is only the format plane count.

Fixes: 7f7da82dbb7 ("radv: Add image layout with drm format modifiers.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>

3 years agod3d12: Use ID3D12Device9::CreateCommandQueue1 when available
Jesse Natalie [Tue, 23 Mar 2021 18:00:37 +0000 (11:00 -0700)]
d3d12: Use ID3D12Device9::CreateCommandQueue1 when available

This lets us provide a creator ID, which lets us tag GLOn12 work
and separate it from other D3D12 work on the same singleton device.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3859
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9776>

3 years agofreedreno/a5xx: Switch to using ir3_cache for looking up our VS/FS
Eric Anholt [Thu, 18 Mar 2021 20:25:45 +0000 (13:25 -0700)]
freedreno/a5xx: Switch to using ir3_cache for looking up our VS/FS

Saves the lock/unlock to get the variants for VS/BS/FS programs, gives us
a place we could hang future linked program state, and gives us safe
constlen handling that fixes a couple of our piglits.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>

3 years agofreedreno/a4xx: Switch to using ir3_cache for looking up our VS/FS
Eric Anholt [Thu, 18 Mar 2021 20:25:45 +0000 (13:25 -0700)]
freedreno/a4xx: Switch to using ir3_cache for looking up our VS/FS

Saves the lock/unlock to get the variants for VS/BS/FS programs, and gives
us a place we could hang future linked program state.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>

3 years agofreedreno/a3xx: Switch to using ir3_cache for looking up our VS/FS.
Eric Anholt [Thu, 18 Mar 2021 19:31:34 +0000 (12:31 -0700)]
freedreno/a3xx: Switch to using ir3_cache for looking up our VS/FS.

Saves the lock/unlock to get the variants for VS/BS/FS programs, and gives
us a place we could hang future linked program state.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>

3 years agofreedreno: Move the ir3 linked shader cache to the context.
Eric Anholt [Thu, 18 Mar 2021 19:01:05 +0000 (12:01 -0700)]
freedreno: Move the ir3 linked shader cache to the context.

The other ir3 backends would love to have it to reduce lookups and to be
able to cache linked-program state.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>

3 years agoandroid: vulkan/util: add vk_descriptors.{c,h} to Makefile.sources
Mauro Rossi [Mon, 22 Mar 2021 23:35:58 +0000 (00:35 +0100)]
android: vulkan/util: add vk_descriptors.{c,h} to Makefile.sources

Fixes the following building errors:

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.radv_intermediates/LINKED/vulkan.radv.so
...
ld.lld: error: undefined symbol: vk_create_sorted_bindings
>>> referenced by radv_descriptor_set.c:158 (external/mesa/src/amd/vulkan/radv_descriptor_set.c:158)
...
ld.lld: error: undefined symbol: vk_create_sorted_bindings
>>> referenced by radv_descriptor_set.c:340 (external/mesa/src/amd/vulkan/radv_descriptor_set.c:340)

Fixes: ad241b15a9e5 ("vk: consolidate dynamic descriptor binding sorting")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9766>

3 years agoandroid: r600/sfn: fix sfn_nir_algebraic.c gen rules
Mauro Rossi [Mon, 22 Mar 2021 23:21:24 +0000 (00:21 +0100)]
android: r600/sfn: fix sfn_nir_algebraic.c gen rules

Changelog:
- Correct typo in generator name which is sfn_nir_algebraic.py
- Rename variables for the gen rules according to meson rules
- Align python command and options according to meson rules

Fixes the following building error:

FAILED: ninja: 'external/mesa/src/gallium/drivers/r600/sfn/r600_nir_algebraic.py',
needed by 'out/target/product/x86_64/gen/STATIC_LIBRARIES/libmesa_pipe_r600_intermediates/sfn_nir_algebraic.c',
missing and no known rule to make it

Fixes: 195952786b08 ("r600/sfn: Add algebraic lowering for fsin and fcos")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9766>

3 years agozink: emit all interpolation modes
Erik Faye-Lund [Tue, 23 Mar 2021 16:19:04 +0000 (17:19 +0100)]
zink: emit all interpolation modes

It's not just flat-shading that matters in the case of fragment outputs.
Let's play nicely and emit any interpolation mode instead.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9775>

3 years agozink: factor out interpolation to helper
Erik Faye-Lund [Tue, 23 Mar 2021 16:16:48 +0000 (17:16 +0100)]
zink: factor out interpolation to helper

We actually need to set all of these for fragment inputs as well, so
let's make a helper for this that we can reuse.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9775>

3 years agozink: ci updates
Mike Blumenkrantz [Tue, 23 Mar 2021 17:13:08 +0000 (13:13 -0400)]
zink: ci updates

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: trigger pending clears during flush
Mike Blumenkrantz [Wed, 4 Nov 2020 14:08:14 +0000 (09:08 -0500)]
zink: trigger pending clears during flush

this applies all pending fb clears at the time of flush to handle the scenario
of start -> clear() -> flush() properly

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: refactor clears a little to track a bitfield of enabled clears on the context
Mike Blumenkrantz [Wed, 4 Nov 2020 14:08:14 +0000 (09:08 -0500)]
zink: refactor clears a little to track a bitfield of enabled clears on the context

this makes the state of 'are there clears pending?' more accessible

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: simplify some queue-related query code
Mike Blumenkrantz [Wed, 4 Nov 2020 20:15:01 +0000 (15:15 -0500)]
zink: simplify some queue-related query code

we can collapse these conditionals now that things are more unified

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: always flag xfb barrier on gfx flush when appropriate
Mike Blumenkrantz [Mon, 2 Nov 2020 18:35:54 +0000 (13:35 -0500)]
zink: always flag xfb barrier on gfx flush when appropriate

we need this to be set for internal flushes too

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: move zink_flush_compute() users to zink_flush_queue()
Mike Blumenkrantz [Mon, 2 Nov 2020 18:35:33 +0000 (13:35 -0500)]
zink: move zink_flush_compute() users to zink_flush_queue()

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: rework public batch flush function to be useful again
Mike Blumenkrantz [Mon, 2 Nov 2020 17:23:13 +0000 (12:23 -0500)]
zink: rework public batch flush function to be useful again

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>

3 years agozink: relax unreachable() to debug_printf when waiting on batch
Mike Blumenkrantz [Tue, 23 Mar 2021 13:34:11 +0000 (09:34 -0400)]
zink: relax unreachable() to debug_printf when waiting on batch

I forgot that this was a reachable case pre-tc, but if there's no longer
a record of a batch_id then that just means it completed in the distant
past

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9772>

3 years agowgl: Fix wglCreatePbufferARB pixel format lookup
Jesse Natalie [Mon, 22 Mar 2021 18:19:16 +0000 (11:19 -0700)]
wgl: Fix wglCreatePbufferARB pixel format lookup

All other call sites of stw_pixelformat_get_info pass iPixelFormat as-is,
and stw_pixelformat_get_info also subtracts one internally, so I think
this was just an error.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9760>

3 years agozink: ci updates
Mike Blumenkrantz [Wed, 17 Mar 2021 00:31:25 +0000 (20:31 -0400)]
zink: ci updates

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>

3 years agozink: emulate PIPE_FORMAT_R8G8B8X8_UNORM
Mike Blumenkrantz [Fri, 11 Dec 2020 15:07:38 +0000 (10:07 -0500)]
zink: emulate PIPE_FORMAT_R8G8B8X8_UNORM

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>

3 years agozink: handle blitting of color formats with ignored alpha channels
Mike Blumenkrantz [Sun, 13 Dec 2020 15:25:37 +0000 (10:25 -0500)]
zink: handle blitting of color formats with ignored alpha channels

for e.g., R8G8B8X8 -> R8G8B8A8, we have to force a u_blitter call in order to use
a sampler which ignores alpha, otherwise we end up with broken rendering

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>

3 years agozink: force PIPE_SWIZZLE_1 for X channels in samplerviews
Mike Blumenkrantz [Sun, 13 Dec 2020 15:25:37 +0000 (10:25 -0500)]
zink: force PIPE_SWIZZLE_1 for X channels in samplerviews

this is generic handling for RGBX-type formats

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>

3 years agozink: fix multisampled shader image load/store
Mike Blumenkrantz [Fri, 19 Mar 2021 21:29:42 +0000 (17:29 -0400)]
zink: fix multisampled shader image load/store

I didn't ever have a driver to test on which could handle multisampled shader
images while writing this, but need to actually pass the sample id here

Fixes: 9cd2aff1a34 ("zink: add handling for all basic image ops in ntv")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9724>

3 years agozink: fix spirv image operand ordering
Mike Blumenkrantz [Fri, 19 Mar 2021 22:50:22 +0000 (18:50 -0400)]
zink: fix spirv image operand ordering

image operands are ordered by their operand's spirv value, meaning that
the availability operands need to go last here

Fixes: 882ab6afb77 ("zink: add spirv builder functions for image ops")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9724>

3 years agozink: move batch-tracked resources to fence object
Mike Blumenkrantz [Sun, 21 Mar 2021 14:47:30 +0000 (10:47 -0400)]
zink: move batch-tracked resources to fence object

these are effectively managed by the fence, so it makes sense to store
them there

the set is ralloc-allocated, so explicitly destroying it isn't needed

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>

3 years agozink: always reset batch states when finding a new one
Mike Blumenkrantz [Sun, 21 Mar 2021 14:45:48 +0000 (10:45 -0400)]
zink: always reset batch states when finding a new one

this is a bit safer

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>

3 years agozink: make batch usage unsetting function public
Mike Blumenkrantz [Sun, 21 Mar 2021 14:44:55 +0000 (10:44 -0400)]
zink: make batch usage unsetting function public

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>

3 years agozink: move 'batch_id' and 'is_compute' members to fence
Mike Blumenkrantz [Tue, 3 Nov 2020 17:56:54 +0000 (12:56 -0500)]
zink: move 'batch_id' and 'is_compute' members to fence

prep for future work, no functional changes

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>

3 years agoci: Fix visibility property of LAVA jobs
Tomeu Vizoso [Tue, 23 Mar 2021 08:35:17 +0000 (09:35 +0100)]
ci: Fix visibility property of LAVA jobs

LAVA expects a different syntax for this property:

https://docs.lavasoftware.org/lava/glossary.html#term-visibility

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes: 84f91dfea517 ("CI: Change LAVA job visibility")
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>

3 years agoRevert "CI: Disable Panfrost T760"
Tomeu Vizoso [Tue, 23 Mar 2021 08:33:32 +0000 (09:33 +0100)]
Revert "CI: Disable Panfrost T760"

The machines should be stable now.

This reverts commit fc2814417e9961883feb079e0eef3d4d1705d2d6.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>

3 years agoRevert "ci/panfrost: Disable t860/radeonsi testing while the runners are struggling."
Tomeu Vizoso [Tue, 23 Mar 2021 08:19:24 +0000 (09:19 +0100)]
Revert "ci/panfrost: Disable t860/radeonsi testing while the runners are struggling."

Infrastructure should be more stable now.

This reverts commit 0a1c533c6e5ede82f33ac269fcb6bba8e0777262.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>

3 years agoRevert "ci/panfrost: disable the rest of these jobs temporarily"
Tomeu Vizoso [Tue, 23 Mar 2021 08:19:09 +0000 (09:19 +0100)]
Revert "ci/panfrost: disable the rest of these jobs temporarily"

Infrastructure should be more stable now.

This reverts commit 806c612131f23255ad8235c90ba9845c1b235b11.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>

3 years agosoftpipe: ci updates
Mike Blumenkrantz [Tue, 23 Mar 2021 13:46:13 +0000 (09:46 -0400)]
softpipe: ci updates

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>

3 years agost/glsl_to_nir: lower indirect derefs of builtins in non-packed uniform case
Mike Blumenkrantz [Sun, 21 Mar 2021 18:07:26 +0000 (14:07 -0400)]
st/glsl_to_nir: lower indirect derefs of builtins in non-packed uniform case

the builtin lowering can't handle dynamic array indexing, so this requires
that all indirect derefs be lowered any time this pass is invoked in order
to avoid crashing

fixes #4132

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>

3 years agonir: add nir_lower_indirect_builtin_uniform_derefs()
Mike Blumenkrantz [Mon, 22 Mar 2021 17:41:12 +0000 (13:41 -0400)]
nir: add nir_lower_indirect_builtin_uniform_derefs()

this is a special version of indirect deref lowering which is used by
mesa/st to remove dynamic indexing from builtin uniforms for the lowering
pass in non-packed uniform case

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>

3 years agozink: unify clear color conversion code
Mike Blumenkrantz [Thu, 18 Mar 2021 19:42:43 +0000 (15:42 -0400)]
zink: unify clear color conversion code

at some point this will get fixed to work for format conversions

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9712>

3 years agozink: cache transfer maps
Mike Blumenkrantz [Tue, 3 Nov 2020 19:28:17 +0000 (14:28 -0500)]
zink: cache transfer maps

vk spec disallows mapping memory regions more than once, but we always
map the full memory range, so we can just refcount and store the pointer
onto the resource object for reuse to avoid issues here

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9725>

3 years agozink: break out buffer mapping part of zink_transfer_map
Mike Blumenkrantz [Thu, 5 Nov 2020 15:54:37 +0000 (10:54 -0500)]
zink: break out buffer mapping part of zink_transfer_map

no functional changes, but this is going to get much more complex in
the near future

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9725>

3 years agoci: update xfails for ppc64le and s390x
Mike Blumenkrantz [Tue, 23 Mar 2021 13:49:32 +0000 (09:49 -0400)]
ci: update xfails for ppc64le and s390x

tests are passing now

Acked-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9773>

3 years agoci: update list of expected CTS failures for RADV
Samuel Pitoiset [Thu, 18 Mar 2021 11:50:37 +0000 (12:50 +0100)]
ci: update list of expected CTS failures for RADV

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/9756>

3 years agogitlab-ci: Build meson-mingw32-x86_64 w/o zlib.
Jose Fonseca [Sat, 20 Mar 2021 10:41:25 +0000 (10:41 +0000)]
gitlab-ci: Build meson-mingw32-x86_64 w/o zlib.

To prevent hard requirement of zlib from creeping in, as
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9689

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9727>

3 years agoandroid: anv: add libcutils shared dependency
Mauro Rossi [Sun, 21 Mar 2021 19:48:22 +0000 (20:48 +0100)]
android: anv: add libcutils shared dependency

My previous patch merged as 2b1930a50a0b was incomplete

Fixes the following building error:

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.anv_intermediates/LINKED/vulkan.anv.so
...
ld.lld: error: undefined symbol: property_get
>>> referenced by os_misc.c:193 (external/mesa/src/util/os_misc.c:193)
>>>               os_misc.o:(os_get_option) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_util_intermediates/libmesa_util.a

Cc: 21.0 <mesa-stable@lists.freedesktop.org>
Fixes: eeecc21d935c ("util: Add property_get() fallback for android")
Fixes: 2b1930a50a0b ("android: radv: add libcutils shared dependency")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9744>

3 years agofreedreno: Split out devicetree helpers
Rob Clark [Thu, 18 Mar 2021 20:51:40 +0000 (13:51 -0700)]
freedreno: Split out devicetree helpers

The freedreno pps datasource is going to need the same, so split out
helpers that can be re-used.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9758>

3 years agofreedreno/fdperf: Use os_read_file()
Rob Clark [Thu, 18 Mar 2021 16:51:02 +0000 (09:51 -0700)]
freedreno/fdperf: Use os_read_file()

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9758>

3 years agofreedreno: Make headers C++ happy
Rob Clark [Wed, 17 Mar 2021 20:28:21 +0000 (13:28 -0700)]
freedreno: Make headers C++ happy

We'll need a few of these for the C++ based gfx-pps performance counter
collector datasource.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9758>

3 years agofreedreno/a6xx: Disable sample averaging on depth/stencil resolves.
Eric Anholt [Wed, 17 Mar 2021 16:45:07 +0000 (09:45 -0700)]
freedreno/a6xx: Disable sample averaging on depth/stencil resolves.

From the GLES 3.2 spec:

"If the source formats are integer types or stencil values, a single
sample’s value is selected for each pixel. If the source formats are
floating-point or normalized types, the sample values for each pixel are
resolved in an implementation-dependent manner. If the source formats are
depth values, sample values are resolved in an implementation-dependent
manner where the result will be between the minimum and maximum depth
values in the pixel."

For Z24S8 we were doing an average, which would be invalid for the stencil
data, and apparently the CTS didn't catch that.  For Z32F, our averaging
was technically legal, but given the Vulkan spec's requirement of sample 0
support but not sample average support for depth and stencil resolves, it
suggests that our averaging behavior was unusual.  Let's not spend power
on producing surprising results.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9661>

3 years agofreedreno/a6xx: Rename the RB_BLIT_INFO.INTEGER field to SAMPLE_0.
Eric Anholt [Wed, 17 Mar 2021 16:43:58 +0000 (09:43 -0700)]
freedreno/a6xx: Rename the RB_BLIT_INFO.INTEGER field to SAMPLE_0.

As @samuelig found, this is the field for disabling sample averaging and
using sample 0 instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9661>

3 years agoiris: Delete stale comment in iris_lost_context_state
Kenneth Graunke [Mon, 22 Mar 2021 14:05:20 +0000 (07:05 -0700)]
iris: Delete stale comment in iris_lost_context_state

Hasn't been necessary since b338bb70e0df3839718315140f217d173cc6d460.
Caught by Dave Airlie.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9752>

3 years ago.mailmap: fix email for Daniel Schürmann
Daniel Schürmann [Mon, 22 Mar 2021 16:16:52 +0000 (16:16 +0000)]
.mailmap: fix email for Daniel Schürmann

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9755>

3 years agoturnip: expose several already implemented extensions
Danylo Piliaiev [Mon, 22 Mar 2021 14:36:30 +0000 (16:36 +0200)]
turnip: expose several already implemented extensions

They were promoted to Vulkan 1.1 and we already support them.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9757>

3 years agofreedreno/computerator: Add script for finding reg file size
Connor Abbott [Wed, 10 Mar 2021 17:10:51 +0000 (18:10 +0100)]
freedreno/computerator: Add script for finding reg file size

This helps with finding the various parameters introduced in the last
commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agofreedreno: Report max_waves in shaderdb output
Connor Abbott [Wed, 10 Mar 2021 12:43:14 +0000 (13:43 +0100)]
freedreno: Report max_waves in shaderdb output

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agofreedreno/computerator: Use threadsize calculated by ir3
Connor Abbott [Wed, 10 Mar 2021 14:30:19 +0000 (15:30 +0100)]
freedreno/computerator: Use threadsize calculated by ir3

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agofreedreno: Use threadsize calculated by ir3
Connor Abbott [Wed, 10 Mar 2021 12:42:47 +0000 (13:42 +0100)]
freedreno: Use threadsize calculated by ir3

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agoturnip: Use threadsize calculated by ir3
Connor Abbott [Wed, 10 Mar 2021 12:26:58 +0000 (13:26 +0100)]
turnip: Use threadsize calculated by ir3

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agoir3: Calcuate max_waves and threadsize
Connor Abbott [Wed, 10 Mar 2021 12:03:16 +0000 (13:03 +0100)]
ir3: Calcuate max_waves and threadsize

max_waves is just for shader-db stats for now, but threadsize will
replace the various mechanisms used to determine threadsize across the
different gen's. Calculating these correctly entails adding a bunch of
details about the sizes of various things to ir3. In the future we will
use the guts of the max_waves calculation to inform RA decisions as
well, which is why the max_waves calculation is broken up into register
dependent/independent pieces.

Something should be said about the units of reg_size_vec4. These units
were chosen for two reasons:

1. As said in the comment, it makes some calculations easier.
2. For a4xx/a5xx, where we don't know as much because we haven't done
   the same sorts of experiments to probe for the HW configuration, it
   corresponds more directly to things that are known. The existing code
   switches to the smaller threadsize when r24.x or higher is used,
   which translates directly to a reg_size_vec4 of 48. If we chose
   different units (e.g. multiplying by wave_granularity and/or
   threadsize_base), then to match the same behavior we'd have to set
   reg_size_vec4 based on some other parameters that aren't 100% known.
   If someone comes along and updates them, they might inadvertantly
   break it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agofreedreno: Add local_size to ir3_shader_variant
Connor Abbott [Wed, 10 Mar 2021 14:01:33 +0000 (15:01 +0100)]
freedreno: Add local_size to ir3_shader_variant

We want to use the local_size when available to calculate the threadsize
in ir3, and we need it to work with e.g. computerator where we don't
have a nir shader. Add a local_size field and use that in computerator
instead of of a separate structure that's inaccessable to core ir3.

Also set a dummy local_size in the tests to avoid a divide-by-zero.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9498>

3 years agov3dv: Add support for the on-disk shader cache
Alejandro Piñeiro [Thu, 18 Mar 2021 21:56:50 +0000 (22:56 +0100)]
v3dv: Add support for the on-disk shader cache

Quoting Jason's commit message (afa8f5892), that also applies here:

"The Vulkan API provides a mechanism for applications to cache their
own shaders and manage on-disk pipeline caching themselves.
Generally, this is what I would recommend to application developers
and I've resisted implementing driver-side transparent caching in the
Vulkan driver for a long time.  However, not all applications do this
and, for some use-cases, it's just not practical."

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/device: avoid unused-result warning with asprintf
Alejandro Piñeiro [Thu, 18 Mar 2021 22:13:43 +0000 (23:13 +0100)]
v3dv/device: avoid unused-result warning with asprintf

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: compute sha1 for no-op fragment shaders correctly
Alejandro Piñeiro [Tue, 16 Mar 2021 11:11:28 +0000 (12:11 +0100)]
v3dv/pipeline: compute sha1 for no-op fragment shaders correctly

We should use the nir shader, as with internal vkShaderModule, instead
of just the name.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: don't create a variant if compilation failed
Alejandro Piñeiro [Mon, 15 Mar 2021 23:19:01 +0000 (00:19 +0100)]
v3dv/pipeline: don't create a variant if compilation failed

Also return the proper Vulkan result for this case, that is somewhat
tricky. Technically Create[Graphics/Compute]Pipeline only allow OOM
errors. So for this case, there is only the alternative of the generic
VK_ERROR_UNKNOWN, even if we known the cause of the error. From spec:

 "VK_ERROR_UNKNOWN will be returned by an implementation when an
  unexpected error occurs that cannot be attributed to valid behavior
  of the application and implementation. Under these conditions, it
  may be returned from any command returning a VkResult"

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: try to get the shader variant directly from the cache
Alejandro Piñeiro [Sat, 27 Feb 2021 00:05:54 +0000 (01:05 +0100)]
v3dv/pipeline: try to get the shader variant directly from the cache

Until now we were always doing a two-step cache lookup, as we were
using the NIR shaders to fill up the key to lookup for the compiled
shaders. But since we were already generating the sha1 key with the
original SPIR-V shader (or its internal NIR representation) any info
we were collecting from from NIR is already implicit in the original
shader, so we can avoid using the NIR in most cases.

Because the v3d_key that is used to compile a shader is populated with
data coming directly from the NIR shader or produced during NIR
lowerings, we can't use it directly as part of the pipeline cache
entry. We could split them, but that would be confusing, so we add a
new struct, v3dv_pipeline_key used specifically to search for the
compiled shaders on the pipeline cache. v3d_key would be still used to
compile the shaders.

As we are using the same sha1 key for all compiled shaders in a
pipeline, we can also group all of them in the same cache entry, so we
don't need a lookup for each stage. This also allows to cache pipeline
data shared by all the stages (like the descriptor maps).

While we are here, we also create a single BO to store the assembly
for all the pipeline stages.

Finally, we remove the link to the variant on the pipeline stage
struct, to avoid the confusion of having two links to the same
data. This mostly means that we stop to use the pipeline stage
structures after the pipeline is created, so we can freed them.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: use broadcom_shader_stage as pipeline/variant stage type
Alejandro Piñeiro [Mon, 15 Mar 2021 21:27:43 +0000 (22:27 +0100)]
v3dv/pipeline: use broadcom_shader_stage as pipeline/variant stage type

So we could avoid using gl_shader_stage plus a is_coord boolean, that
only applies to VERTEX.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv: define broadcom shader stages
Alejandro Piñeiro [Mon, 8 Mar 2021 00:13:46 +0000 (01:13 +0100)]
v3dv: define broadcom shader stages

Mostly the same that main mesa gl_shader_stage, but including the
coordinate shader. This would allow to loop over all the available
stages (for example if we need to free them, compute the max spill
size, etc).

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: remove v3d_key from shader_variant and pipeline stage
Alejandro Piñeiro [Mon, 15 Mar 2021 21:04:31 +0000 (22:04 +0100)]
v3dv/pipeline: remove v3d_key from shader_variant and pipeline stage

We stopped to re-use them after pippeline creation long ago, so let's
reduce the size of both structs, and avoid serialize/deserialize for
the variant case.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: remove compiled_variant_count field
Alejandro Piñeiro [Mon, 15 Mar 2021 20:55:23 +0000 (21:55 +0100)]
v3dv/pipeline: remove compiled_variant_count field

We are not really compiling several variants, or at least not on the
same pipeline.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: move topology to pipeline
Alejandro Piñeiro [Wed, 10 Mar 2021 13:23:33 +0000 (14:23 +0100)]
v3dv/pipeline: move topology to pipeline

So now we only store it once per pipeline, instead of once per
pipeline stage.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: use driver_location_map instead of nir utilities
Alejandro Piñeiro [Tue, 2 Mar 2021 21:14:07 +0000 (22:14 +0100)]
v3dv/pipeline: use driver_location_map instead of nir utilities

If we were able to get a shader variant from the pipeline cache, we
will not have the nir shader available.

Note that this is what we were doing on the driver before the nir io
helpers were available.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agobroadcom/compiler: add driver_location_map at vs prog data
Alejandro Piñeiro [Thu, 30 Jul 2020 23:09:03 +0000 (01:09 +0200)]
broadcom/compiler: add driver_location_map at vs prog data

This maps the nir shader data.location to its final
data.driver_location. In general we are using the driver location as
index (like vattr_sizes on the same struct), so having this map is
useful if what we have is the data.location, and we don't have
available the original nir shader.

v2: use memset instead of for loop, and nir_foreach_shader_in_variable
    instead of nir_foreach_variable_with_modes (Iago)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agobroadcom/compiler: add local_size in v3d_compute_prog_data
Alejandro Piñeiro [Fri, 26 Feb 2021 23:35:54 +0000 (00:35 +0100)]
broadcom/compiler: add local_size in v3d_compute_prog_data

As we plan to try to get directly the compiled variant from the cache,
it would be possible to not have available the nir shaders, so we add
this info on prog data.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: remove pipeline->use_push_constants
Alejandro Piñeiro [Fri, 26 Feb 2021 23:46:39 +0000 (00:46 +0100)]
v3dv/pipeline: remove pipeline->use_push_constants

In the past we used this boolean for several things, it is really
superfluous right now.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline: remove pregenerate_variant
Alejandro Piñeiro [Thu, 25 Feb 2021 22:36:28 +0000 (23:36 +0100)]
v3dv/pipeline: remove pregenerate_variant

Right now we were not pre-generating several variants, but we decided
to let this method, just in case we need that idea back. This ended
being a bad idea. Several months have passed without that need, so
having that method just adds confusion. Also, if we need to add a
multiple-variant in the future, perhaps we would need to do it
different, so let's not template in advance.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agov3dv/pipeline_cache: add more details when dumping debug info
Alejandro Piñeiro [Tue, 23 Feb 2021 21:13:46 +0000 (22:13 +0100)]
v3dv/pipeline_cache: add more details when dumping debug info

We tweak a little some of the individual messages, and add a new
option to dump the stats when the pipeline destroy.

As we are here we also we also tweak the names of the global options
to make it more clear.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9403>

3 years agovk: consolidate dynamic descriptor binding sorting
Mike Blumenkrantz [Tue, 9 Mar 2021 18:49:00 +0000 (13:49 -0500)]
vk: consolidate dynamic descriptor binding sorting

this code was duplicated across several drivers

Reviewed-by: Adam Jackson <ajax@redhat.com>
turnip changes Reviewed-by: Hyunjun Ko <zzoon@igalia.com>

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9480>

3 years agodocs: Add calendar entries for 21.1 release candidates.
Dylan Baker [Fri, 19 Mar 2021 20:01:56 +0000 (13:01 -0700)]
docs: Add calendar entries for 21.1 release candidates.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9605>

3 years agodocs: Extend calendar entries for 21.0 by 1 releases.
Dylan Baker [Fri, 19 Mar 2021 20:01:38 +0000 (13:01 -0700)]
docs: Extend calendar entries for 21.0 by 1 releases.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9605>

3 years agodocs: missing lvp win32surface ext in features.txt
Michel Zou [Wed, 17 Mar 2021 20:57:56 +0000 (21:57 +0100)]
docs: missing lvp win32surface ext in features.txt

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9702>

3 years agonvc0: fix reported driver queries for Pascal and later GPUs
Ilia Mirkin [Sun, 21 Mar 2021 08:06:09 +0000 (04:06 -0400)]
nvc0: fix reported driver queries for Pascal and later GPUs

We haven't added the sm/metric info post-GM200. So make sure we don't
report available queries there. Additionally, fix the group retrieval to
take into account that either driver stats or SM stats may not be
available.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9740>

3 years agonvc0: ensure sufficient push space for indirect data
Ilia Mirkin [Sun, 21 Mar 2021 08:05:06 +0000 (04:05 -0400)]
nvc0: ensure sufficient push space for indirect data

There may be up to 3 pushbuf data's submitted in this function, make
sure that we allocate enough room for these.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9740>

3 years agonv50: add appropriate space check before adding new pushbuffer
Ilia Mirkin [Sun, 21 Mar 2021 08:03:54 +0000 (04:03 -0400)]
nv50: add appropriate space check before adding new pushbuffer

nouveau_pushbuf_data does not check that there are available pushes in
the current batch. So add a space check for this. Avoids crashes with
the HUD and glxspheres.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9740>

3 years agonv50,nvc0: remove explicit target argument from view creation
Ilia Mirkin [Sun, 21 Mar 2021 17:41:03 +0000 (13:41 -0400)]
nv50,nvc0: remove explicit target argument from view creation

Before texture views were supported, this was needed in some cases.
However with texture views (added eons ago), there is now a target
attribute in the template. Use it and remove the explicit argument.

Should help prevent bugs with inconsistencies between the stored
template target and the one that's used to create the view.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9740>