Romaric Jodin
cb86341829
meson: remove '--outdir' argument in script
...
Usage of '--outdir' argument in python scripts makes it very
complicated for tools like ninja-to-soong to generate the Android
equivalent build file.
This is because the option is less clear on what will be generated.
Instead, change it for '--out' where we give the full path of the file
to generate. This has the good point of deduplicating the locations of
the file name to have it only in 'meson.build'.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37741 >
2025-10-08 20:51:20 +00:00
Lionel Landwerlin
acf953757e
brw: prevent LOAD_REG modifications on MOV_INDIRECT/BROADCAST
...
Due to those opcode reading variable amount of data in src0, it's not
possible to easily figure out what builder SIMD size should be used to
produce the LOAD_REG replacement.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 2d13acf9d9 ("brw: Add passes to generate and lower load_reg")
Fixes: 93996c07e2 ("brw: fix broadcast opcode")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14054
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37756 >
2025-10-08 20:17:22 +00:00
José Roberto de Souza
a21b925caa
anv: Rename anv_shader_bin to anv_shader_internal
...
It is now only used by internal shaders to the rename make it more clear.
Suggested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37749 >
2025-10-08 19:58:30 +00:00
José Roberto de Souza
5c8d7c30f5
anv: Simply anv_shader_set_relocs() parameters
...
Now that we only have one caller for anv_shader_set_relocs() we can simply most
of parameter by struct anv_shader.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37749 >
2025-10-08 19:58:29 +00:00
José Roberto de Souza
d5b8c7c17e
anv: Drop shader relocs from anv_shader_bin_create()
...
Acording to Lionel anv_shader_bin_create() is only used now for internal shaders
and those don't use relocs so we can drop this lines.
Suggested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37749 >
2025-10-08 19:58:29 +00:00
José Roberto de Souza
62a746b353
anv: Replace duplicated code set shader relocs by a function
...
This code was duplicated and with a assert mistake in one of the copies, so
here moving it to function and calling it from both places.
Also I have removed anv_shader_bin_rewrite_embedded_samplers() as it is already
being done in anv_shader_set_relocs().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37749 >
2025-10-08 19:58:28 +00:00
Yiwei Zhang
16458f756e
ci/panfrost: udpate panfrost-g610-fails to reflect latest stats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37776 >
2025-10-08 19:29:29 +00:00
Eric Engestrom
23cdc0be2c
docs: update khronos wiki url
...
They moved things around but didn't include a redirection, so now all
the links all over the internet are dead...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37773 >
2025-10-08 19:24:51 +00:00
Karmjit Mahil
30fe9b47f5
ci,crnm: Fix f-string print error
...
```
f"{f"has new status: {job.status} " if new_status else f"{job.status}"} "
^^^
SyntaxError: f-string: expecting '}'
```
Fixes: 51c3f56aa (ci,crnm: migrate colorama to rich)
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37770 >
2025-10-08 18:35:59 +00:00
Samuel Pitoiset
aeec53f020
radv,radeonsi: use new ac_cmdbuf macros
...
But keep them behind existing macros for consistency until all macros
are moved to common code.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:15 +00:00
Samuel Pitoiset
902f5a8618
radv: replace radeon_cmdbuf by ac_cmdbuf completely
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:15 +00:00
Samuel Pitoiset
377f50129b
radeonsi: replace radeon_cmdbuf_chunk by ac_cmdbuf
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:14 +00:00
Samuel Pitoiset
9ff4750eaf
ac/cmdbuf: introduce ac_cmdbuf
...
This will be shared by both drivers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:14 +00:00
Samuel Pitoiset
a7ae26c96c
ac/sqtt: use void pointers for start/stop CS
...
Similar to BOs which are different structs between drivers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:14 +00:00
Samuel Pitoiset
12cccb2f75
radv: remove useless radeon_cmdbuf forwarded declaration
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36292 >
2025-10-08 18:00:13 +00:00
José Roberto de Souza
379617b77d
anv: Define bt_block only in the block that uses it in anv_cmd_buffer_alloc_binding_table()
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:42 +00:00
José Roberto de Souza
d728c97022
anv: Add comment to anv_state->offset
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:42 +00:00
José Roberto de Souza
a90d8fc08e
anv/allocator: Subtract start_offset in chunk_offset
...
anv_state::offset in the context of anv_state_pool is equal to the offset from
the begining of block_pool + start_offset.
Like it is set in anv_state_pool_alloc_no_vg() in the path that allocs a new
block in anv_block_pool.
As anv_state_pool_return_chunk() expects only the offset from the begining of
anv_block_pool so here subtracting to make the path that grabs a larger chunk of
memory of the pool and split into smaler chunks to properly work.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:42 +00:00
José Roberto de Souza
4ca18c09c1
anv/allocator: Don't call anv_block_pool_map() with an offset that includes start_offset
...
Only 3 pools sets a value different than zero to start_offset so that might be
a issue that was being hidden by luck.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:42 +00:00
José Roberto de Souza
ad62911683
anv/allocator: Change some parameters and variables from 32bit to 64bits
...
struct anv_state::offset and struct anv_block_pool::max_size are 64bits so these
parameters should also be 64bit or risk overflow.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:41 +00:00
José Roberto de Souza
27074cb48b
anv/allocator: Drop uncessary function
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:41 +00:00
José Roberto de Souza
4aee4f0975
anv/allocator: Move definition of ANV_FREE_LIST_EMPTY to anv_allocator
...
While at it also renaming EMPTY to ANV_FREE_LIST_EMPTY_VAL to be more explicit.
No changes in behavior expected here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37669 >
2025-10-08 17:26:41 +00:00
Mike Blumenkrantz
950459d95f
mesa: copy NumSamples in reuse_framebuffer_texture_attachment
...
this otherwise breaks msrtt
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37766 >
2025-10-08 16:58:52 +00:00
Mike Blumenkrantz
8f0ac427b3
glsl: fix gl_ViewID_OVR type to uint
...
the spec defines this as a uint, and having it as an int breaks anyone
trying to actually use it
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37766 >
2025-10-08 16:58:52 +00:00
Dylan Baker
390b5e6150
iris: Fix potential null deref in debug archiver
...
We currently pass the NIR field directly from the iris_uncompiled_shader
struct, which works in most cases, however, in the caes where we create
a passthrough TSC shader, the uncompiled shader is nullptr, which would
create a null dereference. Instead, pass the NIR shader directly to the
function, so we can pass the passthrough shader.
CID: 1666496
Fixes: dedbe0e826 ("iris: Create archive file when using INTEL_DEBUG=mda")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37751 >
2025-10-08 16:39:45 +00:00
Lionel Landwerlin
bb5eb9a096
intel/ds: disable draw/blorp tracepoints by default on android
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tim Van Patten <timvp@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37740 >
2025-10-08 16:00:50 +00:00
Lionel Landwerlin
c4061b96f0
intel/ds: lump all the draw under the same toggle
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tim Van Patten <timvp@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37740 >
2025-10-08 16:00:50 +00:00
Lionel Landwerlin
3df4d86409
u_trace: use os_get_option instead of getenv
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tim Van Patten <timvp@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37740 >
2025-10-08 16:00:49 +00:00
Gurchetan Singh
05cd676287
gfxstream: delete magma-over-gfxstream
...
This was always meant to a be transitional approach.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37728 >
2025-10-08 15:42:13 +00:00
Mike Blumenkrantz
5080f2b6f5
zink: disable msrtss handling when blitting
...
this avoids weirdness when e.g., flushing clears
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37767 >
2025-10-08 10:16:37 -04:00
Mike Blumenkrantz
0ab8878a6e
zink: only add mutable bind for transient surfaces when necessary
...
Fixes: 3cd3195d31 ("zink: always add mutable to transient surface creation when needed")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37767 >
2025-10-08 10:16:37 -04:00
Connor Abbott
4043ea91b6
tu: Support sparse binds on the gfx queue
...
Although this isn't technically required by the Vulkan spec, a few
native Vulkan games including DOOM Eternal expect it to be supported
because Windows drivers all support it. Now that support has been
plumbed through in the kernel backend, expose the ability to submit
sparse binds on the graphics queue that are implicitly synchronized with
graphics commands.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37304 >
2025-10-08 13:39:35 +00:00
Connor Abbott
0cc0e786e0
tu/drm: Emulate combined gfx/sparse queues
...
Create an extra sparse queue when creating a graphics queue, and send
sparse binds to that queue. Synchronize graphics commands against sparse
binds and vice versa using a pair of timeline semaphores.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37304 >
2025-10-08 13:39:34 +00:00
Connor Abbott
6c296c1283
tu: Pass tu_queue to kernel create/destroy functions
...
Refactor this since we're about to create more than one kernel queue per
Vulkan queue on drm/msm.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37304 >
2025-10-08 13:39:34 +00:00
Erik Faye-Lund
fff9f0a0e6
docs/pvr: update vulkan version
...
This was missed when bumping the driver version.
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37678 >
2025-10-08 15:33:52 +02:00
Erik Faye-Lund
ad7bfc0562
docs/pvr: update conformance status
...
Vulkan 1.0 conformance has happened on BXS-4-64, but not on other GPUs
or Vulkan versions using an upstream version of the driver. So let's
update the phrasing to include this.
And since we actually expose Vulkan 1.2 now (see next commit), let's
untangle the conformance information from the GPUs support table; this
way nobody should be confused and think we're conformant to Vulkan 1.2,
when we're not (yet).
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37678 >
2025-10-08 15:33:52 +02:00
Erik Faye-Lund
8f535dea88
v3dv: use ld_args_build_id
...
This driver landed after the move to ld_args_build_id, so it never got
converted over. Let's make sure it's testing for the feature support
rather than just assuming it's there.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37393 >
2025-10-08 12:07:10 +00:00
Eric Engestrom
c3957860b8
ci-tron: bump job template commit to get cached job templates
...
This also includes support for the new job cookie system, verifying that jobs
running originate from the claimed source. This is useful internally but won't
affect users, unlike the feature in the title :)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37609 >
2025-10-08 11:04:51 +00:00
Alejandro Piñeiro
cea6d7ada5
v3d: expose GL_KHR_shader_subgroup for v71+
...
All the compiler support was implemented as part of the v3dv
implementation (see commit 31e8740808 and MR#27211).
We are using the same size/supported_stages and mostly the same
supported features, so probably at some point it would be good to have
a common place for that info. Zink reuses their definitions, but as
far as I see it does that because the PIPE and equivalent VK
definitions has the same values, that seems somewhat fragile.
We don't support all features, and in order to support arithmetic we
need to enable a lowering.
Using CTS, right now we are passing 1023 tests out of 6053 (the rest
are skipped).
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37621 >
2025-10-08 10:48:41 +00:00
Karmjit Mahil
01d1748130
tu: Add VK_EXT_zero_initialize_device_memory
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14023
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37662 >
2025-10-08 10:13:35 +00:00
Iago Toral Quiroga
6ee8fafac1
panfrost: fix swapped stats for varing and position shaders
...
Fixes: 4da7b12000 ("panfrost: port to common stats framework")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37757 >
2025-10-08 09:55:13 +00:00
Valentine Burley
ad22f2419a
ci/android: Make Vulkan driver replacement conditional
...
This avoids hard-coding Vulkan drivers that are not part of the arm64
Mesa build archive.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37738 >
2025-10-08 09:25:24 +00:00
Valentine Burley
1bca7ca3e0
ci: Rename ANDROID_GPU_MODE to CUTTLEFISH_GPU_MODE
...
Makes the variable name more clear.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37738 >
2025-10-08 09:25:24 +00:00
Rhys Perry
c63c695149
radv: move nir_opt_algebraic loop for NGG culling earlier
...
Totals from 6913 (8.66% of 79825) affected shaders: (Navi21)
Instrs: 5373319 -> 5358717 (-0.27%); split: -0.30%, +0.03%
CodeSize: 27448536 -> 27345464 (-0.38%); split: -0.41%, +0.03%
SpillSGPRs: 982 -> 998 (+1.63%)
Latency: 22998827 -> 23011602 (+0.06%); split: -0.13%, +0.19%
InvThroughput: 4663749 -> 4664809 (+0.02%); split: -0.00%, +0.03%
VClause: 120845 -> 120461 (-0.32%); split: -0.49%, +0.17%
SClause: 119068 -> 116064 (-2.52%); split: -2.71%, +0.18%
Copies: 456590 -> 456450 (-0.03%); split: -0.19%, +0.16%
Branches: 145555 -> 145559 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 300465 -> 301154 (+0.23%); split: -0.01%, +0.24%
VALU: 3064127 -> 3064210 (+0.00%); split: -0.00%, +0.00%
SALU: 891257 -> 886368 (-0.55%); split: -0.71%, +0.16%
SMEM: 190500 -> 184624 (-3.08%); split: -3.11%, +0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Marek Olšák
3fe651f607
nir: remove load_smem_amd
...
replaced by load_global_amd + ACCESS_SMEM_AMD
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Daniel Schürmann
3ae2f12eb4
ac/nir: switch load_smem_amd to use load_global
...
Totals from 24920 (31.21% of 79839) affected shaders: (Navi48)
Instrs: 22044185 -> 22413945 (+1.68%); split: -0.01%, +1.68%
CodeSize: 117211728 -> 118623656 (+1.20%); split: -0.01%, +1.21%
VGPRs: 1199008 -> 1198948 (-0.01%)
SpillSGPRs: 7421 -> 7365 (-0.75%); split: -0.78%, +0.03%
SpillVGPRs: 2177 -> 2184 (+0.32%); split: -0.09%, +0.41%
Scratch: 7037952 -> 7038208 (+0.00%)
Latency: 155140452 -> 155530877 (+0.25%); split: -0.02%, +0.27%
InvThroughput: 23601713 -> 23634131 (+0.14%); split: -0.01%, +0.15%
VClause: 458456 -> 458575 (+0.03%); split: -0.09%, +0.11%
SClause: 651928 -> 649405 (-0.39%); split: -1.26%, +0.87%
Copies: 1681110 -> 1677057 (-0.24%); split: -0.42%, +0.17%
Branches: 515419 -> 515322 (-0.02%); split: -0.02%, +0.00%
PreSGPRs: 992903 -> 990545 (-0.24%); split: -0.24%, +0.00%
VALU: 11971995 -> 11967962 (-0.03%); split: -0.04%, +0.00%
SALU: 3247576 -> 3476720 (+7.06%); split: -0.03%, +7.08%
VMEM: 821046 -> 821056 (+0.00%); split: -0.00%, +0.00%
SMEM: 988476 -> 988779 (+0.03%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Daniel Schürmann
2622a3bc47
radv,radeonsi: call ac_nir_lower_global_access and nir_lower_int64 for gs copy shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:08 +00:00
Daniel Schürmann
a02eb9a360
radeonsi: delay nir_lower_global_access
...
Also delay lower_int64 in order to improve offset parsing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:08 +00:00
Daniel Schürmann
50fcfe6bd8
radv: delay nir_opt_shrink_vectors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:05 +00:00
Daniel Schürmann
fdd6bdf03d
ac/nir_lower_global_access: don't assume pack_64_2x32 is the same as u2u64
...
It might also be the expanded base address.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:58 +00:00