Commit Graph

208036 Commits

Author SHA1 Message Date
Valentine Burley a0ccc32ef0 freedreno/ci: Merge a750-piglit-cl and a750-gl
The actual runtime of `a750-piglit-cl` was under 2 minutes.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35906>
2025-07-04 06:36:10 +00:00
Valentine Burley 6abc967835 freedreno/ci: Increase the concurrency of a660-gl-cl
The sm8350-hdk has 8 threads and 12 GB of RAM, which allows increasing
`FDO_CI_CONCURRENT` to 9 to speed up the job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35906>
2025-07-04 06:36:10 +00:00
Valentine Burley f0204a3b5c freedreno/ci: Increase parallelism of a660-gl-cl
Following the previous commit, we have an additional `parallel:` slot
available.
Use it to run `a660-gl-cl` without a fraction, allowing us to remove the
nightly `a660-gl-full` job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35906>
2025-07-04 06:36:09 +00:00
Valentine Burley 793d25ca13 freedreno/ci: Merge a660-piglit-cl and a660-gl
The actual runtime of `a660-piglit-cl` is under 2 minutes, so it can be
merged into `a660-gl` to improve resource utilization by avoiding the
launch of the additional job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35906>
2025-07-04 06:36:09 +00:00
Valentine Burley bdb3fdfe20 freedreno/ci: Merge a618-piglit-cl into a618-piglit
The actual runtime of `a618-piglit-cl` was under 2 minutes, so it can be
folded into the main `a618-piglit` job.

To accommodate this, the "gpu" profile's fraction was fully moved to the
deqp-runner suite without changing the overall test coverage:
`fraction = 3` * `DEQP_FRACTION: 2` = 6

Also drop the redundant freedreno-a618-skips.txt skip while we're here,
as that's automatically picked up via GPU_VERSION.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35906>
2025-07-04 06:36:08 +00:00
Mike Blumenkrantz 30e79aafa0 zink: fix another case of blocking image op reordering with GENERAL layouts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35896>
2025-07-04 03:41:48 +00:00
Mike Blumenkrantz 446d8d23c2 zink: more fixups for GENERAL image sync
these need to always use unordered access when set

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35896>
2025-07-04 03:41:48 +00:00
Mike Blumenkrantz 3f51dad5bb zink: use HIC image transitions to init swapchain images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35896>
2025-07-04 03:41:48 +00:00
Mike Blumenkrantz 5e98018e80 zink: make HIC image transitions public
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35896>
2025-07-04 03:41:47 +00:00
Mel Henning 3db7628e4c nak: Use a worklist approach for dataflow
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35446>
2025-07-03 19:38:16 -04:00
Mel Henning a418ece021 nak: Use the dataflow framework for NextUseLiveness
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35446>
2025-07-03 19:38:16 -04:00
Mel Henning 1240c2591b nak: Factor dataflow logic out of SimpleLiveness
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35446>
2025-07-03 19:38:16 -04:00
Maíra Canal eecf94cc8e bin: explicitly use python3 instead of python
The `python` command's default behaviour can vary between OSes and even
different versions of the same OS. On some systems, `python` might still
point to Python 2 for backward compatibility, while on others, it might
point to Python 3.

As Mesa already requires "Python 3.6 or newer", use `python3` explicitly
to ensure that the script is using a Python 3 interpreter.

Moreover, this commit allows this script to run on macOS, as macOS doesn't
have a `python` symlink or alias by default. Therefore, currently, when
running this script in macOS, you get a "python: command not found" error.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35918>
2025-07-03 20:52:48 +00:00
Georg Lehmann 045ddb992a nir/opt_algebraic: optimize 16bit vec2 comparison followed by b2i16 using usub_sat
Helps vectorized emulated fp16 -> fp8 conversions

No Foz-DB changes.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35876>
2025-07-03 20:08:39 +00:00
Yiwei Zhang b21e62b71a anv: avoid leaking private binding for aliased wsi image
Aliased wsi image has to share the same private binding with the
original wsi image for memory consistency. If the private binding
exists, it needs to be released before being overridden.

