Samuel Pitoiset
06ac711b06
radv/meta: simplify creating buffers for R32G32B32 operations
...
Not necessary to allocate things.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:33 +00:00
Samuel Pitoiset
1130478e5d
radv/meta: compute the destination addr earlier for query resolves
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:33 +00:00
Samuel Pitoiset
230affd52b
radv/meta: use BDA for query resolves
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:33 +00:00
Georg Lehmann
f921b42c8c
nir/print: print large floats as mantissa + exponent
...
This is silly:
con 64 %18698 = load_const (0xf0f0f0f0f0f0f0f0 = -107730874267432137203343331820822035577514310242782965586097631855966576162301880634213986293205127792322062538351156704152182839736964151026851280176102232488321269248467172131803507875122376996725092200401040958124190100858265776685056.000000 = -1085102592571150096 = 17361641481138401520)
This is better:
con 64 %18698 = load_const (0xf0f0f0f0f0f0f0f0 = -1.077309e+236 = -1085102592571150096 = 17361641481138401520)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33456 >
2025-02-11 13:49:05 +00:00
Valentine Burley
6b0ba1109a
zink/ci: Rename a618 suite and expectation files
...
Match the other zink files, including zink-tu-a630 and zink-tu-a750.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33466 >
2025-02-11 13:12:33 +00:00
Valentine Burley
b90f5f305a
freedreno/ci: Unify naming for a306 jobs
...
The a306 jobs were using files named a307 due to Qualcomm's confusing
naming scheme. While the GPUId for this GPU is 307, its marketing name
is Adreno 306.
To avoid confusion, align CI job naming with the marketing name rather
than the GPUId.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11951
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33466 >
2025-02-11 13:12:33 +00:00
Mary Guillemard
6438b3e2bd
panfrost,panvk: Wire printf and abort support
...
Those are quite useful for debugging and having sanity checks in place.
It is also quite tidious to get ride of all asserts in every headers we
would ever want to use, lets just accept those now.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
8adede1d44
panfrost: Implement precomp dispatch on Gallium
...
This handle JM and CSF but exclude Midgard.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
cc02c5deb4
panvk: Implement precomp dispatch
...
Implement dispatching of precompilled OpenCL C shaders in panvk.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
ab03752c4f
panvk: Expose calculate_task_axis_and_increment on CSF
...
Going to be used by precomp.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
005703e5b5
panvk: Move TLS preparation logic to cmd_dispatch_prepare_tls
...
This will be reused for precomp.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
3d2cc01f8a
panvk: Add create_shader_from_binary
...
This allows creation of a panvk_shader from raw binary.
This will be used by precomp shaders.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
e67b146b03
panfrost: Integrate libpan in gallium driver
...
This allows to call libpan OpenCL C functions inside NIR builders.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
f200747d13
panvk: Integrate libpan
...
This allows to call libpan OpenCL C functions inside NIR builders.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
1619fc596a
bi: Optimize scratch access
...
Follow AGX on this, LLVM cause quite a mess with pan_pack and create
uneeded spilling.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
20970bcd96
panfrost: Add base of OpenCL C infrastructure
...
This allows compiling CL shaders into a single SPIR-V library per arch,
NIR call bindings for each functions and precompilled binaries for each
entrypoints.
We are only going to support Bifrost and Valhall for this.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
410e5a36ec
pan/genxml: Rework gen_pack.py to support OpenCL
...
This changes the codegen to make it compatible with CL C.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Mary Guillemard
97abab160b
pan/genxml: Stop using "constant" for struct fields in xml defs
...
This conflict with OpenCL keyword "constant".
Thankfully we only have two occurance of this on each xml so this is a
small change.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32720 >
2025-02-11 12:33:23 +00:00
Danylo Piliaiev
21ec1cdea9
u_trace: print tracepoint params in csv output
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30589 >
2025-02-11 12:00:18 +00:00
Caio Oliveira
ace5daabbd
intel/compiler: Use -Werror=vla
...
Acked-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32965 >
2025-02-11 11:25:48 +00:00
Patrick Lerda
bb44052ee9
r600: fix r600_init_shader_caps() has_atomics issue
...
Indeed, has_atomics is not yet initialized at the time of the
call of r600_init_shader_caps(). This change fixes this issue.
For instance, this issue is triggered with
"piglit/bin/clearbuffer-depth-cs-probe -auto -fbo":
clearbuffer-depth-cs-probe: ../src/gallium/drivers/r600/evergreen_state.c:5039: evergreen_emit_atomic_buffer_setup: Assertion `resource' failed.
Aborted
Fixes: 7cd606f01b ("r600: add r600_init_screen_caps")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33438 >
2025-02-11 10:56:22 +00:00
liuqiang
c317778c67
intel/brw: Remove redundant condition in components_read()
...
DATA1 will be handled by the case reached in the fallthrough.
Signed-off-by: liuqiang <liuqiang@kylinos.cn >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31782 >
2025-02-11 10:33:42 +00:00
Caio Oliveira
ff44f4d278
intel/brw: Update outdated comments
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
5c55b29d1a
intel/brw: Rename a few remaining functions to remove fs prefix
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
c83ddaaa26
intel/brw: Rename fs_copy_prop_dataflow to brw_copy_prop_dataflow
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
cf3bb77224
intel/brw: Rename fs_visitor to brw_shader
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
352a63122f
intel/brw: Rename files brw_fs.cpp/h to brw_shader.cpp/h
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
6b471e4e26
intel/brw: Merge brw_fs_visitor.cpp into brw_fs.cpp
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Caio Oliveira
f8a979466b
intel/brw: Rename and move thread_payload types to own header
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32536 >
2025-02-11 09:13:28 +00:00
Ian Romanick
1d485cc84f
brw/copy: Allow constant propagation of some 64-bit integers
...
ADD, ASR, SHL, and SHR can mix D or UD sources with Q or UQ sources on
Gfx20. If the constant will fit in 32-bits, the type is changed so the
propagation can occur.
No shader-db changes on any Intel platform. No fossil-db changes on
any Intel platform other than Lunar Lake.
Lunar Lake
Totals:
Instrs: 210778940 -> 209472782 (-0.62%); split: -0.63%, +0.01%
Subgroup size: 14226752 -> 14227232 (+0.00%)
Cycle count: 30614834794 -> 30573250444 (-0.14%); split: -0.26%, +0.12%
Spill count: 507788 -> 504153 (-0.72%); split: -1.17%, +0.45%
Fill count: 622824 -> 613848 (-1.44%); split: -1.96%, +0.52%
Scratch Memory Size: 35826688 -> 35309568 (-1.44%); split: -1.67%, +0.23%
Max live registers: 65506213 -> 65434861 (-0.11%)
Totals from 126699 (17.93% of 706470) affected shaders:
Instrs: 63615321 -> 62309163 (-2.05%); split: -2.09%, +0.04%
Subgroup size: 2618160 -> 2618640 (+0.02%)
Cycle count: 3141888676 -> 3100304326 (-1.32%); split: -2.52%, +1.19%
Spill count: 454315 -> 450680 (-0.80%); split: -1.31%, +0.51%
Fill count: 533584 -> 524608 (-1.68%); split: -2.29%, +0.61%
Scratch Memory Size: 32182272 -> 31665152 (-1.61%); split: -1.86%, +0.26%
Max live registers: 14773917 -> 14702565 (-0.48%)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33049 >
2025-02-11 08:44:33 +00:00
Ian Romanick
6d594196a6
brw/copy: Use extract_imm in try_constant_propagate_value
...
This is just a small refactor.
Originally there was an extra commit on top of this. That commit didn't
help generated code quality, so it was dropped.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33049 >
2025-02-11 08:44:33 +00:00
Ian Romanick
ac4b93571c
brw/copy: Fix handling of offset in extract_imm
...
The offset is measured in bytes. Some of the code here acted as though
it were measured in src.type units. Also modify the assertion to check
that all extracted bits come from data in the immediate value.
Fixes: 580e1c592d ("intel/brw: Introduce a new SSA-based copy propagation pass")
Fixes: da395e6985 ("intel/brw: Fix extract_imm for subregion reads of 64-bit immediates")
Yes, I missed this error *twice* in code review.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33049 >
2025-02-11 08:44:33 +00:00
Saroj Kumar
57d47f717a
mesa: Add GL_EXT_protected_textures support
...
Add support for GL_EXT_protected_textures to create protected
texture in OpenGL ES 3.2. This enables allocating standard
GL textures as protected surfaces. This allows use-cases such
as depth, stencil, or mipmapped textures to be supported as
destinations for rendering within a protected context.
Signed-off-by: Saroj Kumar <saroj.kumar@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33358 >
2025-02-11 08:14:03 +00:00
Alyssa Rosenzweig
124a2b612d
nir: mark a few more subgroup ops
...
this is a behaviour change, but should be either a no-op or a bug fix.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Alyssa Rosenzweig
cbd234e724
nir/opt_move_discards_to_top: use semantic
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Alyssa Rosenzweig
edb0164623
nir/gather_info: use subgroup/quadgroup flags
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Alyssa Rosenzweig
b9ce851b6c
nir: mark subgroup/quadgroup ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Alyssa Rosenzweig
7168f9a4f3
nir: switch intrinsic semantics to BIT
...
Timur suggested.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Alyssa Rosenzweig
09510ec910
nir: add nir_intrinsic_has_semantic helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410 >
2025-02-11 07:30:07 +00:00
Yiwei Zhang
d0e02df3a6
venus: emulate a second graphics queue on Android
...
Starting from Android 14 (Android U), framework HWUI has required a
second graphics queue to avoid racing between webview and skiavk. For
non-Android, we leave the second queue emulation behind a debug option.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30985 >
2025-02-11 06:07:24 +00:00
Yiwei Zhang
d92f9c3d51
venus: use dedicated allocation for ANB image memory import
...
On most platforms, deidcated allocation is preferred for the dma-buf
import done by Venus. In special cases, this is required but missed so
far.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33434 >
2025-02-11 05:52:35 +00:00
Yiwei Zhang
1d668233ba
venus: enable VK_EXT_external_memory_acquire_unmodified if needed
...
When used internally, we have to conditionally enable it behind the app.
Fixes: 969cb02de7 ("venus: chain VkExternalMemoryAcquireUnmodifiedEXT for wsi ownership transfers")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33419 >
2025-02-11 05:38:08 +00:00
Giovanni Mascellani
6b2b74a894
lvp: Remove some dead code.
...
It seems that last reference to that helper was removed in
97ebe52ee3 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33465 >
2025-02-10 17:43:38 +00:00
Rhys Perry
3a1d79bdec
nir/validate: assert that if condition dominates use
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
b4c5403413
nir: add NIR_DEBUG=invalidate_metadata
...
This invalidates metadata before passes to try and find passes which don't
properly require metadata that they use.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
e04c0025ef
nir: add NIR_DEBUG=extended_validation
...
This runs validation even if the pass makes no progress. It also requires
all kinds of metadata before the pass to test whether it correctly
preserves or invalidates them.
It's disabled by default because it can be extremely slow.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
ecd122ddb8
radv/rt: correctly preserve metadata in move_rt_instructions
...
This should invalidate nir_metadata_live_defs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
0a04200ba7
nir/linking_helpers: invalidate metadata in nir_link_opt_varyings
...
nir_instr_insert and nir_def_init invalidate nir_metadata_instr_index and
nir_metadata_live_defs, but not nir_metadata_loop_analysis
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
ebf8e072b4
nir/find_array_copies: invalidate nir_metadata_instr_index
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00
Rhys Perry
422e3e1249
nir/lower_io_arrays_to_elements: invalidate metadata
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33354 >
2025-02-10 15:01:37 +00:00