Commit Graph

174408 Commits

Author SHA1 Message Date
Thomas H.P. Andersen 606db8cc40 tgsi: remove unused tgsi_shader_info.uses_bindless_image_atomic
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen 67f85d3f45 tgsi: remove unused tgsi_shader_info.uses_bindless_image_store
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen 70d8408666 tgsi: remove unused tgsi_shader_info.uses_bindless_image_load
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen aa6a3faf75 tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_atomic
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen 33e9189aa1 tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_store
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen 98b157bd9c tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_load
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:28 +00:00
Thomas H.P. Andersen b2c6f21f10 tgsi: remove unused tgsi_shader_info.images_atomic
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 4b9b6a0711 tgsi: remove unused tgsi_shader_info.images_store
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 8c227964f3 tgsi: remove unused tgsi_shader_info.images_load
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen eeb0d979f3 tgsi: remove unused tgsi_shader_info.culldist_writemask
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 14454e20ea tgsi: remove unused tgsi_shader_info.clipdist_writemask
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen a481db8f3e tgsi: remove unused tgsi_shader_info.uses_bindless_images
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 7d21d1317f tgsi: remove unused tgsi_shader_info.uses_bindless_samplers
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 395a2409cb tgsi: remove unused tgsi_shader_info.uses_derivatives
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 908441e0ee tgsi: remove unused tgsi_shader_info.uses_doubles
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 87d1dde7f9 tgsi: remove unused tgsi_shader_info.writes_primid
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 9c207d4f89 tgsi: remove unused tgsi_shader_info.uses_subgroup_info
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 68d0c847bb tgsi: remove unused tgsi_shader_info fields
uses_thread_id
uses_block_id
uses_block_size

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 402f5c5407 tgsi: remove unused tgsi_shader_info.uses_drawid
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 436e59e3d9 tgsi: remove unused tgsi_shader_info fields
Removes:
uses_persp_opcode_interp_centroid
uses_persp_opcode_interp_offset
uses_persp_opcode_interp_sample
uses_linear_opcode_interp_centroid
uses_linear_opcode_interp_offset
uses_linear_opcode_interp_sample

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 6c513ef4fd tgsi: remove unused tgsi_shader_info fields
Removes:
uses_persp_center
uses_persp_centroid
uses_persp_sample
uses_linear_center
uses_linear_centroid
uses_linear_sample

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 76b0e7b25c tgsi: remove unused tgsi_shader_info.reads_tess_factors
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 9050b10627 svga: remove unused struct field
This will allow further cleanup in tgsi_shader_info

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 29673ac8d0 tgsi: remove unused tgsi_shader_info.reads_samplemask
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen ad2c811884 tgsi: remove unused tgsi_shader_info.reads_position
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 1f1ffd5b1d tgsi: remove unused tgsi_shader_info.colors_written
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 9684fbc87d tgsi: remove unused tgsi_shader_info.colors_read
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 849065b9f3 tgsi: remove unused tgsi_shader_info.num_memory_instructions
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 64ce4669a3 tgsi: remove unused tgsi_shader_info.array_max
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:27 +00:00
Thomas H.P. Andersen 8807f0ec3e tgsi: remove unused tgsi_shader_info.num_tokens
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24100>
2023-07-19 12:41:26 +00:00
Karmjit Mahil 6b6102f2ff pvr: Fix writing query availability write out
The query value was accidentally being written as the availability
value. Queries that were available but of value `0` would never
become available.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24209>
2023-07-19 12:22:30 +00:00
Karmjit Mahil a4bdf2de0f pvr: Fix occlusion query unaccounted for user fences
User provided fences can never have a source stage for occlusion
queries as the occlusion query job is internal to the driver. So
at vkQueueSubmit the user's VkFence could be signalled before the
queries had completed.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24209>
2023-07-19 12:22:30 +00:00
Karmjit Mahil 2b685fb09e pvr: Allow query stage for barrier sub cmds
The function is accounting for the occlusion query job so changing
the assert to allow it.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24209>
2023-07-19 12:22:30 +00:00
Karmjit Mahil 0ba29bf641 pvr: Use the correct size for the unified store allocation
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24209>
2023-07-19 12:22:30 +00:00
Frank Binns 0137de917b pvr: cleanup SPM EOT dynarray after upload
Fixes a memory leak found with Valgrind.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Fixes: ad0ca7a879 ("pvr: Compile SPM EOT shader")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24208>
2023-07-19 12:06:32 +00:00
M Henning f39df8fe2d nv50/ir: Remove SpillSlot
Since nothing ever reads this data.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23006>
2023-07-19 11:47:10 +00:00
M Henning 42f5f9cb8f nv50/ir: Remove dead loop from assignSlot
This loop can never execute. On entry we have offset = offsetBase and
offsetBase >= stackSize, so the condition offset < stackSize is always
false. The git history suggests that this was always broken this way.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23006>
2023-07-19 11:47:10 +00:00
M Henning 3c0f8aec84 nv50/ir: Remove Function.stackPtr
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23006>
2023-07-19 11:47:10 +00:00
M Henning cd2c314ee0 nv50/ir: Remove ArgumentMovesPass
We only use OP_CALL for builtins at this point, so no need for this.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23006>
2023-07-19 11:47:10 +00:00
M Henning 1032d5c836 nv50/ir: Drop nir_jump_return handling
This is always lowered before this point.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23006>
2023-07-19 11:47:10 +00:00
Dr. David Alan Gilbert 69101c72f3 rusticl: Wire the 'start' and 'end' profilng times up
We use the timestamp pipe queries to retrieve times from the
device, hopefully close to the execution of the code.

