Commit graph

157639 commits

Author SHA1 Message Date
Dave Airlie
0bb03ffc76 gallium: use gl shader types as the basis for the gallium ones
This should enable a rename transistion.

Trace needs to swap over to a non-generated version, but that should be fine.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
9edd861eb1 gallium: fixup some inconsistent uses of enum pipe_shader_type.
These should be the enum not unsigned.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com> (panfrost)
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com> (v3d)
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
49253c9c1b gallium/iris/crocus: collapse a bunch of conversion functions.
Add some static asserts.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
27f46465c7 gallium/tgsi: reorder pipe shader type defines.
Line these up with Mesa, prepare for fallout.

zink: the one where Mike gets overfriendly with enum layouts.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
9bbf235fd9 svga: compare shader type against compute not tess eval.
To get all graphics stages compare < COMPUTE not <= TESS_EVAL
should make it more robust against reordering.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
a26543f636 virgl: abstract virgl shader stages from pipe shader stages.
If the gallium ones get reordered, add the abstraction to the virgl
wire types.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
64e8993476 zink: add defines for the shader stage templates.
This just allows fixing these up easier later.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747>
2022-08-04 08:17:39 +00:00
Dave Airlie
a9d8d606cc llvmpipe/gallivm/draw: introduce a buffer type.
In order to do vulkan properly we need to move towards proper descriptor
based operations for the shader.

This is a bit of a precursor, this consolidates the ubo/ssbo stuff into
a buffer type and uses that in the backend.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17783>
2022-08-04 16:48:07 +10:00
Dave Airlie
118d61df59 draw: fix up jit type creation for gs/tcs/tes
These were using numbers instead of defines, which makes
reordering them harder.

This should have no functional differences.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17783>
2022-08-04 16:48:03 +10:00
Dave Airlie
e145912654 lavapipe: enable shader clock
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17868>
2022-08-04 04:21:49 +00:00
Dave Airlie
c6cc3dece0 llvmpipe: add shader clock support
Add support for calling out to the os time functions from the llvm side.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17868>
2022-08-04 04:21:49 +00:00
pal1000
25e2c4d784 Microsoft clc: strip lib prefix
Otherwise OpenCLon12 ICD can't load it

Ref: https://github.com/microsoft/OpenCLOn12/search?q=clon12compiler

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17856>
2022-08-04 04:13:51 +00:00
pal1000
ec46a85c4f d3d12/dzn/spirv2dxil: Require version library
Fixes: b8328c9 ("microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK")

Closes: #6952

Closes: #6959

v2: Always lookup version library on Windows

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17837>
2022-08-04 03:15:41 +00:00
Emma Anholt
42a52a8be1 ci/bare-metal: Re-open serial and everything after test phase timeout.
If we got a "Reached the end of the CPU serial log without finding a
result" because the test phase timed out, then the CPU serial would have
been closed as part of the timeout process, so we need to close the rest
and re-instantiate the servo run class.

fastboot and poe already re-instantiate the class on retry.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17689>
2022-08-04 02:48:26 +00:00
Julia Tatz
4e2f6e5b4c zink: Advertise PIPE_CAP_NATIVE_FENCE_FD
Enables EGL_ANDROID_native_fence_sync

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17478>
2022-08-04 02:33:58 +00:00
Mike Blumenkrantz
86e4fcd9a9 zink: add a graphics pipeline library implementation
this is only for driver debugging/validation and will not
activate unless ZINK_PIPELINE_LIBRARY_FORCE=1 is specified since it
can only ever add overhead and slow things down

...for now

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
e20aa7eb3a zink: set program pipeline array idx earlier in zink_get_gfx_pipeline
no functional changes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
ed733d934e zink: reorganize zink_gfx_pipeline_state a little
this is more optimal for library-based hashing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
5b7eb0d9d3 zink: break out program primtype->idx conversion function
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
2215377aa0 zink: change zink_create_gfx_program signature
no functional changes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
80fac34d92 zink: hook up pipeline_library extensions
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
ae022b784c zink: always set vertex dynamic states
even if there are no bindings, this should be set in order to further
deduplicate the number of pipelines needed

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
3d58642984 zink: init cache_put program fence on program creation
re-initializing here might overwrite an existing cache_put job

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>
2022-08-04 02:16:18 +00:00
Dave Airlie
4c0a7a169d gallivm: fix printf hook for cached shaders.
I've noticed this before but never tracked it down, but it's annoying.

The printf hooks would crash with debug shaders when they were loaded
from the cache. This was because nothing was initing the printf hook
in the cached path so the global was never set.

No problems just always creating this afaics.

Fixes: 333ee94285 ("gallivm: rework debug printf hook to use global mapping.")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17867>
2022-08-04 01:35:39 +00:00
Chia-I Wu
f0558c6f1c turnip: use SPDX-License-Identifier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
8977913a23 turnip: remove headers from libtu_files
meson can work out the dependencies.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
381f234ab8 turnip: remove tu_private.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
5f7538f241 turnip: move away from tu_private.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
46baf86414 turnip: update tu_util.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
e99703b515 turnip: add tu_android.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
8e61bee30c turnip: add tu_cmd_buffer.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
6666ec3945 turnip: add tu_device.h
Also drop unused

 - tu_instance_extension_supported
 - tu_physical_device_api_version
 - tu_physical_device_extension_supported
 - tu_device_submit_deferred_locked
 - tu_get_perftest_option_name

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
9d9bf78565 turnip: update tu_autotune.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
4fc31e4af3 turnip: add tu_wsi.h
Also drop unused x11 and wayland type definitions.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
543fac108d turnip: add tu_pass.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
3c607309c9 turnip: add tu_lrz.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
79dd12478f turnip: add tu_dynamic_rendering.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
4f759fddba turnip: add tu_clear_blit.h
Also drop unused tu_emit_load_gmem_attachment.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
6430efcab7 turnip: add tu_pipeline.h
Also drop unused tu_pipeline_key.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
ec5bc3d8ff turnip: add tu_shader.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
a7fe90434c turnip: update tu_descriptor_set.h
Also drop unused tu_descriptor_range.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
216f19e62f turnip: add tu_formats.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
095dfcae45 turnip: add tu_image.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
65a5fbcb15 turnip: add tu_query.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
51d416a7e4 turnip: update tu_cs.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
2e337f05ab turnip: add tu_suballoc.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
4d9ac3d0df turnip: add tu_drm.h
Also define tu_syncobj_from_handle only when TU_USE_KGSL.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
120469efea turnip: remove includes that are already in tu_common.h
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:12 +00:00
Chia-I Wu
0312157101 turnip: add tu_common.h as the common header
Move most includes and defines in tu_private.h to the new tu_common.h.

tu_common.h is a header that all other files include, mostly indirectly
through tu_private.h.  The only exceptions are tu_perfetto.h and
tu_tracepoints.h, because ir3 headers are not compatible with C++.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811>
2022-08-04 00:40:11 +00:00
Constantine Shablya
2af624706a anv: use nir_opt_uniform_access
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558>
2022-08-03 23:57:50 +00:00