Caio Oliveira
99d41ca90d
intel/brw: Remove Gfx4-5 manual compression selection
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a1e694a890
intel/brw: Remove Gfx8- code from NIR passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
99f173ddd2
intel/brw: Remove Gfx8- code from EU validation
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
f321e555b6
intel/brw: Remove Gfx8- code from EU emission
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
91c05d990a
intel/brw: Remove Gfx8- code from IR performance analysis
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
5765c7b80c
intel/brw: Remove Gfx8- code from EU compaction
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
7ac5696157
intel/brw: Remove Gfx8- code from backend passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
9569ea82a8
intel/brw: Remove Gfx8- code from generator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
371468c013
intel/brw: Remove Gfx8- code from lower logical sends
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
1ee29f82d2
intel/brw: Remove Gfx8- code from lower storage image pass
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
6a03280af1
intel/brw: Remove Gfx8- code from NIR conversion
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
2a1c2a1bf1
intel/brw: Remove Gfx8- code from thread payload
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
ed6f0665e0
intel/brw: Remove Gfx8- code from register allocator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
85eb672325
intel/brw: Remove Gfx8- code from scheduler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
6e88fa8a77
intel/brw: Remove Gfx8- code from brw_compile_* functions
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a4bf016582
intel/brw: Remove Gfx8- code from assembler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
83d7ddebcb
intel/brw: Remove Gfx8- code from disassembler
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
15469b0a63
intel/brw: Remove unused legacy shader stages
...
CLIP, STRIP-FAN and FF Geometry don't apply to Gfx9+.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
c621f75e7b
intel/brw: Remove now unused vec4-only opcodes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:38 +00:00
Caio Oliveira
a641aa294e
intel/brw: Remove vec4 backend
...
It still exists as part of ELK for older gfx versions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
7c23b90537
intel/brw: Always use scalar shaders
...
Remove scalar_stage[] array, since now it is always scalar. This
removes any usage of vec4 shaders in brw.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
303fd4e935
intel/brw: Move type_size_* functions out of vec4-specific file
...
Will make easier later to delete vec4 files.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
9bfccc1935
intel/brw: Move brw_compile_* functions out of vec4-specific files
...
These contain code that is both fs and vec4. Will make easier later to
delete vec4 files.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Caio Oliveira
c11d7743b3
intel/blorp: Remove Gfx8- references in BRW code
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27691 >
2024-02-28 05:45:37 +00:00
Vinson Lee
6c190bdfe9
intel/clc: Fix file descriptor leak
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable fp going out of scope leaks the storage it points to.
Fixes: 4fd7495c69 ("intel/clc: add ability to output NIR")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27778 >
2024-02-28 04:30:33 +00:00
Faith Ekstrand
41722c6137
nak: Add support for imad on Volta+ and enable it in simple cases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
a747cd1bd5
nak: Move NAK_FS_OUT_COLOR next to the enum
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
f4fb5277c3
nir: Add an imad opcode
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:30 -06:00
Faith Ekstrand
1881d97c27
nak: Implement nir_op_iadd3 on SM70+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27159 >
2024-02-27 21:51:29 -06:00
Mike Blumenkrantz
0c95d39309
zink: add nvk baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27843 >
2024-02-27 21:50:47 -05:00
Mike Blumenkrantz
9ffb7e0179
zink: update nv blob baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27843 >
2024-02-27 21:50:47 -05:00
Daniel Almeida
efc4ac0d27
nak/sm50: sprinkle OpAnnotate in optimization passes
...
Not only do we want to know where an Op originated from, but also how it got
transformed along the way if possible. Preferably all the way to the final
machine code emitted.
This commit inserts OpAnnotates in some of the optimization passes when
map_instr() or Instr::new_boxed is used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
feb2d3e1da
nak/sm50: support annotations through OpAnnotate
...
Add a new op to annotate the IR. This will help debugging and is only
in effect when NAK_DEBUG=annotate is set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
a69bd9a70a
nak/sm50: add an annotate debug flag
...
Add a flag so that users can enable debug annotations when printing the IR.
This does nothing for now. A follow-up commit will actually implement
annotations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Daniel Almeida
02774be708
nak/sm50: add a memstream abstraction
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27158 >
2024-02-28 01:12:03 +00:00
Juston Li
e57cf175e2
venus: move feedback on empty last batch to prior batch
...
For submissions with an empty last batch containing no cmd buffers but
with semaphores as zink does, adding feedback to that batch would make
it no longer empty and increase submission overhead on some drivers.
Since feedback order is enforced by barriers, the feedback cmds can
instead be appended to the previous batch (if it exists) so that the
last batch remains empty.
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27830 >
2024-02-28 00:56:26 +00:00
Thong Thai
0586a3fb22
frontends/va/postproc: do not use efc if image is to be translated
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10658
Signed-off-by: Thong Thai <thong.thai@amd.com>
Tested-by: Andrej Benz <hello@benz.dev>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27802 >
2024-02-27 22:56:04 +00:00
Faith Ekstrand
b8c3d18fba
nvk: Advertise VK_EXT_shader_object
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9648
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
fb564040a7
nvk: Advertise VK_KHR_graphics_pipeline_library
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9635
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
813b253939
nvk: Switch to shader objects
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
4001658c18
nvk: Use vk_render_pass_state::attachments for write masks
...
This pulls everything into nvk_cmd_draw.c where it's a bit easier to
manage. When the time comes for switching to EXT_shader_object, this
will let us handle VK_EXT_dynamic_rendering_unused_attachments via the
common vk_pipeline code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
839629634f
nvk: Move nir_lower_patch_vertices to nvk_lower_nir()
...
As long as it happens after we merge tess info between the two stages
(it does) then there's no need to have it in the pipeline code. It's
just an optimization anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
bd76444257
nvk: Pass an array of descriptor sets to nvk_lower_nir
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
a4f519d72d
nvk: Move populate_fs_key to nvk_shader.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
045741ac30
nvk/shader: Refactor some helpers
...
This puts them in the form we need for vk_shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
626f38e25e
nvk: Populate vk_descriptor_set_layout::blake3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
9308e8d90d
vulkan: Add generic graphics and compute VkPipeline implementations
...
These implementations are built on top of vk_shader. For the most part,
the driver shouldn't notice a difference between draws consuming
pipelines vs. draws consuming shaders. The only real difference is
that, when vk_driver_shader_ops::compile() is called for pipelines, a
struct vk_graphics_pipeline_state is provided. For shader objects, the
state object will be NULL indicating that all state is unknown. Besides
that, all the rest of the differences between Vulkan 1.0 pipelines,
VK_EXT_graphics_pipeline_library, and VK_EXT_shader_object are handled
by the Vulkan runtime code.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
c488dc9f50
vulkan: Add a BLAKE3 hash to vk_descriptor_set_layout
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
682b99a63f
vulkan: Add push constant ranges to vk_pipeline_layout
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00
Faith Ekstrand
e2cb395a1f
vulkan: Add a vk_pipeline base struct
...
We need to be able to thunk through a destroy callback if we want to
have different kinds of pipelines implemented in different parts of the
stack.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024 >
2024-02-27 22:17:09 +00:00