Fixes: d85a9d658f ("anv/image: Call into WSI to create swapchain images")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35893>
2025-07-03 17:40:31 +00:00
Mike Blumenkrantz ef0bf50ae9 zink: don't modify the u_foreach_bit64 bit inside the loop in loop_io_var_mask()
this breaks the macro and causes infinite loops on patch locations in release builds

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35922>
2025-07-03 17:21:21 +00:00
Mary Guillemard 14608f1469 panvk: Do not adjust job offset with base on CSF
The JOB_OFFSET only actually affect the global id and not wg id.

In NIR common, we assume that if base wg isn't supported, it means that
global and wg id already contains it.

To follow the convention around, we remove the offset to assume
global id will need an offset added.

Alone, this doesn't change functionality as we always lower away global
id so far.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35909>
2025-07-03 16:41:51 +00:00
Mary Guillemard a3272cd0ce pan/genxml: Fix wrong size for compute size workgroup
Fix annoying warnings when decoding CSF.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: 486c341769 ("panfrost: Add architecture description XML for v10")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35909>
2025-07-03 16:41:51 +00:00
Alyssa Rosenzweig f853d285ef nir/lower_tex: optimize LOD bias lower for txl
make sure we can fold the f2f away. alternatively f2fmp would work
here but details.

elden ring:

Totals from 137 (4.27% of 3206) affected shaders:
Instrs: 485455 -> 484904 (-0.11%)
CodeSize: 3218638 -> 3215338 (-0.10%)
ALU: 308071 -> 307520 (-0.18%)
FSCIB: 308071 -> 307520 (-0.18%)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35909>
2025-07-03 16:41:51 +00:00
Alyssa Rosenzweig b992703477 nir/lower_system_values: optimize global ID
for drivers where we need to lower a base_workgroup_id but not global IDs.
rather than lowering the whole global ID to stick the base workgroup ID in
there, just add the workgroup offset to the final thread position.

Elden ring fossils:

Totals from 52 (1.62% of 3206) affected shaders:
Instrs: 48355 -> 48233 (-0.25%); split: -0.31%, +0.06%
CodeSize: 331912 -> 331148 (-0.23%); split: -0.28%, +0.05%
ALU: 30853 -> 30674 (-0.58%); split: -0.70%, +0.12%
FSCIB: 30853 -> 30674 (-0.58%); split: -0.70%, +0.12%
IC: 9054 -> 8958 (-1.06%)
GPRs: 4184 -> 4216 (+0.76%)
Uniforms: 6703 -> 6677 (-0.39%); split: -1.61%, +1.22%

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35909>
2025-07-03 16:41:51 +00:00
Erik Faye-Lund 96d124092f st/pbo: use sized nir-types for download-path
The Midgard compiler only deals with sized NIR types for image loads and
stores. Since we already have nir_get_nir_type_for_glsl_base_type()
which can provide us with the corresponding sized type, let's just use
that, and drop the extra table.

This fixes the following piglits on Mali-T760:
- spec/ext_texture_compression_s3tc/getteximage-targets 2d s3tc
- spec/ext_texture_compression_s3tc/getteximage-targets cube s3tc

Fixes: 9123ee0f18 ("st/mesa/pbo: Set src type on image_store")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35882>
2025-07-03 15:56:33 +00:00
Samuel Pitoiset 2af3ef9305 ac/surface: select a different swizzle mode for ASTC formats on GFX12
It seems only 4KiB swizzle works fine with ASTC.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34877>
2025-07-03 15:31:04 +00:00
Robert Mader 15f6652e12 llvmpipe: Fix parameter queries for mulitplanar formats
For emulated multiplanar formats like PIPE_FORMAT_IYUV /
DRM_FORMAT_YUV420 resource->format is set to one of the sub-
formats, PIPE_FORMAT_R8_UNORM in this case. As this has only
one plane, users like `dri2_from_planar()` fail for queries
where plane > 0. This in turn breaks queries like
gbm_dri_bo_get_handle_for_plane() which is commonly used
by Wayland compositors to offload client supplied DMABufs
to KMS, using drmModeAddFB2WithModifiers().

