Marcin Ślusarz
637063ffc6
anv: implement EXT_mesh_shader
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
b3354afd89
anv: replace VK_SHADER_STAGE_[TASK|MESH]_BIT_NV with VK_SHADER_STAGE_[TASK|MESH]_BIT_EXT
...
They have the same numerical values, so nothing changes.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
9cefaa9b6d
anv: check EXT_mesh_shader whenever NV_mesh_shader is checked
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
2e1b96bb1b
intel/compiler: implement EXT_mesh_shader
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Lionel Landwerlin
802fa57274
anv/hasvk: tweak loading failure messages
...
We don't want to print out too many :
MESA: error: ../src/intel/vulkan/anv_device.c:769: anv does not support Intel(R) HD Graphics (HSW GT1); use hasvk (VK_ERROR_INCOMPATIBLE_DRIVER)
whenever anv is not able to load on a HSW device. Similarly hasvk
should not print error on anything gfx9+.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
bc68e7b564
anv: Remove anv_batch_emit_reloc and just open-code it
...
We don't need the relocation offsets anymore, and just want to pin the
BO, and combine the address into a uint64_t. We can just open code
those two things; it's actually less code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
479a999637
anv: Inline write_reloc into the only remaining caller
...
This is writing an address and clflushing, but it's not really about
execbuf relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
b4677718f3
anv: Drop offset from anv_reloc_list_append
...
No longer used.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
02fed5bb32
anv: Make a helper function for pinning a state pool's BOs
...
A bit less duplicated code, though with all the success checking, it
doesn't actually save us a whole lot.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
fde5c903c0
anv: Delete has_bindless_images and has_bindless_samples flags
...
These are always true now.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
9cb57c9a7a
anv: Delete has_a64_buffer_access flag
...
It's always true.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
c5f7e1f5b4
anv: Delete relocation support from batch submission
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
3fd4a294f5
anv: Delete wrapper BOs for relocations
...
These were only used in the non-softpin case.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
7b7381e8d7
anv: Delete anv_reloc_list_add()
...
We don't need the offset to write a relocation at any longer, so all
it does is call anv_reloc_list_add_bo() at this point. Just use that.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
4b5c29bad0
anv: Delete softpin checks
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
215b1b69cb
anv: Delete use_relocations flag
...
There are no relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
97b98dcea9
anv: Drop state pool relocation munging
...
Now that the state pool's center is always 0, this is not needed.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8cfe23a1e1
anv: Delete "back" allocation from anv_block_pool
...
This was only used with relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8fcaf1b921
anv: Delete relocation support from anv_block_pool
...
We no longer use relocations.
v2: silence fedora builder warning
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
5d3fc2e091
anv: Delete "back" allocation from state pool
...
This was only used with relocations, which no longer happen.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
05adcd1d0f
anv/tests: Don't use relocations in a test case
...
We won't support relocations shortly.
v2: Deal with softpin padding requirement (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
936ec9caae
anv/tests: remove back allocation tests
...
We'll remove driver code for this in the following commits.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
f34975cdf9
anv: Delete shader constants UBO from descriptor sets
...
We now always softpin and use the load_global_constant case, so there's
no need to set up a UBO for NIR constants.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
7abb6f8e72
anv: Delete batch buffer growing code.
...
This was only needed on Haswell and older due to the kernel command
parser not allowing us to chain batches. anv no longer support this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
428f07d906
anv: Delete image param support.
...
This was only used prior to Skylake, which anv no longer supports.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
3daeb22735
anv: Drop checks for version 8 or 9
...
anv no longer supports versions below this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8dcca7f47f
anv: Fail to create a device on ver < 9
...
These are now only supported by hasvk.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
a659819f79
anv: remove unused gfx7 code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
1a77f83c2b
anv: remove support for gfx7/8
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
ba1cc06770
anv: silence fedora build warning
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
d8e2d227ef
hasvk: remove mesh code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
6cbaaf27ab
hasvk: remove ray tracing code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
4488253570
hasvk: remove acceleration structure code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
00eefdcd03
hasvk: stop advertising Vk 1.3 on non-softpin
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Lionel Landwerlin
daf108ee14
hasvk: remove entrypoints for gfx9+
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Lionel Landwerlin
50013ca9a5
intel: add a hasvk vulkan driver
...
This new driver is a copy of the current Anv code, it will only load
on gfx7/8 platforms though.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Igor Torrente
a0b08e2858
radv: anv: Use the new vk_clock_gettime and vk_time_max_deviation
...
functions
Removes the duplicated code and start using the new common
code.
v2: split anv/radv parts to separate commits
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com > (v1)
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18281 >
2022-09-02 00:54:24 +00:00
Jason Ekstrand
44ab076fea
vulkan: Add a vk_command_buffer_ops struct
...
This is the standard pattern in the kernel for providing vfunc tables
for C objects. We're using it in the pipeline cache code but we're
about to start adding more stuff and so it really helps if we have it
for command buffers as well.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
5c143b132a
vulkan: Re-order arguments to vk_command_buffer_init
...
Most other init functions follow the Vulkan API convention of putting
the parent object first.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Emma Anholt
5f66a927ec
gallium,glsl: Delete PIPE_CAP_VERTEXID_NOBASE and lower_vertex_id.
...
Every driver uses the nir_lower_system_values path now.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18327 >
2022-08-31 22:57:03 +00:00
Jason Ekstrand
ae57628dd5
anv: Drop anv_pipeline::use_primitive_replication
...
Instead of this fragile use_primitive_replication bit which we set
differently depending on whether or not we pulled the shader out of the
cache, compute and use the information up-front during the compile and
then always fetch it from the vue_map after that. This way, regardless
of whether the shader comes from the cache or not, we have the same flow
and there are no inconsistencies.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
f1768f5640
intel/compiler: Store the number of position slots in the VUE map
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
30251aaca2
anv: Stop looking at the pipeline in multiview lowering
...
Passing all the data we need in directly avoids issues where we might
forget what is and isn't set on the pipeline object at the time the
shader call happens. This will be especially important once we start
splitting things up for pipeline libraries.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
4bdbc4c93f
anv: Decouple primitive replication check from the fragment shader
...
Now that we're using nir_intrinsic_load_layer_id for ViewIndex, we can
use primitive replication even when the FS uses ViewIndex. Also, only
check that active_stages doesn't contain anything other than VS and FS,
not that it's exactly VS | FS. This both decouples things more and
allows primitive rplication in the depth-only case where we have no
fragment shader at all.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
08d3c0e8e1
anv: Use nir_intrinsic_load_layer_id for ViewId in fragment shaders
...
Now that fragment shaders are a special case handled up-front, we can
reduce the complexity of some of the logic elsewhere in the pass.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Konstantin Seurer
e90fb9cb23
anv: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Rhys Perry
69ba1c4d59
nir: adjust nir_src_copy signature to take a nir_instr *
...
This is almost always a nir_instr and updating the src of a nir_if will
have to work slightly differently in the future.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
aa2d6e020b
Revert "nir: Drop the unused instr arg for src/dest copy functions."
...
This reverts commit c3a01841184ee8303c0c5ebe58491301622c5ad6.
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Jason Ekstrand
c52d5acf15
util,intel: Pull the bit packing helpers from genxml to a common header
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Tatsuyuki Ishi
e799b88449
radv,lvp,anv: Delete pre-common dispatch leftover.
...
These functions are no longer used since the introduction of common
dispatch.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18284 >
2022-08-29 22:28:32 +00:00