Konstantin Seurer
a2159dfe8a
gallivm: Handle invalid image format/op combinations
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
1841dd7549
gallivm: Add lp_img_op_from_intrinsic
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
6a0383e518
gallivm: Add lp_build_nir_sample_key
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
9d3dbc6400
llvmpipe: Add lp_storage_render_image_format_supported
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
cfb37e7383
llvmpipe: Add lp_storage_image_format_supported
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
fbe7c970f6
llvmpipe: refactor out the pipe->lp_jit structure fillers.
...
These are useful later for descriptor indexing, but refactor them
out now.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
c3c9e28131
gallivm: Cast read_first_invocation source to an int
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Konstantin Seurer
3101f900a0
gallivm: Fix anisotropic sampling with num_mips=1
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23515 >
2023-06-08 06:07:37 +00:00
Dave Airlie
d99dca86ce
lavapipe: ignore another yuv format.
...
Since these were added to generic translation, lavapipe has
been annoyed.
Cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23486 >
2023-06-08 05:54:06 +00:00
Dave Airlie
da54b57888
radv/video: fix hevc scaling lists.
...
These need some zscan conversion, that I've taken from vaapi.
v2: move to common code for it_ptr updates, add defines
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Dave Airlie
3f12103be9
radv/video: fix hevc st rps programming
...
These needs to be programmed to fix some video glitches.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Dave Airlie
f0597a1514
radv/video: rework h265 reference frame bindings.
...
This reworks the ref frame bindings and allows dropping the tier_2 workaround.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Dave Airlie
b8191cd603
radv/video: don't supply an 8-bit format for a 10-bit dpb.
...
The firmware can write an 8-bit output buffer, but still needs
a 10-bit dpb allocation.
This also puts the 8-bit format after the 10-bit format though
apps should be smart enough to pick the correct one.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Dave Airlie
b2e1e17ff6
radv/video: convert session memory requirements to outarray.
...
These are just standard outarray so use the common code.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Dave Airlie
28f2a6b281
radv/video: convert video format properties to an outarray
...
These are just standard outarray so use the common code.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23476 >
2023-06-08 05:34:06 +00:00
Chia-I Wu
d0d7dda829
radv: fix non-square compressed image copy on gfx9
...
There is a typo in fixup_gfx9_cs_copy.
Fixed dEQP-VK.api.copy_and_blit.*.image_to_buffer.2d_images.mip_copies_bc*_64x192_* in deqp 1.3.6.0.
Fixes: 35f053ba8c ("radv: Fix corrupted mipmap copies on GFX9+")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23483 >
2023-06-08 04:58:31 +00:00
Karol Herbst
8616c0a52c
rusticl/event: flush queues from dependencies
...
We have to flush all event dependencies inside clWaitForEvents and
clFinish implicitly otherwise applications might wait forever.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9052
Fixes: ebfffa1dae ("rusticl/event: wrong but non crashing impl of clWaitForEvents")
Cc: mesa-stable
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23110 >
2023-06-08 04:16:35 +00:00
Karol Herbst
86dd5dd853
rusticl: bump rust req to 1.60
...
We need this rustc bugfix:
6466f89fc5
Cc: mesa-stable
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23110 >
2023-06-08 04:16:35 +00:00
Karol Herbst
e285a05c2a
doc/rusticl: add Rust Update Policy
...
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23110 >
2023-06-08 04:16:35 +00:00
Matt Turner
19092576ce
u_format: Use memcpy to avoid unaligned accesses
...
These functions are used by gl[Get]TexImage, which imposes no
alignment restructions on the void *pixels parameter.
This fixes an unaligned access in GTK's "gtk:gdk / memorytexture" unit
test on SPARC, which causes the test to fail.
Fixes: 45ae4434b5 ("util: Use bitshift arithmetic to unpack pixels.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23482 >
2023-06-08 03:42:39 +00:00
Pierre-Eric Pelloux-Prayer
96cf4531e1
Revert "gallium/u_threaded: buffer sharedness tracking"
...
This reverts commit 8f159a8576 .
This commit is correct but it exposes an existing bug: DISCARD_RANGE doesn't
work well with shared buffers.
So for now revert this commit as it's causing hangs on some APUs (see
https://gitlab.freedesktop.org/drm/amd/-/issues/2447 ) and flickering in
Metro Last Light Redux.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9108
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23492 >
2023-06-08 03:10:49 +00:00
Lionel Landwerlin
965503ae22
anv: allow binding tables allocations on compute only queues
...
COMPUTE_WALKER is using binding tables.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: eb2b309328 ("anv: defer binding table block allocation to when necessary")
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23506 >
2023-06-08 02:37:44 +00:00
Dave Airlie
b1faeae4fe
draw: repack some members of context.
...
this just fills a hole in
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
73f7948298
draw: add a max stage define and use it in a few places
...
This should decrease the size of some memory allocations.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
f922f1f902
draw: refactor resources to use arrays instead of explicit structs.
...
This should simplify the code and make it easier to refactor later.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
d1cdf0d91a
gallium/tgsi/draw/softpipe: remodel shader const/buffer bindings.
...
This remodels things around a buffer object.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
370cd08a5e
draw/tess: drop unused tgsi bits.
...
tess isn't supported by tgsi
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
f1b752f650
draw: rename jit to vs_jit in lots of places.
...
we should have done this when geom shaders got added,
do it now, will make it easier to consolidate some code in macros
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23487 >
2023-06-08 02:10:54 +00:00
Dave Airlie
c20df7e22e
gallivm/nir: fix shuffleup tests.
...
So the shuffleup tests did a shuffle up with const 5,
we'd use invocation id (0..8) shuffle it down by 5,
get (-5..3), then call llvmshufflevector with that
which is totally illegal.
There might be a nicer way to fix this, but I can't see
it straight away, just bail on the fast path.
Fixes:
dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup*
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23484 >
2023-06-08 01:40:45 +00:00
Mike Blumenkrantz
976dd26004
lavapipe: NV_device_generated_commands
...
this adds sufficient handling to pass the vkd3d-proton tests as well
as running cts on zink, which is gonna have to be enough since there's
no vkcts
it works by dynamically generating a vk_cmd_queue list of commands just
like the regular cmd queue would generate, with the minor change that
the final link has a nulled next pointer to correctly handle buffer copies,
where the last link would otherwise have a next pointer pointing to the
original cmd list
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23394 >
2023-06-08 01:22:01 +00:00
Mike Blumenkrantz
3209609535
lavapipe: handle index buffers with offsets for indirect draws
...
gallium has no mechanism for setting an offset to the index buffer,
so this requires a new buffer to be created+bound dynamically at
the specified offset in order to read the correct data
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23394 >
2023-06-08 01:22:01 +00:00
Mike Blumenkrantz
1d64b185fe
lavapipe: add a zeroed buffer that can be bound in place of an index buffer
...
technically this is illegal in vulkan semantics, but some extensions have
their own definition of "illegal" when it comes to binding index buffers
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23394 >
2023-06-08 01:22:01 +00:00
Mike Blumenkrantz
ea9ded410a
lavapipe: add a mapping for BDA
...
when passing around BDA, it's important to be able to link the pointer
back to the pipe_resource since BDA doesn't have an explicit lifetime
this mapping enables cmds to receive a BDA pointer and then map it back
to a pipe_resource in order to avoid gymnastics with dynamically creating
pipe_resource objects which may or may not be able to be freed
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23394 >
2023-06-08 01:22:01 +00:00
Mike Blumenkrantz
2ac8ca7d72
lavapipe: pass list to cmdbuf exec, not cmdbuf
...
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23394 >
2023-06-08 01:22:00 +00:00
Daniel Schürmann
e05e62c611
radv/rt: remove now dead code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
60f9dbeb2b
radv/rt: use priorities to select the next shader
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
f5428a4181
radv/debug: dump ray tracing shaders in case of a hang
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
163c97e6a7
radv/rt: separate shader compilation
...
With this patch, we compile separately
- general shaders (raygen, miss, callable)
- closest-hit shaders
- traversal shader (incl. all intersection / any-hit shaders)
Each shader uses the following scheme:
if (shader_pc == shader_va) {
<shader code>
}
next = select_next_shader(shader_va)
jump next
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
defdcd2058
aco: adjust RT prolog for shader functions [disables RT]
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
302649dda1
radv/rt: adjust lower_rt_instructions() for shader functions [disables RT]
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
b33c01b00f
radv/rt: set up RT shader args for separate compilation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Friedrich Vock
365f3346f8
radv: Disable capture/replay handles
...
They don't work with separate compilation. Fixing this involves some
refactoring work, which will come in future MRs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
6a5eaa25ef
radv/rt: create compile_rt_prolog() function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
09e4535f20
radv/rt: don't write cache hit feedback per stage.
...
Too much boilerplate for no benefit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
7f2a569ec5
radv/rt: reference library shaders during radv_rt_fill_stage_info()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
772b5b3758
radv/rt: add and use specialized cache search/insert functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
62b4380acb
radv/rt: pass radv_ray_tracing_pipeline to RT shader creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
8fb7df92c0
radv/rt: replace pCreateInfo with VkPipelineCreateFlags in rt_variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
d506fe3397
radv/rt: change RT main shader to MESA_SHADER_INTERSECTION
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00
Daniel Schürmann
81e48613b9
radv/rt: implement radv_rt_nir_to_asm()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096 >
2023-06-08 00:37:03 +00:00