Follow the example of most other drivers and return the number
of resources instead.

Signed-off-by: Robert Mader <robert.mader@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35915>
2025-07-03 15:15:48 +00:00
Brian Paul 6fe6c18c12 util: add/use new os_mkdir() function
os_mkdir() is a simple wrapper around mkdir() or _mkdir().

Remove a bunch of unneeded #includes in dd_util.h.  Testing by
compiling llvmpipe and radeonsi (the only user of the dd_util.h
header).

There's a few other mkdir() callsites that I haven't touched but
could be updated to os_mkdir().

Signed-off-by: Brian Paul <brian.paul@broadcom.com>
Tested-by: Mauro Rossi <issor.oruam@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35841>
2025-07-03 14:30:17 +00:00
Brian Paul b85265bbc2 gallivm: always use mkdir() instead of std::filesytem::create_directory()
Suse Linux Enterprise 15 is still on g++ 7.5 so std::filesystem
does not exist.  Just use mkdir() instead.

Signed-off-by: Brian Paul <brian.paul@broadcom.com>
Tested-by: Mauro Rossi <issor.oruam@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35841>
2025-07-03 14:30:16 +00:00
José Roberto de Souza 248462cbe3 iris: Reduce compiled code for Wa_16018063123
Wa_16018063123 is not a workaround that depends on stepping, so we
can use the INTEL_WA_16018063123_GFX_VER macro to reduce code generate
for non affected platforms.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35700>
2025-07-03 14:09:13 +00:00
José Roberto de Souza 4830aec8ad anv: Reduce compiled code for Wa_16018063123
Wa_16018063123 is not a workaround that depends on stepping, so we
can use the INTEL_WA_16018063123_GFX_VER macro to reduce code generate
for non affected platforms.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35700>
2025-07-03 14:09:13 +00:00
José Roberto de Souza 926e6a94ad anv: Do not emit batch_emit_fast_color_dummy_blit() for video engine
Wa_16018063123 don't apply to video engine also video engine don't
support XY_FAST_COLOR_BLT.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Fixes: ec43c20182 ("anv: implement dummy blit for Wa_16018063123")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35700>
2025-07-03 14:09:12 +00:00
José Roberto de Souza 4618a99a4c anv: Flush before invalidate aux map in copy and video engines
BSpec: 43904
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 46f5359238 ("anv: Invalidate aux map for copy/video engine")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35700>
2025-07-03 14:09:12 +00:00
José Roberto de Souza e68f81eaf6 anv: Read the correct register for aux table invalidation when in GPGPU mode in render engine
For 3D or GPGPU modes the same render engine should be used, CCS
register should only be used when using compute engine.

Fixes: 46f5359238 ("anv: Invalidate aux map for copy/video engine")
Reviewed-by: Ivan Briano <ivan.briano@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/35700>
2025-07-03 14:09:12 +00:00
Eric Engestrom 2a269b2b5b freedreno: rename .gitlab-ci folder to tests
These are normal tests, that are part of anyone's `meson test`, not
related to the GitLab CI except that it also runs the tests.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35914>
2025-07-03 13:54:11 +00:00
Rob Clark eb3e0b7164 freedreno/a6xx: Split descriptors out into their own file
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
2025-07-03 12:50:05 +00:00
Rob Clark d099bbd64d freedreno/a6xx: Split enums out of a6xx.xml
Give perfcntrs their own files, since they are a big chunk of enums.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
2025-07-03 12:50:05 +00:00
Rob Clark 4b89184e9a freedreno/a6xx: Add single common source for a6xx.xml.h
In the following commits, as we split up a6xx.xml, the #include sequence
gets a bit more complicated.  Let's keep it in one place.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
2025-07-03 12:50:04 +00:00
Rob Clark 0be21c91f4 freedreno: Add missing CP_INDIRECT_BUFFER
This was added on the kernel side in commit 9d78f0250322
("drm/msm/a6xx+: Don't let IB_SIZE overflow"), but didn't
end up in mesa.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
2025-07-03 12:50:04 +00:00
Rob Clark 8bc8e37c36 freedreno: Add register renaming to .git-blame-ignore-revs
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
2025-07-03 12:50:04 +00:00
Antonio Ospite 5a4c1e2502 ci: fix using _section_switch and _uncollapsed_section_switch
Allow users to call `_section_switch` and `_uncollapsed_section_switch`
without previous section commands.

