Jarred Davies
be2a8a9e4b
pvr: Mark barrier load subcmd as not empty
...
Barrier loads must restore the content stored in the SPM scratch
buffer so it can be stored.
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:12 +00:00
Jarred Davies
456fb3df11
pvr: Reduce number of stencil dependency barriers needed
...
Keep the aspectMask with the inpout attachments so the driver knows more
about stencil dependencies
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:12 +00:00
Simon Perretta
eb084cc823
pvr: select SPM EOT state words from render index
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:12 +00:00
Simon Perretta
a67120cda3
pvr, pco: full support for tile buffer eot handling
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:12 +00:00
Simon Perretta
12979f2ba7
pvr: handle num workgroups in indirect compute
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:12 +00:00
Iliyan Dinev
672f738e39
pvr: add support for VK_FORMAT_X8_D24_UNORM_PACK32
...
Fixes many test cases, including:
dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth_component24
dEQP-GLES3.functional.fbo.render.shared_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component24
Signed-off-by: Iliyan Dinev <iliyan.dinev@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
66d5815919
pvr: dynamic depth bias support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
297a0c269a
pvr, pco: tile buffer support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
c31e0a7159
pvr, pco: additional multisample support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
de4dd8e9ea
pvr, pco: fragment shader metadata boilerplate code
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
0019b5ccaf
pvr, pco: dynamic buffer and immutable sampler support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
9b595a50ba
pvr, pco: clip/cull distance support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
1b7954fae6
pvr: dynamically handle shademodel for flat shaded varyings
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Simon Perretta
0c7dc07c93
pvr, pco: add support for gl_FrontFacing
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:11 +00:00
Luigi Santivetti
5457e8a0e3
pvr: determine rt layers based on rta support
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Karmjit Mahil
72923ee62f
pvr: Remove shareds_dest_offset from load_op
...
The starting offset is always `0` and there isn't really a reason
for why it should be non-zero, we always want to DMA into the
shareds from the beginning, for the load_ops, so removing it.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Ashish Chauhan
4873903b56
pvr: Enable PDS_DDMADT
...
Signed-off-by: Ashish Chauhan <Ashish.Chauhan@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Karmjit Mahil
5c420c940a
pvr: fix spm-related renderpass hwr
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Simon Perretta
21561f9718
pvr: drop legacy rogue compiler
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Simon Perretta
0ff8f57392
pvr, pco: simple end-of-tile/render nir shader gen
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Simon Perretta
ba9b6f2d57
pvr, pco: temporarily add legacy loadop shader gen code
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:10 +00:00
Simon Perretta
8afde5ec19
pvr, pco: add input attachment sampler and initial support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
SoroushIMG
e12826da71
pvr: fix color values and crash for soft bg load ops
...
Seen in dEQP-VK.renderpass.suballocation.formats.d16_unorm.input.clear.store.clear
and dEQP-VK.renderpass.suballocation.formats.d16_unorm.input.clear.dont_care.clear
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
SoroushIMG
fe283032bf
pvr: remove unnecessary asserts
...
"Soft" renderpass start clears are already handled in pvr_clear_attachments_render_init.
The other assert is completely unnecessary and the case of undefined usage is in fact valid.
It means the depth has been partially cleared.
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
b930b13372
pvr, pco: point sampler support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
20a08139ec
pvr: enable logicOp feature
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
992ade9e76
pvr, pco: initial support for blend constants
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
7d9b7ee485
pvr, pco: temporarily add supporting code for VK_KHR_zero_initialize_workgroup_memory
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
61d5240850
pvr: temporarily tweak support required for query programs
...
This enables the legacy query program implementation to function with
the updated descriptor set code, until it is replaced with NIR/uscgen.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:09 +00:00
Simon Perretta
fd31165c38
pco, pvr: push constants support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:08 +00:00
Simon Perretta
4f79bc2e30
pvr, pco: add base compute support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412 >
2025-09-16 18:26:08 +00:00
Antonio Ospite
ddf2aa3a4d
build: avoid redefining unreachable() which is standard in C23
...
In the C23 standard unreachable() is now a predefined function-like
macro in <stddef.h>
See https://android.googlesource.com/platform/bionic/+/HEAD/docs/c23.md#is-now-a-predefined-function_like-macro-in
And this causes build errors when building for C23:
-----------------------------------------------------------------------
In file included from ../src/util/log.h:30,
from ../src/util/log.c:30:
../src/util/macros.h:123:9: warning: "unreachable" redefined
123 | #define unreachable(str) \
| ^~~~~~~~~~~
In file included from ../src/util/macros.h:31:
/usr/lib/gcc/x86_64-linux-gnu/14/include/stddef.h:456:9: note: this is the location of the previous definition
456 | #define unreachable() (__builtin_unreachable ())
| ^~~~~~~~~~~
-----------------------------------------------------------------------
So don't redefine it with the same name, but use the name UNREACHABLE()
to also signify it's a macro.
Using a different name also makes sense because the behavior of the
macro was extending the one of __builtin_unreachable() anyway, and it
also had a different signature, accepting one argument, compared to the
standard unreachable() with no arguments.
This change improves the chances of building mesa with the C23 standard,
which for instance is the default in recent AOSP versions.
All the instances of the macro, including the definition, were updated
with the following command line:
git grep -l '[^_]unreachable(' -- "src/**" | sort | uniq | \
while read file; \
do \
sed -e 's/\([^_]\)unreachable(/\1UNREACHABLE(/g' -i "$file"; \
done && \
sed -e 's/#undef unreachable/#undef UNREACHABLE/g' -i src/intel/isl/isl_aux_info.c
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36437 >
2025-07-31 17:49:42 +00:00
Simon Perretta
c386c2f9e8
pvr, pco: point size handling
...
Clamp point size to limits.
Emit default point size if required but none is provided.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33998 >
2025-07-08 23:10:57 +00:00
Simon Perretta
6ff964dd03
pvr, pco: initial descriptor rework
...
Use more Vulkan runtime/common functions.
Properly use the descriptor pool.
Start to remove legacy/unused constructs from PDS generation.
Support for UBO descriptors.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33998 >
2025-07-08 23:10:55 +00:00
Simon Perretta
51a3372ff2
pvr: clarify image/sampler state word packing
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33998 >
2025-07-08 23:10:53 +00:00
Erik Faye-Lund
6877ff7d9b
pvr: use vk_descriptor_type_is_dynamic
...
No need to open-code this one now that we have a generic helper.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32627 >
2024-12-19 15:12:58 +00:00
Alyssa Rosenzweig
972f8aa287
vulkan: rename depth bias graphics states
...
"constant" is a special keyword in OpenCL C, and we'd like to #define it
suitably in host C23 to facilitate compatiblity between host/device headers.
That means we can't have any identifiers named "global" or "constant".
Fortunately, this is the only 'constant' in any file I'm hitting.
To avoid the clash, don't abbreviate "constant factor", use "constant_factor"
instead. For consistency, "slope factor" then becomes "slope_factor".
The new names are longer but match the Vulkan API exactly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > [Intel]
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com > [NVK and panvk]
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com > [V3DV]
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com > [IMG]
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32505 >
2024-12-06 13:48:26 -05:00
Simon Perretta
527b38d1fd
pvr, pco: rewrite compiler/driver interface for vs & fs I/O
...
Basic vertex/fragment shader I/O and sysval allocation rewritten to use
the new compiler/driver interface, with allocation moved entirely into
the driver.
RHW coeffs now only emitted when required.
Boilerplate support for converting formats for vs inputs/fs outputs.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
14d7ade582
pvr: drop PVRX macro
...
All core-specific selections will take place at runtime.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
e90c851b8c
pvr, pco: Add new compiler framework and shader gen stubs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:10 +00:00
Frank Binns
2210e7ab4f
pvr: remove set but not used struct member
...
Use of 'in_render_pass' was removed in 80f864cd23 ("pvr: Use common queue
submit implementation").
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Luigi Santivetti
b8e0c15531
pvr: for fragment stages only do not insert a barrier
...
If within a render pass, only insert a mid fragment barrier if needed for
stencil load/store.
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Luigi Santivetti
35f824fb07
pvr: fix when to emit ppp state uniform base address
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Vlad Schiller
490bd13b5c
pvr: Minor code refactor
...
The local_size and global_size arguments have been reordered to make them more
consistent.
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Karmjit Mahil
e23123b7f6
pvr: Handle DISABLE_PIXELMERGE
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Matt Coster
fbca3d64ad
pvr: Fix reordering of sub-cmds when performing ds subtile alignment
...
The use of list_move_to() meant that the first transfer sub-command wasn't being
correctly placed before the target graphics sub-command.
Fixes: d1b17a5edc ("pvr: Implement ZLS subtile alignment")
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Matt Coster
6ba3c5263d
pvr: Fix ds subtile alignment NULL pointer dereference
...
pvr_cmd_buffer_end_sub_cmd() sets the current sub-command to NULL. This was
causing list_move_to(), which is called immediately after this, to access a NULL
pointer. Fix this by storing the current sub command before calling
pve_cmd_buffer_end_sub_cmd() so that this can be used instead when modifying the
list.
Fixes: d1b17a5edc ("pvr: Implement ZLS subtile alignment")
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Karmjit Mahil
019281fb0d
pvr: Regenerate all descriptor program data sections
...
The descriptor set code will undergo a rework fairly soon so instead of trying
to fixup `per_stage_descriptor_masks` and deal with possible side effects of
that, for now let's always regenerate all descriptor program data sections no
matter the stage mask.
Fixes the following:
dEQP-VK.pipeline.monolithic.dynamic_offset.graphics
.{multi,single_}set.{storage,uniform}_buffer.numcmdbuffers_1
.sameorder.numdescriptorsetbindings_2.numdynamicbindings_1
.numnondynamicbindings_0
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Karmjit Mahil
ab2be6a224
pvr: Fix barier->barrier typo
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:34 +00:00
Frank Binns
bd8c8e4af9
pvr: minor vulkan driver formatting fixes
...
clang-format the code.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679 >
2024-10-23 16:47:33 +00:00