Jason Ekstrand
c15bf88f01
intel: Add a little OpenCL C compiler binary
...
v2: Fix up indentation (Marcin)
s/gen/gfx/ (Marcin)
Deal with fd closing in success/fail cases (Marin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Lionel Landwerlin
b1e7ce84cc
meson: try to find clang-cpp before going through each module
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Lionel Landwerlin
ec6e247a40
intel/fs: handle inline data on OpenCL style kernels
...
This is for Gfx12.5 with the COMPUTE_WALKER::Inline Data payload. We
do this in a similar way to the compute kernels.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Jason Ekstrand
4d8e788663
intel/kernel: Implement some Intel built-in functions
...
v2: Document mangled function names (Marcin)
Fixup progress & metadata (Marcin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Jason Ekstrand
346a7f14fb
intel/compiler: Add code for compiling CL-style SPIR-V kernels
...
v2: simplify INTEL_DEBUG expressions (Marcin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Jason Ekstrand
8c11912582
intel/debug: Dump KERNEL source when INTEL_DEBUG=cs
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Jason Ekstrand
d1bddfba6b
intel/nir: Add optimizations to help OpenCL-style kernels
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Lionel Landwerlin
4ec5da7270
intel/nir/fs: replace COMPUTE || KERNEL by gl_shader_stage_is_compute()
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Jason Ekstrand
e9ff6f4f06
nir/print: Add support for generic pointers
...
The way they're handled is that deref->modes is treated as a bitfield of
possible modes. Variables are required to have a specific mode and
derefs with deref_type_var are as well.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171 >
2022-03-21 11:26:44 +00:00
Yonggang Luo
24bc6c51e1
glx/egl: improve dri null screen related error messages.
...
Convert from `failed to create dri screen` to more exact error message
for easier debugging
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15480 >
2022-03-21 09:31:31 +00:00
Pierre-Eric Pelloux-Prayer
5b14a0e390
crocus: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
b83bbd6f7f
d3d12: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
42fe3c5815
etnaviv: replace opencoded slab_zalloc
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
f8cbbaff5f
freedreno: replace opencoded slab_zalloc
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
06b72f1e1a
lima: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
38aad273aa
iris: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
4e29299e2b
v3d: replace opencoded slab_zalloc
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
af7117df71
vc4: replace opencoded slab_zalloc
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
ff1744ee27
virgl: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
6fb52ba30e
zink: replace opencoded slab_zalloc
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
3dc6236b3c
r600: replace opencoded slab_zalloc
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:58 +01:00
Pierre-Eric Pelloux-Prayer
4b559f791c
radeonsi: replace opencoded slab_zalloc
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277 >
2022-03-21 09:47:57 +01:00
Mike Blumenkrantz
bd06680b61
lavapipe: KHR_synchronization2
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413 >
2022-03-21 04:55:37 +00:00
Mike Blumenkrantz
6d62c671ab
lavapipe: add QueueSubmit2 implementation
...
this converts the existing code to use VkSubmitInfo2 structs and adds
a new QueueSubmit wrapper which generates these structs from VkSubmitInfo
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413 >
2022-03-21 04:55:37 +00:00
Mike Blumenkrantz
00a6676506
lavapipe: add sync2 cmdbuf method implementations
...
nothing special here
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413 >
2022-03-21 04:55:37 +00:00
Mike Blumenkrantz
256e4d7949
lavapipe: fix typo in set_event execution
...
Fixes: eb7eccc76f
("lavapipe: Use generated command queue code")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413 >
2022-03-21 04:55:37 +00:00
Mike Blumenkrantz
01d597a3a5
docs: update lavapipe features and relnotes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463 >
2022-03-21 04:39:56 +00:00
Mike Blumenkrantz
a364f8c532
lavapipe 1.3
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463 >
2022-03-21 04:39:56 +00:00
Mike Blumenkrantz
0b8ecb5406
lavapipe: add a GetPhysicalDeviceToolPropertiesEXT stub
...
when no tools are loaded, this will otherwise crash
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463 >
2022-03-21 04:39:56 +00:00
Mike Blumenkrantz
741be76963
lavapipe: EXT_subgroup_size_control
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354 >
2022-03-21 04:09:48 +00:00
Mike Blumenkrantz
f150bff04f
llvmpipe: fix variable naming insanity in cs generator
...
in the top part of this function, the x/y/z size variables are used to
represent the loop iterator limits
in the bottom part, they change to represent the loop iterator values
my brain.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354 >
2022-03-21 04:09:48 +00:00
Mike Blumenkrantz
102f6ebc57
llvmpipe: fix subgroup id construction
...
the coroutine idx is based on the number of x loops, but the subgroup id
is based on the coroutine's total loops
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354 >
2022-03-21 04:09:48 +00:00
Mike Blumenkrantz
f33399aa9e
llvmpipe: fix gl_NumSubgroups
...
this is (x * y * z) / subgroup_size, not num_x_loops
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354 >
2022-03-21 04:09:48 +00:00
Mike Blumenkrantz
7f1050f207
lavapipe: EXT_inline_uniform_block
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
1ba1ee9e7c
lavapipe: implement EXT_inline_uniform_block
...
this is a lot of machinery to propagate the block sizes down from the
descriptor layout to the pipeline layout to the rendering_state
block data is appended to ubo0 immediately following push constant
data (if it exists), which requires that a new buffer be created and
filled any time either type of data changes
shader handling is done by propagating the offset of each block relative
to the start of its descriptor set, then accumulating the sizes of
every uniform block in each preceding descriptor set into the offset,
then adding on the push constant size, and finally adding that on to
the existing load_ubo deref offset
update-after-bind is no longer an issue since each instance of pc+block
data is its own immutable buffer that can never be modified
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
249fe9673a
lavapipe: remove unused struct member
...
this was used at some point I think?
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
5bbb39a652
lavapipe: use stream uploader for push constant upload
...
now instead of having static per-stage buffer regions and letting llvmpipe
do the upload, lavapipe creates a new pipe_resource and chucks it away
with take_ownership=true to allow it to be destroyed once it's no longer
in use
this also alters ubo0 mechanics such that the buffer is now sized exactly to
the size of the push constants in the pipeline and push constants are only
updated when the appropriate shader stage is flagged
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
c264b1b6ab
lavapipe: save pipeline stages that push constants are active on
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
526e898dfc
lavapipe: add a stream uploader to rendering_state and queue objects
...
not currently used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
de01a47b1c
lavapipe: zalloc pipeline layout structs
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
08732eca5d
lavapipe: don't emit compute states during draw
...
there's a separate function for this
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457 >
2022-03-21 03:58:14 +00:00
Mike Blumenkrantz
40607f5088
lavapipe: KHR_shader_terminate_invocation
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402 >
2022-03-21 03:20:33 +00:00
Mike Blumenkrantz
68fd0668eb
lavapipe: extend demote->discard pass to handle terminate
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402 >
2022-03-21 03:20:33 +00:00
Mike Blumenkrantz
82d3e7515e
lavapipe: EXT_shader_demote_to_helper_invocation
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402 >
2022-03-21 03:20:33 +00:00
Mike Blumenkrantz
3e28ce374e
lavapipe: run some shader passes for demote handling
...
pipe internals already support discard, so as long as everything is
rewritten to use discard, we don't need any further changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402 >
2022-03-21 03:20:33 +00:00
Mike Blumenkrantz
cdcfcb7916
nir/lower_is_helper_invocation: create load_helper_invocation instr with bitsize=1
...
the specification stipulates that this is a bool value, so don't load it as an int
or else nir_validate explodes
Fixes: f17b41ab4f
("nir: add lowering pass for helperInvocationEXT()")
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402 >
2022-03-21 03:20:33 +00:00
Mike Blumenkrantz
fe33835091
zink: handle conversion for vertices statistics query with LINE_LOOP draws
...
the converted number of vertices is 2x that of the "real" number of vertices,
so divide the results by 2
this works nicely since zink performs cpu readback for all queries, and shader
aggregation should be simple in the future as well
fixes:
KHR-GL46.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15401 >
2022-03-21 02:55:37 +00:00
Mike Blumenkrantz
d25437d54f
zink: store vertices statistics query to context
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15401 >
2022-03-21 02:55:37 +00:00
M Henning
c36f3f2db8
nouveau: Fix out-of-bounds access in AlgebraicOpt
...
for cases where we calculate the absolute value of the result
of a unary operation
We can remove this problematic check since it's redundant with
the one several lines down.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15476 >
2022-03-20 05:35:06 +00:00
M Henning
d12e16fc3b
nouveau: Handle unaligned tlsBase during spills
...
Without this, 128-bit or 64-bit register spills can generate unaligned
loads and stores if tlsBase is unaligned.
Fixes glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd
with NV50_PROG_USE_NIR=1 on kepler
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13693 >
2022-03-20 05:24:51 +00:00