Corentin Noël
b3793dc442
mesa: OpenGL ES 3.0 requires EXT_instanced_arrays
...
Add it to the list of the required extensions.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22167 >
2023-04-11 10:22:35 +00:00
Lionel Landwerlin
cff71ae8ff
anv: fixup streamout write barriers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8796
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22336 >
2023-04-11 09:53:10 +00:00
Konstantin Seurer
2bf9ae78c5
radv: Remove radv_bvh_aabb_node::aabb
...
It was only read by RRA which can infer it from the parenbt internal
node.
Change in average build time (Control):
84.69471 ms -> 84.25319 ms
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22400 >
2023-04-11 07:57:34 +00:00
Konstantin Seurer
1ce50f0774
radv/bvh: Remove calculate_node_bounds
...
It is unused and will prevent removing the aabb field from
radv_bvh_aabb_node.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22400 >
2023-04-11 07:57:34 +00:00
Konstantin Seurer
f791cd9e43
radv: Pack and encode geometry id and flags on the CPU
...
There is no need to do it on the GPU.
Change in average build time (Control):
84.80691 ms -> 84.69471 ms
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22400 >
2023-04-11 07:57:34 +00:00
Konstantin Seurer
8391639b5f
radv: Remove has_previous_stage
...
MESA_SHADER_NONE implies that has_previous_stage is false.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22382 >
2023-04-11 06:24:17 +00:00
Konstantin Seurer
b4bae8a2c0
aco: Remove is_gs_copy_shader
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22382 >
2023-04-11 06:24:17 +00:00
Konstantin Seurer
58ab783153
radv: Remove some dead radv_shader_args setup
...
radv_declare_shader_args already sets them up.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22382 >
2023-04-11 06:24:17 +00:00
Konstantin Seurer
6f9bb453ef
radv: Add radv_shader_type to fix gs_copy and trap handler handling
...
is_gs_copy_shader and is_trap_handler_shader were cleared in
radv_init_shader_args. This restores the original behaviour.
Fixes: 67635bb ("radv: zero-initialize radv_shader_args right before declaring them")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22382 >
2023-04-11 06:24:17 +00:00
Alyssa Rosenzweig
c66be7521f
nir/lower_blend: Enable per-sample shading
...
Loading output require per-sample blending, so enable per-sample execution of
the shader as a whole so the right sample values are blended. Affects:
dEQP-GLES31.functional.multisample.default_framebuffer.sample_mask_sum_of_inverses
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22385 >
2023-04-11 04:16:32 +00:00
Alyssa Rosenzweig
a74c2ac403
nir/lower_blend: Set uses_fbfetch_output conservatively
...
Only insert a load_output if we're going to use it, don't rely on it getting
DCE'd since that will mess up the shader info. This does require a bit of logic
to figure out whether we do need it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22385 >
2023-04-11 04:16:32 +00:00
Alyssa Rosenzweig
d998217e17
mesa/st: Set uses_sample_shading when forcing per-sample
...
In addition to requiring per-sample interpolation, sample shading
changes the behaviour of gl_SampleMaskIn, so we need per-sample shading
even if there are no shader-in variables at all. In that case,
uses_sample_shading won't be set by glsl_to_nir. We need to do so here.
Affected dEQP test on asahi:
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_4
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22402 >
2023-04-11 03:32:41 +00:00
Jesse Natalie
52ba7e967b
d3d12: Support creating PSOs with no attachments with MSAA without TIR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22402 >
2023-04-11 03:32:41 +00:00
Yiwei Zhang
1fda55ba09
venus: forward ARM driverVersion for ANGLE workarounds
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22242 >
2023-04-11 03:17:56 +00:00
David Heidelberg
590959057c
ci/amd: raven is currently downgraded to 2 machines only, adapt
...
Revert when all 5 machines are back online.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22403 >
2023-04-11 02:33:52 +00:00
David Heidelberg
d9ba47e8d4
ci/amd: update device status
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22403 >
2023-04-11 02:33:52 +00:00
David Heidelberg
fe96bb8dcc
Revert "mesa: Enable NV_texture_barrier in GLES2+"
...
Fixes failing skqp GLES test:
- gles_lcdblendmodes
This reverts commit c7da969f8f .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22403 >
2023-04-11 02:33:52 +00:00
Friedrich Vock
900d622d8e
radv: Add RT stages to radv_mesa_to_rgp_shader_stages
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22367 >
2023-04-11 02:00:15 +00:00
Mike Blumenkrantz
de70c0cf88
lavapipe: implement inline variant caching
...
inlining is great, but it's less great if a new variant must be created
for every draw
to avoid this, cache inlined variants for reuse
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22363 >
2023-04-11 01:37:05 +00:00
Mike Blumenkrantz
9f5bb8992f
lavapipe: don't double-inline ubo0
...
this was already handled above and causes negative indexing
cc: mesa-stable
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22363 >
2023-04-11 01:37:05 +00:00
Alyssa Rosenzweig
7582752233
ci: Run clang-format on panfrost
...
So we don't regress formatting in the future. This should never really trigger
if people configure their editors correctly, but it can help avoid regressing
the formatting from drive-by patches.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
c7bf3b69eb
panvk: Clang-format
...
We're going to enforce clang-format in CI, so get with the program! This doesn't
change a *ton* all considered, because panvk was already aiming for the style we
have in the panfrost clang-format file.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
4ccf174009
panfrost: Re-run clang-format
...
We've regressed the clang-formatting in a few places, since we're not enforcing
formatting in CI yet and I think at one point my editor wasn't quite right.
Reapply so we can get to clang-format-clean.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
0a67386b40
pan/decode: Move comment out of designated initializer
...
clang-format chokes on this.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
c90f036516
panfrost/winsys: Clang-format
...
This was missed in the original clang-format commit because I touch this code so
infrequently, lol.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
edb5b03cde
panfrost/winsys: Add .clang-format for winsys folder
...
Last place where Panfrost code hides.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
74a31491ed
panfrost: Symlink gallium .clang-format to common
...
So we only have one .clang-format file to worry about.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22372 >
2023-04-10 21:56:04 +00:00
Alyssa Rosenzweig
e3105f93bd
mailmap: Update my e-mail
...
https://rosenzweig.io/blog/passing-reins-panfrost.html
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22399 >
2023-04-10 21:54:05 +00:00
Mike Blumenkrantz
d87756923d
lavapipe: refactor/consolidate GPL shader copying
...
this is easier to read/modify
also add asserts for members that should be null
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22352 >
2023-04-10 21:35:57 +00:00
Mike Blumenkrantz
e33fda3732
lavapipe: copy fragment shader when merging GPL pipelines
...
this otherwise loses access data and causes flakiness with atomic ops
Fixes: 6e5fe71599 ("lavapipe: split out shader struct members into their own struct")
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22352 >
2023-04-10 21:35:57 +00:00
Timur Kristóf
14be6b084e
radv: Don't include nir.h in radv_shader.h
...
Avoid recompiling some RADV files when something changes in NIR.
Also clean up a few other includes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22241 >
2023-04-10 20:01:28 +00:00
Timur Kristóf
2ff1267959
aco: Only include nir.h in instruction selection.
...
Don't recompile entire ACO when something changes in NIR.
Instead, only use some headers which are actually needed,
include these in ACO files instead of relying on nir.h to
include them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22241 >
2023-04-10 20:01:28 +00:00
Timur Kristóf
8e9d269da6
aco: Don't use nir_selection_control in aco_ir.
...
We don't want to rely on any NIR structures in ACO, because
we would like to avoid the need to include nir.h in aco_ir.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22241 >
2023-04-10 20:01:28 +00:00
Timur Kristóf
cff02468c6
aco: Fix optimization of v_cmp with subgroup invocation.
...
There was a typo in this optimization which went unnoticed.
Fixes: 2c40215ab9
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22393 >
2023-04-10 19:15:27 +00:00
Yiwei Zhang
57afa79933
venus: move exp feature init back to ring and remove unused function
...
This mostly undos 476c771e34 and removes
the unused vn_renderer_submit_simple_sync.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22323 >
2023-04-10 18:59:40 +00:00
Yiwei Zhang
b285083cad
venus: requires ringMonitoring
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22323 >
2023-04-10 18:59:40 +00:00
Yiwei Zhang
5fcb2830e6
venus: requires asyncRoundtrip
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22323 >
2023-04-10 18:59:40 +00:00
Jesse Natalie
3cbd4fb61b
dzn: Don't enable bindless by default
...
There's bad interactions with dynamic buffers at this point:
* Perf issues due to allocating and freeing the buffer to store indices/offsets
* Large dynamic uniform buffer offsets (above 65K) cause out-of-bounds reads
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
4d142ec594
dzn: Never set STATE_RENDER_TARGET on a compute command list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
5aca593262
dzn: Ignore unnormalized sampling flag if driver doesn't support it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
51c96cb745
dzn: Use a linear allocator for upload data on command buffers
...
Significantly improves performance for apps that heavily use
dynamic descriptors.
Still needs caching so they can be re-used after command buffer reset.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
0c2848f44a
dzn: Changes to descriptor set dirty flag handling
...
The scenario of:
* App binds multiple descriptor sets
* App binds a pipeline that uses a subset of them
* App binds a pipeline that uses more of them
was broken. We were only copying the descriptors for the accessible
subset before, but then clearing all dirty bits, so simply changing
the pipeline wouldn't result in more descriptors being copied.
When running not-bindless, the right thing to do is to copy *all*
descriptors if we're copying any. When running bindless, each parameter
is set separately, and more importantly, *can't* be set on the command
list if the root signature can't access them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
01ccba0d8e
microsoft/compiler: Don't split loads/stores that will be split by lower_explicit_io
...
Otherwise we can end up splitting push constant loads, which currently require
an unbroken (no-cast) deref chain up to the variable.
Fixes: 4c527f4f ("spirv2dxil: Lower unaligned loads and stores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Samuel Pitoiset
642a88df3d
docs: add more release notes for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22390 >
2023-04-10 18:37:26 +00:00
Rhys Perry
bb653b0acb
nir: make nir_fisnan helper exact
...
Floating point ALU assume no NaNs unless
FLOAT_CONTROLS_SIGNED_ZERO_INF_NAN_PRESERVE_FPn or (for some opcodes)
exact=true.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: bf9c1699cd ("nir: add nir_fisnan helper function")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22206 >
2023-04-10 17:42:24 +00:00
Vitaliy Triang3l Kuzmin
a6ab0cff08
radv: Set DB_Z_INFO.NUM_SAMPLES to MSAA_EXPOSED_SAMPLES without Z/S
...
This case is a new addition in GFX11, and according to PAL, when no
depth/stencil attachment is bound, it must be set to the number of coverage
samples (the number of SampleMask bits - which is MSAA_EXPOSED_SAMPLES):
4640888b57/src/core/hw/gfxip/gfx9/gfx9UniversalCmdBuffer.cpp (L6978)
Without this change, the maximum of depth/stencil and color sample counts
is used, and if there are no depth/stencil or color attachments (target-
independent rasterization), the Depth Block assumes 1 coverage sample, and
thus Primitive Ordered Pixel Shading doesn't work correctly (and fails 4xAA
fragment shader interlock CTS tests), and occlusion queries don't count the
correct number of samples (according to the "Sample Counting" section of
the Vulkan specification, "the occlusion query sample counter increments by
one for each sample with a coverage value of 1...")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22375 >
2023-04-10 15:07:30 +00:00
Mike Blumenkrantz
75a7dcf35f
zink: try to prune resources from barrier jit on fb unbind
...
if a resource has no binds remaining then it should not remain in
the queue for barrier updates on the next draw
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22398 >
2023-04-10 14:44:13 +00:00
André Almeida
871aa64e53
winsys/amdgpu: Fix amdgpu_cs_query_reset_state2 error log
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: André Almeida <andrealmeid@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22253 >
2023-04-10 13:50:36 +00:00
André Almeida
ad4a72c11e
radv: Implement vk.check_status
...
Implement check_status function so the driver can check if the GPU has
been reset by the application, and thus if it's still available.
AMDGPU_CTX_QUERY ioctls work by asking amdgpu if this context was the
cause of a previous GPU reset.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: André Almeida <andrealmeid@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22253 >
2023-04-10 13:50:36 +00:00
Samuel Pitoiset
c8949db0cc
radv/ci: update expected failures with BONAIRE
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22391 >
2023-04-10 11:47:15 +00:00