platform/upstream/mesa.git
2 years agopan/decode: Reorder MFBD decoding
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:55:17 +0000 (18:55 +0000)]
pan/decode: Reorder MFBD decoding

Eliminate some #ifdef by grouping v5 and v6 state separately.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agopan/decode: Simplify pandecode_fbd
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:54:20 +0000 (18:54 +0000)]
pan/decode: Simplify pandecode_fbd

Remove unsued width/height properties, and use cleaner C syntax to build the
return value.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agopan/decode: Stop passing suffixes around
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:49:04 +0000 (18:49 +0000)]
pan/decode: Stop passing suffixes around

Unused.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agopan/decode: Stop passing job index around
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:45:28 +0000 (18:45 +0000)]
pan/decode: Stop passing job index around

There are a lot of problems with passing job_index around:

* Almost entirely unused
* Not particularly helpful even when used
* Mostly ignored for Valhall already
* Doesn't extend to CSF

It only really exists due to the early days of pandecode generating valid C code
as the trace format. With GenXML instead, that's not applicable.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agopan/decode: Remove pandecode_msg
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:38:56 +0000 (18:38 +0000)]
pan/decode: Remove pandecode_msg

It hasn't had a consistent semantic meaning since we've switched decoding over
to GenXML.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agopan/decode: Don't pass around memory handles
Alyssa Rosenzweig [Mon, 15 Aug 2022 18:35:45 +0000 (18:35 +0000)]
pan/decode: Don't pass around memory handles

The hardware doesn't care what BO a given buffer resides in, only what GPU
address it's at. It's simpler to fetch from a GPU address, rather than the pair
of a GPU address and a backing allocation. This cleans up a lot of cruft in
pandecode.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094>

2 years agotu: Implement VK_EXT_non_seamless_cube_map
Mark Collins [Wed, 17 Aug 2022 07:32:38 +0000 (13:02 +0530)]
tu: Implement VK_EXT_non_seamless_cube_map

Passes CTS tests: dEQP-VK.texture.*non_seamless_*

Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18079>

2 years agoradv/winsys: Return VK_ERROR_INVALID_EXTERNAL_HANDLE if buffer imports fail
Friedrich Vock [Wed, 10 Aug 2022 19:22:43 +0000 (21:22 +0200)]
radv/winsys: Return VK_ERROR_INVALID_EXTERNAL_HANDLE if buffer imports fail

Section 11.2.6 of the Vulkan spec states:
"Importing memory from a particular host pointer may not be possible due to
 additional platform-specific restrictions beyond the scope of this
 specification in which case the implementation must fail the memory
 import operation with the error code VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR."

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

2 years agoradeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot
Pierre-Eric Pelloux-Prayer [Wed, 10 Aug 2022 10:31:35 +0000 (12:31 +0200)]
radeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot

When u_blitter calls util_blitter_restore_fragment_states we may
end up in si_update_ps_colorbuf0_slot.
This commit makes sure we don't call u_blitter from there.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6921
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17981>

2 years agoradv: add a very initial implementation of VK_EXT_graphics_pipeline_library
Samuel Pitoiset [Tue, 29 Mar 2022 12:30:59 +0000 (14:30 +0200)]
radv: add a very initial implementation of VK_EXT_graphics_pipeline_library

This experimental and very suboptimal implementation of graphics
pipeline library shouldn't be used by anyone, except for development
purposes. It's still under active development from my side. This
extension is only exposed via RADV_PERFTEST=gpl anyways.