This can happen because `*-runner.sh` script can be composed in several
ways.

For example if `android-cts-runner.sh` is called without first calling
`cuttlefish-runner.sh`, where a `section_start` is issued, the
`uncollapsed_section_switch` command in `android-cts-runner.sh` will
fail with an error like:

  2025-07-02T08:42:33 /install/setup-test-env.sh: line 102: CURRENT_SECTION: unbound variable

Setting default empty values for `CURRENT_SECTION` makes it possible to
use the "section_switch" commands to also start a section for the first
time.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35907>
2025-07-03 12:04:40 +00:00
Eric Engestrom 32fe81a02b freedreno/ci: fix a750-piglit-cl rules
Fixes: 5b3f7de99f ("ci/freedreno: Introduce OpenCL testing for Adreno 618, 660, and 750")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35888>
2025-07-03 11:40:55 +00:00
Martin Krastev 89f8c53fd7 svga/ci: drop 'fraction' from deqp-vmware-vmx-piglit job config
Drop fraction=1 as that is a default.

Signed-off-by: Martin Krastev <martin.krastev@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35860>
2025-07-03 11:23:11 +00:00
Martin Krastev 099ac9aa5c svga/ci: bump up FDO_CI_CONCURRENT to 2
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35860>
2025-07-03 11:23:11 +00:00
Martin Krastev 38aa17619f svga/ci: bump up piglit coverage to 100%
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35860>
2025-07-03 11:23:11 +00:00
Erik Faye-Lund fcc0585195 panvk: implement VK_EXT_non_seamless_cube_map support
This maps trivially to a sampler-bit, so let's just expose it.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35886>
2025-07-03 10:54:50 +00:00
Erik Faye-Lund 618c137b29 panvk: pass flags to panvk_sampler_fill_desc
This will be useful in the next commit.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35886>
2025-07-03 10:54:50 +00:00
Erik Faye-Lund c30de16970 panvk: fixup bad indent
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35886>
2025-07-03 10:54:50 +00:00
Samuel Pitoiset cb6f2d9409 ac/surface: use align with NPOT for estimating surface size
ac_estimate_size() triggers an assertion because the block size isn't
aligned to a power of two for ASTC formats.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35879>
2025-07-03 08:02:17 +00:00
Boris Brezillon 25536c7d4d pan/kmod: Explicitly set the user MMIO offset when the KMD supports it
FEX is a 64-bit process potentially running x86 (32-bit) binary, in
which case the automatic user MMIO offset detection doesn't work, so
let's explicitly set the user MMIO offset when we can.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34573>
2025-07-03 07:34:18 +00:00
Boris Brezillon 465cda8237 panvk: Make imports strict at all times except for AFBC(RGB)
Enforce strictness while we still can. We can't enforce strictness
on AFBC(RGB) because the driver might be used by a compositor that
imports buffers from clients that were relying on the old behavior.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35762>
2025-07-03 09:10:05 +02:00
Boris Brezillon 53e4f4149b panfrost: Force strict import rules for AFBC(YUV)
AFBC(YUV) has been introduced after the stricter import rules. Let's
make them strict by default now, so we don't encourage exporters to pass
funky WSI pitch values.

We add a driconf option to allow relaxing this strictness on a per-app
basis.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35762>
2025-07-03 09:09:31 +02:00
Karol Herbst ec05d4b1fa rusticl: drop Arc around PipeResource
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35812>
2025-07-02 22:52:16 +00:00
Karol Herbst 900dacb0ef rusticl/mesa: add PipeResource::new_ref
pipe_resources are already ref counted, so we can simply make use of that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35812>
2025-07-02 22:52:16 +00:00