Dr. David Alan Gilbert
1bb523111b
rusticl/api: Implement get_{device_and_}host_timer
...
Use the get_timestamp as both the device_timestamp in
get_device_and_host_timer and host_timestamp in that
and get_host_timer.
Having eliminited most other clock sources, discussions
on previous versions have concluded it's best to use the
same timer as the 'host_timestamp' since the main requirements
are that it must be one that's a time seen by the device and
that it's very closely coupled.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23639 >
2023-06-26 10:00:47 +00:00
Dr. David Alan Gilbert
2a41b1869f
rusticl/device: Stash timestamp availability
...
Check if the device claims to have timestamps and a valid resolution
and stash it in the device.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23639 >
2023-06-26 10:00:47 +00:00
Dr. David Alan Gilbert
748a1b357d
rusticl/screen: Wrap get_timestamp
...
Add a wrapper on our screen type to call get_timestamp.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23639 >
2023-06-26 10:00:47 +00:00
Erik Faye-Lund
9486b9e785
draw: use unsigned instead of uint
...
uint isn't a standard type, just something we accidentally get from some
other headers.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
65591a3b25
draw: match type of pipe_draw_start_count_bias::count
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
b108e47091
cso: use unsigned instead of uint
...
uint isn't a standard type, just something we accidentally get from some
other headers.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
fda6cad85e
draw: use stdint.h types
...
Here, we want explicitly sized types, not just types that happen to be
of the right size.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
f4bd2d35cb
draw: track vertices and vertex_ptr as byte-pointers
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
ed4bda8044
draw: use enum for primitive-type
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
1569507e26
draw: use uint32_t instead of uint
...
In these cases we actually want uint32_t, because we're doing 32-bit
things to them.
The hwinfo-bit is only being used by i915, and should probably be
moved to i915 instead. But it shoukd *also* be converted, so let's do
that now.
While we're at it, fixup the bit-setting as well.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
57abc7d037
draw: use enum for tgsi-semantic
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Erik Faye-Lund
4844809edb
cso: use enum for render-conditions
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23833 >
2023-06-26 09:30:22 +00:00
Samuel Pitoiset
82e2802b7d
radv/amdgpu: add a helper to get a new IB
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:10 +00:00
Samuel Pitoiset
148f42be1d
radv/amdgpu: rename old_ib_buffers to ib_buffers
...
No need to prefix with 'old' actually because this is just an array
of IB buffers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:10 +00:00
Samuel Pitoiset
d74de65069
radv/amdgpu: use cs_finalize() when growing a CS
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:10 +00:00
Samuel Pitoiset
437456b47c
radv/amdgpu: use the array of IB buffers for the chained IB path
...
For executing IB on the compute queue (ie. IB2 isn't supported), we
will need to break chaining, this is a first step towards this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:10 +00:00
Samuel Pitoiset
81e308df72
radv/amdgpu: do not set the IB size when ending a CS with RADV_DEBUG=noibs
...
This was only necessary for preambles/postambles, let's clarify this
by determining the IB info from the first IB in the array instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:10 +00:00
Samuel Pitoiset
df0c742543
radv/amdgpu: rework growing a CS with the chained IB path slightly
...
This should allow us to use cs_finalize().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:09 +00:00
Samuel Pitoiset
c11a62a7b0
radv/amdgpu: use the correct IB size when growing a CS with RADV_DEBUG=noibs
...
The current IB size is copied when radv_amdgpu_cs_add_old_ib_buffer()
is called, which might not be the real IB size because we might still
pad the CS with NOP packets after.
Found by inspection.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727 >
2023-06-26 09:10:09 +00:00
Matt Coster
91143f45b8
pvr: Advance entry pointer in pvr_setup_vertex_buffers()
...
Fixes: dEQP-VK.robustness.robustness1_vertex_access
.out_of_bounds_stride_0
.out_of_bounds_stride_16_single_buffer
.out_of_bounds_stride_30_middle_of_buffer
.out_of_bounds_stride_8_middle_of_buffer_separate
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23834 >
2023-06-26 08:40:13 +00:00
Corentin Noël
bc2828a436
compiler: Allow the explicit_stride of aoa types to be zero
...
The explicit stride doesn't have to be defined to aoa and therefore can be
zero in some cases, like in arrays of arrays of uniform blocks.
Resolves crash with spec@arb_gl_spirv@execution@ubo@aoa-2.shader_test piglit test for virgl.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23648 >
2023-06-26 09:19:43 +02:00
Hyunjun Ko
9f4299d6b2
anv: fix to set predicted weight tables correctly.
...
Fixes: 8d519eb5f ("anv: add initial video decode support for h265")
Closes : mesa/mesa#9214
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23790 >
2023-06-26 15:08:05 +09:00
Hyunjun Ko
b8dc7675f2
intel/genxml: changes the type for predicted weight to unsigned.
...
Turned out to be unsigned here after some experiments.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23790 >
2023-06-26 15:08:00 +09:00
Hyunjun Ko
e2f95ad296
vulkan/video: keep delta weight and offsets of predicted weight tables in h265 slice parsing
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23790 >
2023-06-26 15:07:53 +09:00
Caio Oliveira
c421ecea56
vulkan: Update XML and headers to 1.3.255
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23837 >
2023-06-25 15:52:55 +00:00
Caio Oliveira
73af0475cb
vulkan: Add NV suffix to VK_NV_cooperative_matrix feature names
...
In the new Vulkan Headers, VK_KHR_cooperative_matrix gets added and the feature
names are the same.
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23837 >
2023-06-25 15:52:55 +00:00
Karol Herbst
0759759658
rusticl/program: skip linking compiled binaries
...
Applications can do their own caching, but are in any case required to
properly "compiler" the binaries via clBuildProgram or clCompileProgram +
clLinkPrograms.
In any case, there is no point building something if we already have the
result.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23847 >
2023-06-25 11:15:17 +02:00
Karol Herbst
18f1087a21
rusticl: bump bindgen requirement
...
Apparently on some ARM systems any older bindgen version crashes.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23840 >
2023-06-24 15:37:18 +00:00
Yonggang Luo
5b29463746
nir: Add function nir_function_set_impl
...
This function is added for create strong relationship between
nir_function_impl and nir_function.
So that nir_function->impl->function == nir_function is always true when
(nir_function->impl != NULL && nir_function->impl != NIR_SERIALIZE_FUNC_HAS_IMPL)
And indeed this invariant is already done in functions validate_function and validate_function_impl
of nir_validate
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23820 >
2023-06-24 14:48:47 +00:00
Yonggang Luo
9fa38cf142
vtn: Do not assign main_entry_point->impl twice
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23820 >
2023-06-24 14:48:47 +00:00
Yonggang Luo
0d9f474381
draw: Update the comment and function name to match the type
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23845 >
2023-06-24 20:52:56 +08:00
Yonggang Luo
e7f0dd2710
draw: Replace usage of ubyte/ushort/uint with uint8_t/uint16_t/uint32_t in draw_pt_vsplit.c
...
This can not be done with tools, so do it manually
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23845 >
2023-06-24 20:52:53 +08:00
Yonggang Luo
f35ebd221f
draw: Replace usage of boolean/TRUE/FALSE with bool/true/false in draw_pt_vsplit*
...
These change can not be done with tools, so do it manually
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23845 >
2023-06-24 20:52:49 +08:00
Karol Herbst
fbe9a7ca3e
rusticl/mesa: create proper build-id hash for the disk cache
...
Without generating a proper timestamp for the disk cache, we pull old
binaries out of the disk cache, potentially being buggy or simply
outdated.
Once meson 1.2 lands we can easily pull in LLVM functions.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21612 >
2023-06-24 12:36:36 +00:00
Karol Herbst
29b932512a
rusticl/meson: extract common bindgen rust args
...
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21612 >
2023-06-24 12:36:36 +00:00
Karol Herbst
c896373889
rusticl: generate bindings for build-id stuff
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21612 >
2023-06-24 12:36:36 +00:00
Karol Herbst
d14af00432
rusticl: structurize and reorder mesa binding args
...
It became quite a mess, I had enough 🙃
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21612 >
2023-06-24 12:36:36 +00:00
Eric Engestrom
337908440e
v3dv: replace boolean and uint with bool and size_t
...
There's no reason to use the gallium `p_compiler.h` types in vulkan code.
Inspired by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23577 ,
but using `size_t` for `ulist_data_size` because its two users are
`blob_read_bytes()` and `memcpy()`, both of which expect a `size_t`.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23795 >
2023-06-24 12:21:09 +00:00
Eric Engestrom
fa8a232691
docs/coding-style: add pre-commit hook fallback for clang-format
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23722 >
2023-06-24 12:04:15 +00:00
Eric Engestrom
270d898e75
docs/coding-style: add example emacs config for clang-format
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23722 >
2023-06-24 12:04:14 +00:00
Eric Engestrom
342196f7b0
docs/coding-style: add example vim config for clang-format
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23722 >
2023-06-24 12:04:14 +00:00
Pavel Ondračka
89873e5e5c
r300: properly count maximum used register index
...
The problem is when we have DP2 or DP3 instruction that writes a w
channel like here:
DP3 temp[148].w, -temp[147].xyz_, temp[57].xyz_;
will get pair-converted to
src0.xyz = temp[147], src1.xyz = temp[57]
DP3, -src0.xyz, src1.xyz
DP3 temp[148].w, -src0._, src0._
where the alpha instruction is a basically just a replicate of the
result from the RGB sub intruction. However the destination register
index in the RBG slot is also 148. Now we pair-schedule and regalloc
src0.xyz = temp[13], src1.xyz = temp[3]
DP3, -src0.xyz, src1.xyz
DP3 temp[3].w, -src0._, src0._
We properly regalloc the alpha channel, but we obviously skip the rgb,
because the writemask is empty there. However when we emit the shader
later, we actually check the number of used regs based on the maximum
used register index and we don't consider the writemasks, so we would
think we use 149 temps. AFAIK the shader would be still completelly OK.
But we would think it hits the HW limits and used a dummy one instead.
Fix this by checking for empty writemasks when marking the registers as
used.
GAINED: shaders/glmark/1-22.shader_test FS
This is also needed to prevent another lost Trine shader from
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23089
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23838 >
2023-06-24 11:30:47 +00:00
Matt Turner
561cce32f1
anv: Only expose video decode bits with KHR_video_decode_queue
...
This fixes dEQP-VK.api.info.format_properties.g8_b8r8_2plane_420_unorm
in combination with the CTS fix from
https://gerrit.khronos.org/c/vk-gl-cts/+/12191
Fixes: 9361481780 ("anv: add video format features for the one supported video output format")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8263
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23776 >
2023-06-24 02:54:37 +00:00
Matt Turner
727335045d
anv: Pipe anv_physical_device to anv_get_image_format_features2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23776 >
2023-06-24 02:54:37 +00:00
Karol Herbst
02aaf58908
nv50/ir/nir: set numBarriers if we emit an OP_BAR
...
Even though the field is called `numBarriers` we set it to 1 just like
we do with TGSI. It's unknown on what's the proper behavior here is. But
without this set the GPU will complain to us loudly, so this silences at
least that.
Fixes: a2d7a4f978 ("nv50/ir: convert to scoped_barrier")
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23749 >
2023-06-24 02:12:14 +00:00
Karol Herbst
69c452781b
nvc0: fix printing shaders
...
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23749 >
2023-06-24 02:12:14 +00:00
Karol Herbst
45d86b419b
rusticl/program: add debugging option to disable SPIR-V validation
...
This is useful for running applications known to pass in invalid SPIR-V.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23818 >
2023-06-24 01:52:07 +00:00
Karol Herbst
2b2a513890
rusticl/program: add debugging for OpenCL C compilation
...
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23818 >
2023-06-24 01:52:07 +00:00
Karol Herbst
2362fd502b
docs: document CLC_DEBUG
...
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23818 >
2023-06-24 01:52:07 +00:00
Kenneth Graunke
1b3669a1ed
intel: Initialize FF_MODE2 on all Gfx12 platforms
...
On Alchemist, the FF_MODE2 documentation says that we must set the
FF_MODE2 timer values for GS and HS to 224. The hardware performance
tuning guide also recommends setting the TDS timer to 4.
On Tigerlake, i915 applies workarounds to set the GS timer to 224
(failing to do so can cause HS/DS unit hangs), and the TDS timer to 4
(for performance). It doesn't currently apply a HS timer there, and
I'm not sure if it's strictly necessary, but given that Alchemist
needed it, and the other two settings matched, let's assume that it
ought to match as well.
Unfortunately, there has been a bug in the i915 workarounds
infrastructure for non-masked context registers where writing one
field of the register zeroes out all the others. So, I believe the
Tigerlake TDS timer value of 4 isn't being applied correctly there,
though the register is also not readable on that platform which
makes it hard to verify. So, this may also speed up tessellation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9233
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23839 >
2023-06-24 01:20:36 +00:00