It's very suboptimal because RADV doesn't yet support PS epilogs and
VS prologs need to be improved/reworked because GPL changed the logic
(eg. can't know the next stage when compiling a prolog). So, currently
the driver ALWAYS retains NIR shaders during libs creation and it links
and compiles in the final pipeline.

I have WIP branches for approximately everything but it looks simpler
to start merging an initial implementation in order to improve steps
by steps from main. This commit might look simple and short but I
already merged TON of preliminary work. RADV was definitely not ready
for GPL and it's still not completely fine. Expect refactoring again.

This implementation currently pass
dEQP-VK.pipeline.pipeline_library.* on NAVI21, except few feedback
creation tests due to CTS bugs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agoradv: prevent accessing rasterization state when it's NULL
Samuel Pitoiset [Fri, 12 Aug 2022 11:48:06 +0000 (13:48 +0200)]
radv: prevent accessing rasterization state when it's NULL

It might be NULL for gfx pipeline libs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agoradv: store vk_graphics_pipeline_state to radv_graphics_pipeline
Samuel Pitoiset [Tue, 16 Aug 2022 08:53:06 +0000 (10:53 +0200)]
radv: store vk_graphics_pipeline_state to radv_graphics_pipeline

For gfx pipeline libraries we would have to keep track of the gfx
state, so change how it's allocated.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agoradv: introduce a new pipeline type for graphics libs
Samuel Pitoiset [Wed, 1 Jun 2022 07:59:14 +0000 (09:59 +0200)]
radv: introduce a new pipeline type for graphics libs

It currently inherits from radv_graphics_pipeline because it's simpler
but I think it could be improved because most of fields won't be useful
for libs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agoradv: add radv_graphics_pipeline_import_info() helper
Samuel Pitoiset [Wed, 1 Jun 2022 08:05:06 +0000 (10:05 +0200)]
radv: add radv_graphics_pipeline_import_info() helper

It also initializes dynamic states and active stages. It will also be
used when creating a graphics pipeline library.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agoradv: remove unused pCreateInfo from radv_pipeline_init_blend_state()
Samuel Pitoiset [Thu, 14 Jul 2022 12:26:53 +0000 (14:26 +0200)]
radv: remove unused pCreateInfo from radv_pipeline_init_blend_state()

I missed this one last time.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542>

2 years agotu: Disable LRZ write when alpha-to-coverage is enabled
Danylo Piliaiev [Tue, 16 Aug 2022 13:45:39 +0000 (16:45 +0300)]
tu: Disable LRZ write when alpha-to-coverage is enabled

Alpha-to-coverage acts like discard and happens after FS ends,
so like with discard LRZ write should be disabled.
With discard we don't know at the moment of binning whether
fragment would be not discarded, so we cannot write its depth to LRZ.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6876

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

2 years agointel/tools: Also look for 'batch' tag
Matt Turner [Tue, 16 Aug 2022 15:20:21 +0000 (11:20 -0400)]
intel/tools: Also look for 'batch' tag

This changed in the kernel at some point, but I'm not sure when.

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

2 years agotu: remove tu_syncobj_to_fd
Yusuf Khan [Sat, 6 Aug 2022 18:32:36 +0000 (14:32 -0400)]
tu: remove tu_syncobj_to_fd

It isnt used anymore, last used in tu_wsi_display.c which doesnt
exist anymore.

Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17927>

2 years agoiris: Clean up iris_sample_with_depth_aux()
Kenneth Graunke [Tue, 16 Aug 2022 01:41:25 +0000 (18:41 -0700)]
iris: Clean up iris_sample_with_depth_aux()

The majority of the logic here was for the Gfx8-9 sample-from-hiz
hardware feature, which only applies to AUX_USAGE_HIZ, and neither
of the combined HiZ+CCS modes.  So, reorganize the function to put
the logic for each case in the case itself.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674>

2 years agoiris: Always retain ISL_AUX_USAGE_HIZ_CCS_WT in texture aux usage
Kenneth Graunke [Tue, 10 Nov 2020 23:48:10 +0000 (15:48 -0800)]
iris: Always retain ISL_AUX_USAGE_HIZ_CCS_WT in texture aux usage

When using HIZ_CCS_WT, we always want to use that for texturing so that
we're able to sample from the CCS buffer, which will have the latest
data due to the write-through mode.

With the previous commit in place, HiZ now exists for all miplevels
on platforms which support HIZ_CCS_WT, so we no longer need the
per-miplevel checks.

The other restrictions in this function only apply to the Gfx8-9 feature
where the sampler directly supported reading from HiZ itself, which was
removed.  Hardware where HiZ and CCS can be used together doesn't have
that feature nor its restrictions.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4952
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674>

2 years agoiris: Enable HiZ for non-8x4 aligned miplevels on Icelake and later
Kenneth Graunke [Tue, 16 Aug 2022 01:13:41 +0000 (18:13 -0700)]
iris: Enable HiZ for non-8x4 aligned miplevels on Icelake and later

8x4 alignment was absolutely required prior to Gfx8, and while some
things were relaxed on Gfx8-9, Nanley's experiments in issue #3788
indicated that there were still issues on those platforms.

It appears that the restrictions were relaxed on Icelake and
non-8x4 aligned HiZ "should" work on Gfx11+.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674>

2 years agoiris: Pass devinfo to iris_resource_level_has_hiz()
Kenneth Graunke [Tue, 16 Aug 2022 01:12:54 +0000 (18:12 -0700)]
iris: Pass devinfo to iris_resource_level_has_hiz()

This will let us enforce 8x4 alignment rules differently based on the
specific hardware generation in question.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674>

2 years agoir3: Suppress disasm of internal shaders unless IR3_SHADER_DEBUG=internal.
Emma Anholt [Tue, 9 Aug 2022 17:58:35 +0000 (10:58 -0700)]
ir3: Suppress disasm of internal shaders unless IR3_SHADER_DEBUG=internal.

When you're debugging some deqp test or app, it's irritating to page
through 8 MRT clear shaders in turnip to get to what you're looking for.
Use the info.internal flag to suppress those shaders.  (but if you want to
IR3_SHADER_DEBUG=internal, then yeah, print them all).

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

2 years agonir_to_tgsi_info: drop const_buffers_declared
Dave Airlie [Sat, 13 Aug 2022 01:15:45 +0000 (11:15 +1000)]
nir_to_tgsi_info: drop const_buffers_declared

Drivers don't use this, so avoid the assert it could have.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18042>

2 years agoamd/common: Remove redundant code for determining memory ops per clock
Friedrich Vock [Fri, 12 Aug 2022 17:19:47 +0000 (19:19 +0200)]
amd/common: Remove redundant code for determining memory ops per clock

Fixes: 82fd379d9ef ("amd/common: move ac_memory_ops_per_clock into ac_gpu_info.h")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18038>

2 years agoradeonsi/vcn: add decode support for gfx1101 and gfx1103
Sonny Jiang [Tue, 9 Aug 2022 16:12:35 +0000 (12:12 -0400)]
radeonsi/vcn: add decode support for gfx1101 and gfx1103

Add decode support for gfx1101 and gfx1103

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18063>

2 years agoanv: Free vmas in case device creation fails in pthread_mutex_init(&device->mutex
José Roberto de Souza [Mon, 15 Aug 2022 15:45:26 +0000 (08:45 -0700)]
anv: Free vmas in case device creation fails in pthread_mutex_init(&device->mutex

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961>

2 years agoanv: Remove anv_app_info
José Roberto de Souza [Wed, 27 Jul 2022 13:52:06 +0000 (06:52 -0700)]
anv: Remove anv_app_info

Dead-code not used anywhere.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961>

2 years agoanv: Remove duplicated memset() in physical device creation
José Roberto de Souza [Mon, 8 Aug 2022 19:17:25 +0000 (12:17 -0700)]
anv: Remove duplicated memset() in physical device creation

device is allocated with vk_zalloc() that zeroes the allocated memory.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961>

2 years agointel: Simply intel_gem_create_context_engines()
José Roberto de Souza [Mon, 8 Aug 2022 17:48:01 +0000 (10:48 -0700)]
intel: Simply intel_gem_create_context_engines()

We can use I915_DEFINE_CONTEXT_PARAM_ENGINES() to simply the filling
of engines_param.

As some compilers might not support VLA, defining struct with 64
engines, the maximum that i915 API supports.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961>

2 years agozink: rework descriptor pool overflow
Mike Blumenkrantz [Fri, 5 Aug 2022 16:04:29 +0000 (12:04 -0400)]
zink: rework descriptor pool overflow

previously this would just destroy and recreate pools, but it's much
smarter to instead store the pools and just reuse them when needed

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

2 years agozink: use a single allocation for zink_descriptor_layout_key
Mike Blumenkrantz [Thu, 4 Aug 2022 17:27:38 +0000 (13:27 -0400)]
zink: use a single allocation for zink_descriptor_layout_key

this is slightly more smart

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

2 years agozink: use a dynarray instead of hash table for tracking pools
Mike Blumenkrantz [Thu, 4 Aug 2022 17:16:16 +0000 (13:16 -0400)]
zink: use a dynarray instead of hash table for tracking pools

this may use a little more memory, but having direct access to the pool
without needing a lookup in a (potentially big) hash table is definitely
worth it

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

2 years agozink: add an id member for zink_descriptor_pool_key
Mike Blumenkrantz [Thu, 4 Aug 2022 16:43:01 +0000 (12:43 -0400)]
zink: add an id member for zink_descriptor_pool_key

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

2 years agozink: require VK_KHR_descriptor_update_template
Mike Blumenkrantz [Thu, 4 Aug 2022 11:55:01 +0000 (07:55 -0400)]
zink: require VK_KHR_descriptor_update_template

it's been long enough, and there's no technical reason why drivers
shouldn't have this implemented

ZINK_DESCRIPTORS environment variable is preserved for future use

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

2 years agoaco: test for one and_savexec opcode in try_optimize_branching_sequence
Rhys Perry [Mon, 15 Aug 2022 16:21:05 +0000 (17:21 +0100)]
aco: test for one and_savexec opcode in try_optimize_branching_sequence

A situation where it doesn't match is probably not possible, so this
probably doesn't fix anything.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: improve vcc check for instructions between exec_val and exec_copy
Rhys Perry [Mon, 15 Aug 2022 16:19:07 +0000 (17:19 +0100)]
aco: improve vcc check for instructions between exec_val and exec_copy

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: remove val_and_copy_adjacent
Rhys Perry [Mon, 15 Aug 2022 16:10:28 +0000 (17:10 +0100)]
aco: remove val_and_copy_adjacent

If this is true, then the only instruction the loops visit is
p_logical_end and the loops are no-ops.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: test branch opcode if removing it in try_optimize_branching_sequence
Rhys Perry [Mon, 15 Aug 2022 16:14:11 +0000 (17:14 +0100)]
aco: test branch opcode if removing it in try_optimize_branching_sequence

We shouldn't remove a p_cbranch_nz branch in this situation.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: b731be2e96c ("aco: Remove branch instruction when exec is constant non-zero.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: fix re-write of uses of exec_val's lo/hi half
Rhys Perry [Mon, 15 Aug 2022 16:06:23 +0000 (17:06 +0100)]
aco: fix re-write of uses of exec_val's lo/hi half

The isConstant() check isn't useful. If it's a constant, then the
physReg() check will fail.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: baab6f18c91 ("aco: Optimize branching sequence during SSA elimination.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: fix assembly of vopc_sdwa writing exec
Rhys Perry [Mon, 15 Aug 2022 16:01:52 +0000 (17:01 +0100)]
aco: fix assembly of vopc_sdwa writing exec

We would assemble an instruction writing vcc instead.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: 5ffc73896f3 ("aco/assembler: Fix v_cmpx with SDWA.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: rename is_cmp to is_fp_cmp
Rhys Perry [Mon, 15 Aug 2022 16:01:06 +0000 (17:01 +0100)]
aco: rename is_cmp to is_fp_cmp

The old name is no longer accurate.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoaco: fix consecutive exec writes when finding exec_copy instruction
Rhys Perry [Mon, 15 Aug 2022 16:46:50 +0000 (17:46 +0100)]
aco: fix consecutive exec writes when finding exec_copy instruction

This can happen with transitions to exact:
 s2: %0:exec = p_parallelcopy %622:s[0-1]
 s2: %625:s[0-1],  s1: %624:scc,  s2: %0:exec = s_and_saveexec_b64 %141:vcc, %0:exec
 s2: %626:s[12-13] = p_cbranch_z %0:exec BB2, BB1

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: 410eff4d2f3 ("aco: Fix optimizing branching sequence with s_and_saveexec.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077>

2 years agoci: rename GitHub CI workflow from `ci` to `macos` to be a bit more explicit about...
Eric Engestrom [Mon, 15 Aug 2022 09:22:57 +0000 (10:22 +0100)]
ci: rename GitHub CI workflow from `ci` to `macos` to be a bit more explicit about what it covers

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Yurii Kolesnykov <root@yurikoles.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18057>

2 years agopvr: Implement vkResetDescriptorPool API.
Rajnesh Kanwal [Fri, 12 Aug 2022 15:46:42 +0000 (16:46 +0100)]
pvr: Implement vkResetDescriptorPool API.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18060>

2 years agodocs/radv: advertise VK_KHR_global_priority
Rhys Perry [Tue, 16 Aug 2022 10:41:15 +0000 (11:41 +0100)]
docs/radv: advertise VK_KHR_global_priority

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

2 years agoradv: Remove workarounds for D3D9 feedback loops
Joshua Ashton [Sat, 6 Aug 2022 02:15:13 +0000 (02:15 +0000)]
radv: Remove workarounds for D3D9 feedback loops

RADV supports VK_EXT_attachment_feedback_loop_layout now,
and DXVK is using since 63d582a6e7ab63e18503d1238101705a818f5ad0 which
will be in DXVK 2.0, so no need for these anymore.

Older versions of DXVK will still be affected by the issue however.

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

2 years agotu: Make KGSL wait IOCTLs interrupt-safe
PixelyIon [Thu, 11 Aug 2022 14:12:27 +0000 (19:42 +0530)]
tu: Make KGSL wait IOCTLs interrupt-safe

`tu_WaitForFences` and `tu_GetFenceStatus` ended up using `ioctl` instead of
`safe_ioctl` and as a result were responsible for handling `EAGAIN`/`EINTR`
but they weren't handled correctly in wait calls which led to dropping the
wait if the thread received a signal without automatic syscall restarting on
release builds and an assertion due to `errorno` being `EINTR` on debug
builds.

This fixes early wait returns which would lead to UB or cause crashes due to
hitting debug assertions in Skyline Emulator.

Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18031>

2 years agoradv: advertise VK_KHR_global_priority
Samuel Pitoiset [Mon, 15 Aug 2022 14:16:18 +0000 (16:16 +0200)]
radv: advertise VK_KHR_global_priority

Similar to VK_KHR_buffer_device_address which has also been promoted
from EXT.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18061>

2 years agoradv: remove radv_graphics_pipeline_info completely
Samuel Pitoiset [Wed, 10 Aug 2022 13:53:40 +0000 (15:53 +0200)]
radv: remove radv_graphics_pipeline_info completely

RADV now uses vk_graphics_pipeline_state from Vulkan common code which
is more convenient for eg. graphics pipeline libraries.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_vertex_input_info to vk_vertex_input_state
Samuel Pitoiset [Wed, 10 Aug 2022 13:48:19 +0000 (15:48 +0200)]
radv: convert radv_vertex_input_info to vk_vertex_input_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_rendering_info to vk_render_pass_state
Samuel Pitoiset [Wed, 10 Aug 2022 08:04:46 +0000 (10:04 +0200)]
radv: convert radv_rendering_info to vk_render_pass_state

This also converts VkAttachmentSampleCountInfoAMD which is part of
vk_render_pass_state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_color_blend_info to vk_color_blend_state
Samuel Pitoiset [Wed, 10 Aug 2022 07:44:34 +0000 (09:44 +0200)]
radv: convert radv_color_blend_info to vk_color_blend_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_multisample_info to vk_multisample_state
Samuel Pitoiset [Tue, 9 Aug 2022 15:50:09 +0000 (17:50 +0200)]
radv: convert radv_multisample_info to vk_multisample_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_input_assembly_info to vk_input_assembly_state
Samuel Pitoiset [Tue, 9 Aug 2022 14:27:19 +0000 (16:27 +0200)]
radv: convert radv_input_assembly_info to vk_input_assembly_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_fragment_shading_rate_info to vk_fragment_shading_rate_state
Samuel Pitoiset [Tue, 9 Aug 2022 14:15:34 +0000 (16:15 +0200)]
radv: convert radv_fragment_shading_rate_info to vk_fragment_shading_rate_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_depth_stencil_info to vk_depth_stencil_state
Samuel Pitoiset [Tue, 9 Aug 2022 14:08:25 +0000 (16:08 +0200)]
radv: convert radv_depth_stencil_info to vk_depth_stencil_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_rasterization_info to vk_rasterization_state
Samuel Pitoiset [Tue, 9 Aug 2022 13:23:53 +0000 (15:23 +0200)]
radv: convert radv_rasterization_info to vk_rasterization_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_discard_rectangle_info to vk_discard_rectangles_state
Samuel Pitoiset [Tue, 9 Aug 2022 13:06:44 +0000 (15:06 +0200)]
radv: convert radv_discard_rectangle_info to vk_discard_rectangles_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_viewport_info to vk_viewpoert_state
Samuel Pitoiset [Tue, 9 Aug 2022 12:59:19 +0000 (14:59 +0200)]
radv: convert radv_viewport_info to vk_viewpoert_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: convert radv_tessellation_info to vk_tessellation_state
Samuel Pitoiset [Tue, 9 Aug 2022 12:55:22 +0000 (14:55 +0200)]
radv: convert radv_tessellation_info to vk_tessellation_state

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: call vk_graphics_pipeline_state_fill() when initializing gfx pipelines
Samuel Pitoiset [Tue, 9 Aug 2022 12:55:28 +0000 (14:55 +0200)]
radv: call vk_graphics_pipeline_state_fill() when initializing gfx pipelines

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: slightly change the color write enable mask
Samuel Pitoiset [Tue, 9 Aug 2022 16:35:52 +0000 (18:35 +0200)]
radv: slightly change the color write enable mask

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: do not translate primitive topology during gfx info initialization
Samuel Pitoiset [Wed, 10 Aug 2022 08:41:30 +0000 (10:41 +0200)]
radv: do not translate primitive topology during gfx info initialization

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: do not translate blend op/factor during gfx info initialization
Samuel Pitoiset [Tue, 9 Aug 2022 16:14:47 +0000 (18:14 +0200)]
radv: do not translate blend op/factor during gfx info initialization

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: do not translate logic op during gfx info initialization
Samuel Pitoiset [Tue, 9 Aug 2022 16:00:02 +0000 (18:00 +0200)]
radv: do not translate logic op during gfx info initialization

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: do not translate polygon mode during gfx info initialization
Samuel Pitoiset [Tue, 9 Aug 2022 13:41:31 +0000 (15:41 +0200)]
radv: do not translate polygon mode during gfx info initialization

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: simplify the depth clip enable/disable logic
Samuel Pitoiset [Tue, 9 Aug 2022 13:16:04 +0000 (15:16 +0200)]
radv: simplify the depth clip enable/disable logic

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agoradv: store the provoking vertex mode in the graphics pipeline info
Samuel Pitoiset [Tue, 9 Aug 2022 13:12:47 +0000 (15:12 +0200)]
radv: store the provoking vertex mode in the graphics pipeline info

For switching to the common graphics pipeline state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agovulkan: add attachment sample count info AMD support
Samuel Pitoiset [Tue, 9 Aug 2022 15:05:09 +0000 (17:05 +0200)]
vulkan: add attachment sample count info AMD support

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agovulkan: fix initializing the primitive topology when it's dynamic
Samuel Pitoiset [Tue, 9 Aug 2022 14:34:10 +0000 (16:34 +0200)]
vulkan: fix initializing the primitive topology when it's dynamic

The PSO still contain the topology class and some Vulkan drivers like
RADV need to know this.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agovulkan: initialize discardRectangleCount even if the state is dynamic
Samuel Pitoiset [Tue, 9 Aug 2022 13:01:28 +0000 (15:01 +0200)]
vulkan: initialize discardRectangleCount even if the state is dynamic

Only the array of rectangles should be dynamic.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015>

2 years agointel/compiler: Use named NIR intrinsic const index accessors
Kenneth Graunke [Sat, 13 Aug 2022 08:11:58 +0000 (01:11 -0700)]
intel/compiler: Use named NIR intrinsic const index accessors

In the early days of NIR, you had to prod at inst->const_index[]
directly, but a long while back, we added handy accessor functions
that let you use the actual name of the thing you want instead of
memorizing the exact order of parameters.

Also rewrite a comment I had a hard time parsing.

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18067>

2 years agov3dv: vkCmdClearAttachments no longer generates its own RCL
Iago Toral Quiroga [Wed, 27 Jul 2022 12:32:24 +0000 (14:32 +0200)]
v3dv: vkCmdClearAttachments no longer generates its own RCL

We improved this a long time ago and now it emits a clear rect inside
the current subpass job instead of emitting its own job with its own
RCL, so we no longer need to handle this as an exception to the rule.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: add a heuristic for double-buffer mode
Iago Toral Quiroga [Wed, 27 Jul 2022 09:42:01 +0000 (11:42 +0200)]
v3dv: add a heuristic for double-buffer mode

For this we add a scoring system that evaluates various aspects of
the draw calls in a job.

If the cost of the geometry side of the pipeline is too high, then
we may pay too high a price in double-buffer mode because with smaller
tile size may will probably have more vertex shader invocations in the
render and binning stages.

On the other hand, if rendering cost is not high enough, we may not
have enough rendering work to hide the latency of tile stores in
double-buffer mode.

Also, because we need to make a decision after we know all the draw
calls in a job, but the double-buffer enable bit comes in the
TILE_BINNING_MODE_CFG that needs to be emitted first in the binning
command list before the draw calls are recorded, if we decide to
enable it we need to rewrite that packet and we need to size the
tile state properly to account for the extra tiles. For this
purpose we delay tile state setup for render pass jobs until we are
finishing a job.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: tell job_compute_frame_tiling whether we want to use double-buffer mode
Iago Toral Quiroga [Wed, 27 Jul 2022 08:42:38 +0000 (10:42 +0200)]
v3dv: tell job_compute_frame_tiling whether we want to use double-buffer mode

We want to have control over the double-buffer setting here so we can control
explicitly from the driver when we want to enable this mode.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: postpone tile state allocation for render pass jobs
Iago Toral Quiroga [Wed, 27 Jul 2022 08:21:44 +0000 (10:21 +0200)]
v3dv: postpone tile state allocation for render pass jobs

These are jobs for which we may want to enable double-buffering,
which affects tile state allocation. Since the idea is that we
want to decide about double buffering late, we also want to
postpone allocation of the tile state until we are about to
emit the RCL for the job.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: add a v3dv_job_allocate_tile_state helper
Iago Toral Quiroga [Wed, 27 Jul 2022 08:06:50 +0000 (10:06 +0200)]
v3dv: add a v3dv_job_allocate_tile_state helper

If we enable double-buffer we are reducing the tile size, and thus,
we'll need more tiles and a larger tile state allocation, so we'll
need to call to this helper.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: fix tile state allocation
Iago Toral Quiroga [Wed, 27 Jul 2022 07:53:45 +0000 (09:53 +0200)]
v3dv: fix tile state allocation

If we had decided that we only need one layer worth of tile state
we should actually only allocate one layer.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: track if a job is compatible with double-buffer mode
Iago Toral Quiroga [Fri, 22 Jul 2022 07:45:10 +0000 (09:45 +0200)]
v3dv: track if a job is compatible with double-buffer mode

MSAA is not compatible with double-buffer mode. Also, jobs that emit
tile loads or that don't have any stores can't take advantage
of double-buffer mode.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: move check_needs_load/store helpers to unversioned code
Iago Toral Quiroga [Fri, 22 Jul 2022 07:41:47 +0000 (09:41 +0200)]
v3dv: move check_needs_load/store helpers to unversioned code

These helpers don't depend on the V3D version and we are going
to need them outside v3dvx_cmd_buffer.c soon.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agobroadcom/compiler: track number of TMU operations in prog data
Iago Toral Quiroga [Fri, 22 Jul 2022 06:13:28 +0000 (08:13 +0200)]
broadcom/compiler: track number of TMU operations in prog data

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agodocs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for...
Eric Engestrom [Thu, 28 Jul 2022 19:56:13 +0000 (20:56 +0100)]
docs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for lavapipe

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: start tracking extensions supported by powervr
Eric Engestrom [Thu, 28 Jul 2022 18:41:12 +0000 (19:41 +0100)]
docs/features: start tracking extensions supported by powervr

Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: start tracking extensions supported by panvk
Eric Engestrom [Thu, 28 Jul 2022 18:37:38 +0000 (19:37 +0100)]
docs/features: start tracking extensions supported by panvk

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

2 years agodocs/features: start tracking extensions supported by dozen
Eric Engestrom [Thu, 28 Jul 2022 18:32:40 +0000 (19:32 +0100)]
docs/features: start tracking extensions supported by dozen

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

2 years agodocs/features: add missing extensions supported by venus
Eric Engestrom [Thu, 28 Jul 2022 18:23:06 +0000 (19:23 +0100)]
docs/features: add missing extensions supported by venus

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: add missing extensions supported by turnip
Eric Engestrom [Thu, 28 Jul 2022 18:17:37 +0000 (19:17 +0100)]
docs/features: add missing extensions supported by turnip

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

2 years agodocs/features: add missing extensions supported by radv
Eric Engestrom [Thu, 28 Jul 2022 18:10:48 +0000 (19:10 +0100)]
docs/features: add missing extensions supported by radv

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

2 years agodocs/features: add missing extensions supported by lavapipe
Eric Engestrom [Thu, 28 Jul 2022 18:05:00 +0000 (19:05 +0100)]
docs/features: add missing extensions supported by lavapipe

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: add missing extensions supported by anv
Eric Engestrom [Thu, 28 Jul 2022 17:04:02 +0000 (18:04 +0100)]
docs/features: add missing extensions supported by anv

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agoturnip: handle fence wrapping in autotune
Chia-I Wu [Fri, 12 Aug 2022 21:22:34 +0000 (14:22 -0700)]
turnip: handle fence wrapping in autotune

fence values can be 0 after wrapping.  We should not treat 0 specially.

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

2 years agoturnip: remove unused member in tu_submission_data
Chia-I Wu [Fri, 12 Aug 2022 20:53:37 +0000 (13:53 -0700)]
turnip: remove unused member in tu_submission_data

buffers_count is set but unused.

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

2 years agoturnip: fix a use-after-free in autotune
Chia-I Wu [Fri, 12 Aug 2022 20:02:30 +0000 (13:02 -0700)]
turnip: fix a use-after-free in autotune

When removing old histories, check against gpu fence.  Otherwise,
pending_results could have dangling pointers to the removed histories.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7055
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040>

2 years agozink: use a maybe more accurate wild guess for pcp-less gpl
Mike Blumenkrantz [Tue, 9 Aug 2022 12:51:18 +0000 (08:51 -0400)]
zink: use a maybe more accurate wild guess for pcp-less gpl

this is only reachable with an env var, so being wrong is still okay,
but maybe be right slightly more often

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

2 years agozink: (correctly) require extendedDynamicState2PatchControlPoints for GPL
Mike Blumenkrantz [Tue, 9 Aug 2022 12:42:51 +0000 (08:42 -0400)]
zink: (correctly) require extendedDynamicState2PatchControlPoints for GPL

this is otherwise broken

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

2 years agozink: require EXT_non_seamless_cube_map for GPL support
Mike Blumenkrantz [Thu, 11 Aug 2022 12:52:00 +0000 (08:52 -0400)]
zink: require EXT_non_seamless_cube_map for GPL support

it's impossible to precompile without this

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

2 years agoc11: Remove mtx_try from mtx enums as it's not a part of c11 standard
Yonggang Luo [Fri, 12 Aug 2022 16:41:33 +0000 (00:41 +0800)]
c11: Remove mtx_try from mtx enums as it's not a part of c11 standard

And we support for four types of mtx init enum values that define by C11 standard:
0 mtx_plain - a simple, non-recursive mutex is created.
2 mtx_timed - a non-recursive mutex, that supports timeout, is created.
1 mtx_plain | mtx_recursive - a recursive mutex is created.
3 mtx_timed | mtx_recursive - a recursive mutex, that supports timeout, is created.

musl library also use these enum combination

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18036>

2 years agoaco: Use v_cmpx pre GFX10.
Georg Lehmann [Sun, 14 Aug 2022 17:25:09 +0000 (19:25 +0200)]
aco: Use v_cmpx pre GFX10.

Foz-DB Vega10:
Totals from 29508 (21.85% of 135041) affected shaders:
CodeSize: 184345656 -> 184345820 (+0.00%)
Instrs: 35906154 -> 35906195 (+0.00%)
Latency: 581696114 -> 581530021 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 245625572 -> 245561351 (-0.03%); split: -0.03%, +0.00%
Copies: 3134925 -> 3278672 (+4.59%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco/assembler: Fix v_cmpx pre GFX10.
Georg Lehmann [Mon, 15 Aug 2022 10:10:38 +0000 (12:10 +0200)]
aco/assembler: Fix v_cmpx pre GFX10.

The second destination is implicit exec.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>