David Rosca
c56fc312a8
frontends/va: Parse H264 prefix for temporal_id
...
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31148 >
2024-10-11 13:55:54 +00:00
David Rosca
ce2eedd13e
frontends/va: Fix parsing HEVC st_ref_pic_set
...
According to spec, the slice ref pic set is the last entry
in st_ref_pic_set[] array.
As such, the maximum number of st ref pic sets is 65.
Fixes: ef8ba75718 ("frontends/va: Parse HEVC slice packed header")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31308 >
2024-10-11 10:46:49 +00:00
Lucas Stach
7db47af6dd
etnaviv: Update headers from rnndb
...
Update to rnndb commit 3e64c80ed98f.
This extends two fields related to vertex attribute and stream
configuration, so they work correctly with the limits exposed
by the GPU.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31594 >
2024-10-11 09:33:03 +00:00
Caio Oliveira
b9787fcc80
intel/brw: Move emit_scan/emit_scan_step near its usage
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
0ba1159b0a
intel/brw: Add SHADER_OPCODE_*_SCAN
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
9537b62759
intel/brw: Add SHADER_OPCODE_REDUCE
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
4361a08254
intel/brw: Reduce scope of has_source_and_destination_hazard
...
This predicate at the moment is only relevant during register
allocation, so move it there and the code can ignore virtual
instructions that were already lowered previously.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
bf9456753d
intel/brw: Validate some instructions exists only up until some phases
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
affa7567c2
intel/brw: Add phases to backend
...
The general idea is to be able to validate that certain instructions
were lowered and certain restrictions were already handled. Passes can
now assert their expectations, i.e. if a pass is mean to run after
certain lowerings or not.
The actual phases are a initial stab and as we re-organized the passes,
we may remove/add phases.
This commit just add some phase steps, later commits will make use of
them.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
21f78454bf
intel/brw: Fix Gfx9 3-src validation to handle FIXED_GRF
...
Note this validation path is not being used at the moment, but will in a
later commit.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
3e8796b677
intel/brw: Print Non-SSA regs after NIR in debug output
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
2811cb2923
intel: Add statistic for Non SSA registers after NIR to BRW
...
This is going to be useful while we convert the NIR to BRW to produce
SSA definitions.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Caio Oliveira
6db7d1af16
intel/compiler: Rename shader_stats structs
...
Add the `brw_` and `elk_` prefixes to the structs to avoid compilation
failure building with LTO ("violates the C++ One Definition Rule") when
the structs diverge.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30496 >
2024-10-11 06:40:29 +00:00
Christian Gmeiner
babeba264b
etnaviv: Implement ARB_draw_indirect
...
Passes all relevant piglits with forced GLSL 330 and GL 3.1.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31535 >
2024-10-11 07:42:47 +02:00
Caio Oliveira
13d99979d2
intel/brw: Remove the remaining DO_SRC macro from EU validation
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
f1036da345
intel/brw: Add vstride/width/hstride to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
2251748aad
intel/brw: Add dst/srcs register numbers to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
808b8b65b6
intel/brw: Add abs/negate to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
f6dbb72219
intel/brw: Add dst/src0 address_mode to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
e4440df2d8
intel/brw: Add pred/cmod/sat to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
be70d1f9b1
intel/brw: Add dst/srcs type to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
e0ba4ca166
intel/brw: Add dst/srcs reg file to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
3db1c3fc0e
intel/brw: Add access_mode to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
3dc1f64e51
intel/brw: Add exec_size to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
853fe03470
intel/brw: Add has_dst to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
c394eb3111
intel/brw: Add num_sources to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
9cdb90e787
intel/brw: Add opcode to brw_hw_decoded_inst
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
76e177d87d
intel/brw: Create a struct to hold a decoded brw_inst in eu_validation
...
For now it contains only the "raw" brw_inst. Later patches will add
useful fields to it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Caio Oliveira
382bd4ce36
intel/brw: Add ERROR helper variant that returns to EU validation
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31296 >
2024-10-11 04:13:48 +00:00
Faith Ekstrand
2fb4aed9d8
nvk: Advertise VK_KHR_fragment_shading_rate
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
e45effe555
nvk: Set VARIABLE_PIXEL_RATE_SHADING_TABLE_SELECT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
99107ef8d4
nak: Add support for gl_PrimitiveShadingRateEXT
...
This aliases gl_ViewportIndex in the NVIDIA attribute space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
ab8e6bf4c3
nak: Pass a nak_compiler into sysval and attrib helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
58252622f1
nak: Add support for gl_ShadingRateEXT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
957a1add26
nak: Rename SV_VERTEX_COUNT to PRIM_TYPE
...
This is what nvdisasm calls it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
1e7c3ddc33
nak: Get rid of some dead code warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
75bcb656d9
nvk: Add support for binding fragment shading rate images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
16bd3f0f50
nvk: Emit FSR state
...
This is mostly a matter of filling out the
VARIABLE_PIXEL_SHADING_INDEX_TO_RATE tables.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
55854de584
nvk: Rework setting of min_sample_shading
...
Instead of just storing a pre-computed min_sample_shading, store both
sample_shading_enable and min_sample_shading and then compute the final
min_sample_shading value when we emit state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
746ea7b0cd
vulkan: Add a vk_fragment_shading_rate_is_disabled() helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
29dd0236b5
nvk: Initialize VARIABLE_PIXEL_RATE_SAMPLE_ORDER
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
840ec73f51
nvk: Implement GetPhysicalDeviceFragmentShadingRatesKHR()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
8f1697b12d
nil: Use D3D sample modes by default
...
Only the D3D modes work with RASTER_SAMPLES_MODE or with variable
shading rates.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
e14b4bcb88
nvk: Support D3D sample modes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
097f8b2c7d
nil: Add D3D sample layouts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
279cebf726
nouveau/class_parser: Add more method arrays
...
A bunch of FSR stuff is arrays. While we're at it, add a handful of
other things I've seen in blob traces.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
48898c47bf
nvk: Rework setup of sample masks
...
Annoyingly, 2x2 with 2 passes uses the masks 0xa and 0x5, not 0x3 and
0xc as the current code assumes. When we enable 4x2_D3D, that one gets
even more wonky. This reworks things so that we have two copies of root
descriptor sample_masks array in scratch states, one for 2pass and one
for 4pass, that get copied into the push constants as needed. This
should handle the needs of both 2x2 and 4x2_D3D as well as 4x4 when the
time comes.
Fixes: 6a84d5439d ("nvk: Move the ANTI_ALIAS_CONTROL logic to the MME")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
f009721d11
nvk: Add an nvk_cmd_emit_sample_layout() helper
...
This also pulls SET_ANTI_ALIAS and MME_SET_ANTI_ALIAS together.
Fixes: 6a84d5439d ("nvk: Move the ANTI_ALIAS_CONTROL logic to the MME")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
f8c0377421
nil: Add a helper to get samples from a SampleLayout
...
Fixes: 6a84d5439d ("nvk: Move the ANTI_ALIAS_CONTROL logic to the MME")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00
Faith Ekstrand
cf31388a9a
nouveau/mme: Turing can't have emit and state in the same op
...
Fixes: 6a84d5439d ("nvk: Move the ANTI_ALIAS_CONTROL logic to the MME")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585 >
2024-10-10 23:16:57 +00:00