Christian Gmeiner
3c634e956b
freedreno/isa: generate isaspec-decode.h
...
Generate a 'glue' header file to be able to support different
ISAs.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
59e6258e4f
freedreno/isa: generate ir3-isa.h
...
This header contains the bitmask_t struct typedef that will be
used by the isaspec.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
3d6a3b3c7c
freedreno/isa: store max size for needed bitset
...
We will use this information later to create a correctly
sized BITSET.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
d29a6e2db5
freedreno/isa: add defines for fprintf(..) usage
...
In the long run they will be replaces with some generated
defines. If we do this early it keeps the diffs of the next
changes small.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
6c3befdd70
freedreno/isa: add next_instruction(..)
...
In during the next commits we will change to a generated
version of next_instruction(..) based on the actual isa.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
c3b14ade55
freedreno/isa: simplify custom_target
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
3b52d64474
freedreno/isa: add leading zero's
...
Changes the output format slightly but its needed when we
want to switch to more generic version of isaspec.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
54ea23da51
util/tests: add set bit range test
...
This simple test validates that it is possible to set bits
across word bounary.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
b3b03e33c9
util/bitset: add BITSET_SET_RANGE(..)
...
This version works across word boundary.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
3d65cea6ee
util/bitset: s/BITSET_SET_RANGE/BITSET_SET_RANGE_INSIDE_WORD
...
Prep work for the next commit.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
3d3a4b9b01
util/tests: add bitset SHL tests
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
6171bc2243
util/bitset: add left shift
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
0c243b3f98
util/tests: add bitset SHR tests
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
7b62fb4558
util/bitset: add right shift
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
79067c4744
util/tests: add bitwise AND, OR and NOT tests
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
cfa8828c62
util/bitset: add bitwise AND, OR and NOT
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Christian Gmeiner
f8ea9fa0f8
util/tests: rename bitset test names
...
Imho they are quite hard to read with the added '_'.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321 >
2021-09-21 20:25:31 +00:00
Alyssa Rosenzweig
e39929663b
docs/panfrost: Add web chat link
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Git Lab <gh6h56j85ihg@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12380 >
2021-09-21 19:06:22 +00:00
Alyssa Rosenzweig
5506b38032
docs/panfrost: We're conformant now!
...
See https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_949
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12965 >
2021-09-21 19:01:45 +00:00
Jason Ekstrand
35ac184de0
intel/fs: Handle required subgroup sizes specified in the SPIR-V
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12959 >
2021-09-21 18:34:59 +00:00
Jason Ekstrand
518693c3ec
spirv: Handle the SubgroupSize execution mode
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12959 >
2021-09-21 18:34:59 +00:00
Charmaine Lee
e5dc900226
svga: fix render target views leak
...
Use create_backed_surface_view helper function to create/reuse
alternate surface view when the to-be-bound surface view was created
in a different context. This fixes render target views leak running gazebo.
Cc: mesa-stable
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12952 >
2021-09-21 18:02:17 +00:00
Dylan Baker
c1d479b9ad
docs: update calendar and link releases notes for 21.2.2
...
I've also adjusted the calender to account for missed releases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12963 >
2021-09-21 17:57:08 +00:00
Dylan Baker
773f2fbf6b
docs/relnotes/21.2.2: Add SHA256 sum
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12963 >
2021-09-21 17:57:08 +00:00
Dylan Baker
0689f57dd9
docs: add release notes for 21.2.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12963 >
2021-09-21 17:57:08 +00:00
Emma Anholt
590ac4789d
freedreno/a5xx+: Set the IJ_LINEAR_* request bits if we need the regs.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12949 >
2021-09-21 17:11:42 +00:00
Emma Anholt
3f99916433
freedreno/a5xx+: Rename GRAS_CNTL/RB_RENDER_CONTROL0 IJ_LINEAR_* bits.
...
This is what they actually enable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12949 >
2021-09-21 17:11:42 +00:00
Boris Brezillon
d3511e8af2
panvk: Implement vkCmdUpdateBuffer()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:42 +02:00
Boris Brezillon
a560890284
panvk: Implement vkCmdFillBuffer()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:32 +02:00
Boris Brezillon
b37eb5854c
panvk: Implement vkCmdCopyBuffer()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:27 +02:00
Boris Brezillon
f73ae1a6b5
panvk: Implement vkCmdCopyImageToBuffer()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:23 +02:00
Boris Brezillon
4ce85cd25a
panvk: Implement vkCmdCopyBufferToImage()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:19 +02:00
Boris Brezillon
5b9cbd39ec
panvk: Implement vkCmdCopyImage()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:15 +02:00
Boris Brezillon
a0cbe50566
panvk: Implement vkCmdClear{DepthStencil,Color}Image()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:10 +02:00
Boris Brezillon
5d4c405257
panvk: Issue a fragment job if at least one target is cleared
...
This way clear meta helpers don't have to allocate fragment job
themselves.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:04 +02:00
Boris Brezillon
2cdcaf08a1
panvk: Stop dereferencing the subpass in panvk_cmd_close_batch()
...
So we can call this function from the meta helpers which won't bind
a subpass to the cmd state.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:01:00 +02:00
Boris Brezillon
b882c3b677
panvk: Add a panvk_cmd_prepare_tiler_context() helper
...
So we can create tiler contexts from meta helpers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:55 +02:00
Boris Brezillon
285197df28
panvk: Make panvk_cmd_alloc_tls_desc() more generic
...
panvk_cmd_alloc_tls_desc() will soon be called from meta helpers which
don't bind a pipeline to the cmdbuf state. Let's pass the gfx/compute
info directly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:50 +02:00
Boris Brezillon
e7af84899e
panvk: Don't check the bind_point in panvk_cmd_prepare_fragment_job()
...
We are about to call panvk_cmd_close_batch() from meta helpers, and
those don't bind a pipeline, so let's drop the check in
panvk_cmd_prepare_fragment_job().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:46 +02:00
Boris Brezillon
821eb2a73b
panvk: Don't use the subpass to calculate the FB descriptor size
...
This way we will be able to re-use panvk_cmd_alloc_fb_desc() for
meta stuff.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:40 +02:00
Boris Brezillon
fa51d99035
panvk: Get rid of panvk_emit_fragment_job()
...
Now that we have a valid pan_fb_info attached to the state, we can
use pan_emit_fragment_job() directly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:33 +02:00
Boris Brezillon
82046eed4a
panvk: Move blit/resolve stubs to a separate file
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:28 +02:00
Boris Brezillon
08dfdd9639
panvk: Move copy stubs to a separate file
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:22 +02:00
Tomeu Vizoso
45fcaf67f0
panvk: Move CmdClear* impl to a separate file
...
In preparation for adding implementations of more meta commands, add
panvk_meta_clear.c.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:17 +02:00
Boris Brezillon
b0eaaf90f3
panvk: Merge identical BO entries before submitting a job
...
This should ideally be filtered when BOs are attached to a batch, but
let's do it in the submit path until then.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:12 +02:00
Boris Brezillon
165c26b9e1
panvk: Preload FB attachments when required
...
There are at least three situations where we need to preload FBs:
1. The attachment is flagged VK_ATTACHMENT_LOAD_OP_LOAD and has not been
accessed in previous subpasses
2. The batch is implicitly split (e.g. too many jobs queued to the
batch, wait/set events queued, ...)
3. The attachment has been written by a previous subpass
With those changes, we can get rid of panvk_emit_fb() and call
pan_emit_fbd() directly (fb_info is initialized when starting a subpass
and updated when an implicit split happens).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:07 +02:00
Boris Brezillon
3166f4ebea
panvk: Initialize the blend shader logic
...
The blitter logic rely on blend shaders when formats are not blendable.
We need to initialize the blend shader logic before we can use the
blitter.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 15:00:01 +02:00
Boris Brezillon
ba2874563e
pan/blit: Extend pan_preload_fb() to return emitted jobs
...
The vulkan driver needs to patch job headers when re-issuing batches.
Extend pan_preload_fb() so it can return the emitted tiler jobs.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 14:59:50 +02:00
Boris Brezillon
9f4dab0f2d
pan/blit: Fix a NULL dereference in the preload path
...
The ZS view can be NULL if a stencil-only buffer is attached to the FB.
Fixes: 1de393fec5 ("panfrost: Fix ZS reloading on Bifrost v6")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 14:59:44 +02:00
Boris Brezillon
2dd13257c8
pan/bi: Allow passing RT conversion descriptors to fragment shaders
...
The Vulkan copy shaders sometimes need to partially write a texel and
issue a load on the FRAGOUT variable in that case, but they do know
the format of the tile buffer in advance in that case. Let's not add an
RT_CONVERSION sysval if we can avoid it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095 >
2021-09-21 14:59:38 +02:00