Mike Blumenkrantz
8b8b580e42
docs: EXT_robustness2 for lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
5167750d5b
lavapipe: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
0cebb87025
lavapipe: set robustBufferAccess2 and robustImageAccess2
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
f5caaf2d75
gallivm: fix oob txf swizzling
...
this wasn't taking into account the format swizzle, returning broken
alpha values in most cases
Fixes: 0b6554ba6f
("gallivm,llvmpipe: handle TXF (texelFetch) instruction, including offsets")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Erik Faye-Lund
8c8d08a8b8
lavapipe: add support for null-descriptors from EXT_robustness2
...
Mike says this should be enough for full support, so let's see ;)
Nope, no robust image or buffer access implemented yet.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
6a219f318a
llvmpipe: always set ssbo data pointers for draw
...
skipping these would lead to reading the previously-set data if
a null buffer was set after a valid buffer
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
f1d1371e51
gallivm/draw: fix oob ubo reads
...
the first case in gallivm did no checking, so this was always going to be
broken, so instead just copy the now-correct ssbo logic
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
a51e83b74e
st/draw_feedback: set constant buffer stride
...
these shaders all do float-based reads, so using vec4 for robustness
checks breaks gallivm
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
49df9eeb9d
lavapipe: fix CmdPushDescriptorSetWithTemplateKHR with refcounting
...
this is a cmdbuf function, which means it gets enqueued, which means
the template can't be destroyed until the cmdbuf has finished using it
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
aa98a90265
gallivm: fix ssbo oob reads
...
this was checking (offset < size) when really it needs to be
(offset < size && extent < size && offset >= 0)
Fixes: 591899eedd
("gallivm/nir: Add a short circuit uniform-offset mode for load_ssbo/load_shared.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
e339f65520
lavapipe: handle null samplerviews
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
8eae343401
lavapipe: tolerate NULL sampler-buffer view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
427cc8d55e
lavapipe: tolerate NULL image-buffer view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
aabf614f9b
lavapipe: tolerate NULL image view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
bca9020b75
lavapipe: tolerate NULL UBO and SSBO descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Georg Lehmann
60c9a45562
nir/opt_algebraic: Simple xor/ishr optimizations.
...
The first pattern here removes the xor-swap pattern.
Foz-DB GFX10_3:
Totals from 305 (0.23% of 134913) affected shaders:
CodeSize: 1589040 -> 1585164 (-0.24%)
Instrs: 284344 -> 283375 (-0.34%)
Latency: 4205148 -> 4198472 (-0.16%); split: -0.16%, +0.00%
InvThroughput: 708745 -> 708739 (-0.00%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16411 >
2022-05-10 19:29:31 +00:00
Georg Lehmann
66e917fff6
nir/opt_algebraic: Fix mask in shift by constant combining.
...
The comment above is correct, but the code to calculate the mask was broken.
No Foz-db changes outside of noise.
Fixes: 0e6581b87d
("nir/algebraic: Reassociate shift-by-constant of shift-by-constant")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15990 >
2022-05-10 18:47:21 +00:00
Timur Kristóf
81ad8c4979
radv/amdgpu: Use scheduled dependency for submitting to multiple queues.
...
This code path will be used on kernels that don't have the
"gang submit" feature in amdgpu yet.
It does each submission separately, and uses scheduled dependencies
to connect them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
03b3344a7c
radv/amdgpu: Pass correct struct type instead of repeating the cast.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
da2ab1d8a2
radv/amdgpu: Pass new queue submit info structure to internal function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
05c372ca5e
radv/amdgpu: Initialize semaphore info with a designated initializer.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
2226736033
radv/amdgpu: Group queue submit info into a structure.
...
This prepares RADV for submitting to multiple queues at the same time.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
27c4d8d5fa
ac/llvm: Remove now-superfluous intrinsics and ABI callbacks.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
f553076eaf
aco: Remove now-superfluous intrinsics.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
212f183c1f
ac/nir: Remove now-superfluous ac_nir_lower_tess_to_const.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
896a55f47d
radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments.
...
Totals from 58720 (45.64% of 128653) affected shaders:
VGPRs: 2056576 -> 2056568 (-0.00%)
CodeSize: 153906488 -> 154609536 (+0.46%); split: -0.00%, +0.46%
MaxWaves: 1665056 -> 1665058 (+0.00%)
Instrs: 29242117 -> 29417265 (+0.60%); split: -0.00%, +0.60%
Latency: 134149608 -> 134238738 (+0.07%); split: -0.00%, +0.07%
InvThroughput: 20348833 -> 20349641 (+0.00%); split: -0.00%, +0.00%
VClause: 489376 -> 489385 (+0.00%)
SClause: 729383 -> 729382 (-0.00%)
Copies: 2672567 -> 2673132 (+0.02%); split: -0.00%, +0.02%
Branches: 1192117 -> 1192121 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
7f189e3467
nir: Add upper bound for AMD shader arg intrinsics.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
2755acbdad
radv: Move radv_nggc_settings enum out of radv_cmd_buffer.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
719678f891
ac/nir: Add ac_nir_load_arg helper for shader arguments.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13155 >
2022-05-10 17:16:03 +00:00
Jason Ekstrand
370f02bf02
gallium: Bump PIPE_MAX_SHADER_IMAGES to 64
...
This is required by OpenCL
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:19 -05:00
Jason Ekstrand
ed3ed466c4
mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS
...
We're about to bump PIPE_MAX_SHADER_IMAGES to 64 and don't want to
overflow any state tracker arrays for GL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:18 -05:00
Jason Ekstrand
620c5e9dd0
gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers
...
Sampler views and samplers may not be the same limit; in fact one is 32
while the other is 128. The sampler_buffers field is tracking sampler
views (yes, naming is confusing) so we should use the right limit.
Fixes: e9c41b3214
("gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:16 -05:00
Jason Ekstrand
aea935264a
shader_info: Bump the number of images and textures supported
...
OpenCL requires up to 128 read-only images and up to 64 write images.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:15 -05:00
Jason Ekstrand
16ab9343f3
util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:14 -05:00
Jason Ekstrand
b37831c606
nir: Gather samplers_used separately from textures
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:12 -05:00
Jason Ekstrand
3c07c3e16d
shader_info: Make images_used a bitset
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:11 -05:00
Jason Ekstrand
28f534350c
nir: Stop assuming shader_info::textures_used is 32-bit
...
This isn't a hot path. We don't need to be manually using the
INSIDE_WORD version which will assert if we ever get a bigger texture
index.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:07 -05:00
Jason Ekstrand
625b352f14
nir: Set image_buffers and msaa_images in lower_samplers_as_deref
...
This is where we set images_used so it's less likely that things will
accidentally get out-of-sync.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:21:39 -05:00
Icecream95
c65afe541b
pan/mdg: Fix multiple spilt writes in the same bundle
...
If two instructions in a single bundle both write to a spilt
destination, then we need to reuse the fill and spill instructions,
otherwise the value will be overwritten.
This and the rest of this set of Midgard bug fixes were found from a
vertex shader in Firefox WebRender that is used when a video is
clipped, for example by setting the border-radius CSS property.
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
7b9c976c2d
pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled
...
We can't return a pointer to the bundle itself because it might move
about in memory.
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
ca2be07484
pan/mdg: Fix disassembly of store instructions
...
The mask does apply for store instructions, so pass it onto
print_vec_swizzle after converting it to the right format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
c750ab8a38
pan/mdg: Fix mask usage when filling before a spill
...
Check the bytemask against 0xFFFF rather than 0xF so that the fill is
skipped for a .xyzw write rather than a .x write.
Set the mask on the store to 0xF when doing a read so that all
components are written back.
Fixes: 31d26ebf1b
("pan/mdg: Fill from TLS before spilling non-SSA nodes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
b281843974
pan/mdg: Use MAX2 to set min_alignment
...
If a value is written in a vector CSEL but then written again by other
instructions, it still needs full alignment, so set min_alignment
using MAX2 to avoid ever reducing it.
Fixes: 1798f6bfc3
("pan/midgard: Fix masks/alignment for 64-bit loads")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
b1ecb90941
pan/mdg: Keep min_bound at 16 when alignment requires it
...
Otherwise LCRA will try to divide by zero when calculating m_max.
Fixes: 553c2cf16b
("pan/mdg: Set RA bounds for fp16")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Pierre-Eric Pelloux-Prayer
535bb0bda4
u_threaded: clear non-async debug callback correctly
...
The following sequence:
glEnable(GL_DEBUG_OUTPUT_KHR);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);
glDebugMessageCallbackKHR(my_callback, NULL);
Will cause the 2nd call to be ignored - but since the callback
function used by _mesa_update_debug_callback is always the
same (_debug_message), this means we'll keep using it, causing
"my_callback" to be called from driver-internal threads.
So instead of skipping the 2nd call, make sure we pass the
information to the driver.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5206
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16300 >
2022-05-10 10:55:21 +00:00
Martin Roukala (né Peres)
3fe3dbea69
ci: add ACO_DEBUG to the list of variables to pass down for testing
...
This parameter is used by radv-ci to perform extra validation while
running VKCTS.
This change catches more issues, which are will be addressed in !16248 :
- dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2,Crash
- dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2,Crash
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16277 >
2022-05-10 10:17:19 +00:00
Pierre-Eric Pelloux-Prayer
2b28668d1d
radeonsi/tests: reformat with black
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Pierre-Eric Pelloux-Prayer
9d157755b8
radeonsi/tests: add a heuristic to pick the baseline
...
When the baseline for the exact GPU tested isn't available,
try to make a reasonnable guess: look for another baseline
from a GPU in the same class.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Pierre-Eric Pelloux-Prayer
2ca64c1214
radeonsi/tests: allow empty line and comments in csv files
...
This will help describe why tests are failing.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Jordan Justen
1c3e584dfa
nir/divergence: handle more *_intel intrinsics
...
v2: fix topo/btd (Lionel)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16421 >
2022-05-10 08:49:58 +00:00