Pavel Ondračka
5825f9dd68
nine: use separate register for aL emulation
...
NIR loop unrolling is only working if the loop counter is a scalar.
So keep the loop counter separate and move the aL emulation and
the aL increment to a new register.
This allows loop unrolling with vec4 backends where unconditional
scalarizing of phi nodes is undesirable, like for example r300.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7222
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21243 >
2023-04-01 11:12:55 +00:00
Karol Herbst
ac993ae828
rusticl/kernel: make use of cso info
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19855 >
2023-03-31 20:29:00 +00:00
Karol Herbst
87147e2b09
rusticl/kernel: set has_variable_shared_mem on the nir
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19855 >
2023-03-31 20:29:00 +00:00
Lucas Fryzek
cffa67af01
gallium: Modify default path for DMABUF to use DRM
...
Modify the code path taken in `u_pipe_screen_get_param_defaults`
to call DRM to check if `PIPE_CAP_DMABUF` is supported. This is
required for overriding the behavior in `dri2_init_screen_extensions`
to support importing DMA bufs on drivers that don't support DRM, by
simply changing how `PIPE_CAP_DMABUF` is handled in their driver.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21654 >
2023-03-31 13:39:07 +00:00
Mike Blumenkrantz
4faa0c2f10
lavapipe: advertise EXT_shader_object
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22233 >
2023-03-31 13:19:27 +00:00
Mike Blumenkrantz
8b3022c918
lavapipe: implement EXT_shader_object
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22233 >
2023-03-31 13:19:27 +00:00
Mike Blumenkrantz
469a1d8c11
lavapipe: break out pipeline layout creation for reuse
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22233 >
2023-03-31 13:19:27 +00:00
Mike Blumenkrantz
dd8d52cabc
kopper: apply ancillary invalidation through glthread on swapbuffers
...
this fixes invalidations with tc's renderpass parsing so they get picked
up before the renderpass ends
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910 >
2023-03-30 05:06:47 +00:00
Mike Blumenkrantz
aa9d823318
lavapipe: move default rasterizer state values to rendering_state init
...
these should always be set
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
38e3132dfa
lavapipe: avoid uniformly unsetting gs_output_lines
...
instead fix the conditional now that it's possible to tell whether
a gs is bound
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
ddf8917b2d
lavapipe: only unset tess_states pointers on tes bind
...
this is otherwise irrelevant
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
5feeb2535b
lavapipe: only update shader access for bind/unbind stages
...
also squash a loop
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
770d162318
lavapipe: split out gfx stage unbinding
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
42ebb995c5
lavapipe: don't double unbind gfx stages on pipeline bind
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
d97d921634
lavapipe: dynamically bind noop fs at draw time when needed
...
this is simpler than special casing it everywhere
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
3366b4a9b9
lavapipe: unify lvp_pipeline_nir creation
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
5880fc00c2
lavapipe: add a ref for the tess_ccw nir on creation
...
not sure if it matters but good to be consistent
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
d127c134eb
lavapipe: refactor pipeline destroy a bit
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
30db1800e9
lavapipe: delete unused struct member
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
25a47e3cc6
lavapipe: break out all the important parts of gfx pipeline setting for reuse
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
ac1f843b28
lavapipe: pull out dynamic tess origin check in gfx pipeline bind
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
295141b39b
lavapipe: don't access pipeline shader structs as much during bind
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
062bf6f455
lavapipe: PIPE_SHADER_ -> MESA_SHADER_
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
ef4df9bc01
lavapipe: merge some loops in handle_graphics_pipeline()
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
8aa59f57a0
lavapipe: refactor compute shader binding
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
39bb7785e6
lavapipe: stop using rendering_state::pipeline
...
access shaders directly now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:36 +00:00
Mike Blumenkrantz
d5857240bb
lavapipe: add a device member to rendering_state
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:35 +00:00
Mike Blumenkrantz
b7197451d0
lavapipe: track bound shader stages on rendering_state
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:35 +00:00
Mike Blumenkrantz
771e0e14a8
lavapipe: refactor shader compile functions to not take pipeline params
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:35 +00:00
Mike Blumenkrantz
f986f85fdc
lavapipe: don't memcpy tess_ccw when copying pipeline library shaders
...
this gets handled later
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:35 +00:00
Mike Blumenkrantz
9193fb2efd
lavapipe: always copy streamout info when creating shaders
...
llvmpipe should be smart enough to figure this out internally
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866 >
2023-03-30 04:50:35 +00:00
Teng, Jin Chung
2e4f2472cc
frontend/va: Add large_scale_tile from VADecPictureParameterBufferAV1
...
Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22048 >
2023-03-24 01:51:07 +00:00
Boyuan Zhang
2c1da7fbde
frontends/va: check decoder in va surface call
...
Add a check to see if decoder is valid before using it. Currently we
only support decode and encode operations, return unsupported error
for all other entrypoints.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21905 >
2023-03-23 10:14:14 -04:00
Brian Paul
5e039dbf8e
gallium/xlib: call fence_finish() in XMesaSwapBuffers()
...
Before we can present the buffer we need to wait for the fence to
finish. This fixes severe flickering of unfinished rendering in
many demos/tests. This has been broken for a while, I think.
Note, this is for the non-DRI / Xlib-based GLX.
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21993 >
2023-03-20 06:05:47 +00:00
Mike Blumenkrantz
8b38c4f43c
lavapipe: beef up LVP_POISON_MEMORY
...
this makes lavapipe behave more like a tiler and completely annihilate
any existing data for DONTCARE load/store ops
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21847 >
2023-03-14 14:52:24 +00:00
Mike Blumenkrantz
c28c995645
lavapipe: add command debugging
...
I keep adding this in locally. it's great for debugging
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21814 >
2023-03-14 06:16:32 +00:00
Mike Blumenkrantz
e6e1d01be0
lavapipe: set render_condition_enabled=false for vkCmdClearDepthStencilImage
...
this command ignores conditional rendering
fixes:
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_host_memory_expect_noop
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_host_memory_secondary_buffer_expect_noop
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_host_memory_secondary_buffer_expect_noop_inverted
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_host_memory_secondary_buffer_inherited_expect_noop
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_local_memory_expect_noop_inverted
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_local_memory_secondary_buffer_expect_noop
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_local_memory_secondary_buffer_expect_noop_inverted
dEQP-VK.conditional_rendering.conditional_ignore.clear_condition_local_memory_secondary_buffer_inherited_expect_noop
Fixes: fe53c22294 ("lavapipe: fix only clearing depth or stencil paths.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21814 >
2023-03-14 06:16:32 +00:00
Mike Blumenkrantz
c9e757c61e
lavapipe: fix dynamic depth clamping
...
on pipeline bind with dynamic state, depth_clip_near needs to either be set by
* applying the dynamic state
* using the pipeline state
the previous code always used the pipeline state
fixes:
dEQP-VK.pipeline.*.extended_dynamic_state.between_pipelines.depth_clamp_enable
Fixes: 650880105e ("vulkan,lavapipe: Use a tri-state enum for depth clip enable")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21814 >
2023-03-14 06:16:31 +00:00
Mike Blumenkrantz
e5b29e6735
Revert "Revert "ci: disable mesa-swrast runner jobs""
...
This reverts commit 7ae0d9d2e8 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21836 >
2023-03-10 12:37:56 +00:00
Emma Anholt
7ae0d9d2e8
Revert "ci: disable mesa-swrast runner jobs"
...
This reverts commit aef0f3efdf .
We've got a new set of runners now (mesa-swrast-4, 5, and 7 because
counting is hard)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21826 >
2023-03-10 04:04:59 +00:00
David Heidelberg
aef0f3efdf
ci: disable mesa-swrast runner jobs
...
Temporarily.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21815 >
2023-03-09 18:01:09 +00:00
Mike Blumenkrantz
7413ce7e0d
lavapipe: break out main shader lowering into separate function
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
f2765cd6d6
lavapipe: move uniform inline functions to shader struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
7718d7f31a
lavapipe: rename inline uniform function params
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
990fa82c61
lavapipe: move xfb init to shader struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
b221f6c128
lavapipe: more small shader struct usage tweaks
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
a0c9609e59
lavapipe: pass shader struct and layout to scan_pipeline_info()
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
6e5fe71599
lavapipe: split out shader struct members into their own struct
...
kinda gross but simplifies some code
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Mike Blumenkrantz
2af3476639
lavapipe: split out spirv compile of shaders
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21778 >
2023-03-08 18:25:01 +00:00
Antonio Gomes
06daa03c5c
rusticl: Implement spec for cl_khr_image2d_from_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20378 >
2023-03-07 18:24:56 +00:00