For now we use the End value for complete as well.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:25 +00:00
Dr. David Alan Gilbert 4a44dd1654 rusticl: Wrap pipe query reads
Take a query we previously created and read it's result.
The type of the result is usually implicitly known; for now
just handle the query we use in 64 bit.

This is safe because the trait bindings ensure that
when we create a query with PipeQueryGen we embed the type
of the result in the PipeQuery, and that produces the correct
result type.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:25 +00:00
Dr. David Alan Gilbert 52e53938c3 rusticl: Wrap pipe queries
Pipe queries are asynchronous state reads, you create a query
and sometime later retrieve the result.

Wrap the underlying basic calls and types and provide a type
(PipeQuery) to handle the lifetype of the query.  Note the pipe context
used for the query must live at last as long as the query.

Queries are created by calls to the PipeQueryGen, a wrapper
that figures out the return type and wraps that in the intermediate
that's returned.   A typical use is:

  query_start = PipeQueryGen::<{pipe_query_type::PIPE_QUERY_TIMESTAMP}>::new(ctx);

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:25 +00:00
Dr. David Alan Gilbert c893fa1fcd rusticl: Wire the 'submit' profiling time up
Set it from the timestamp when it's taken out of the queue and
submitted, and wire the APU up to read it.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:25 +00:00
Dr. David Alan Gilbert 85ca349be0 rusticl: Wire the 'queued' profiling time up
Set it from the timestamp when it's added to the queue, and wire
the API up to read it.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:24 +00:00
Dr. David Alan Gilbert 6052e58bf6 rusticl/core: Add profiling time storage (queued) to event
Add the first, of a few, profiling time values to the Event,
with access methods.  This is defined as

   'when the command identified by event is enqueued in a command-queue
    by the host'

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24101>
2023-07-19 10:29:24 +00:00
Karol Herbst a944a8eba9 nvc0: initial Ada enablement
Cc: 23.2 <mesa-stable>
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24226>
2023-07-19 09:08:16 +00:00
Philipp Zabel f626605cbf etnaviv: fix segfault after compile failure
Do not try to determine the shader stage from the compiled shader
variant, which may be NULL after compile failure. Instead, get it
from the NIR shader.

Fixes a segfault when trying to evaluate etna_shader_stage(NULL)
after compile failure.

Suggested-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Fixes: 3d49619071 ("etnaviv: add support for performance warnings")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24178>
2023-07-19 08:46:22 +00:00
Honglei Huang b246f96573 virgl: Enable vp9 hardware decode
Add vp9 fill function in fill_picture_desc to enable vp9 decoding.

Signed-off-by: Honglei Huang <honglei1.huang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108>
2023-07-19 07:06:38 +00:00
Boyuan Zhang d4220c14cc virgl: Implement vp9 hardware decode
Implement vp9 hardware decode by filling vp9 picture desc.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108>
2023-07-19 07:06:38 +00:00