Marek Olšák
b5a0714aae
glthread: fix glVertexAttribDivisor calls not being tracked by non-VBO uploads
...
marshal_call_after is ignored if the function is an alias of another
function. Move it to the right place.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8753 >
2021-01-29 02:28:42 +00:00
Marek Olšák
76c322a48d
glthread: fix interpreting vertex size == GL_BGRA for vertex attribs
...
Fixes: c9c9f57b02 - glthread: track pointers and strides for Pointer & EXT_dsa attrib functions
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4116
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8753 >
2021-01-29 02:28:42 +00:00
Eric Anholt
b308d56e20
ci: Update baremetal kernel to 5.11-rc5 plus patches.
...
The dr_mode hack is now folded into the git tree. The uprev brings in a
shrinker fix for msm and a fix for the GPU_SET OOB messages on cheza
(possibly involved in piglit flakes).
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8768 >
2021-01-29 01:30:46 +00:00
Kenneth Graunke
97fbe2d45f
iris: Move VS draw parameter dirty flagging to iris_bind_vs_state
...
Now that we're looking at shader info system values rather than
vs_prog_data, there's no reason we have to do this when updating
the shader variants. We can simply check it when binding a new
shader from the API point of view.
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8759 >
2021-01-29 01:24:14 +00:00
Kenneth Graunke
fdbb5d4dd9
iris: Minor code restyling in iris_bind_vs_state
...
We'll be adding more code here shortly, this will make it easier.
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8759 >
2021-01-29 01:24:14 +00:00
Kenneth Graunke
ddfdd94468
iris: Use shader_info rather than vs_prog_data for draw parameter checks
...
brw_compile_vs sets the vs_prog_data fields based on the NIR program's
system values read info field. We can use that directly, enabling more
cleanups in the next patches.
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8759 >
2021-01-29 01:24:14 +00:00
Bas Nieuwenhuizen
d938fcefb9
radv: Expose VK_KHR_workgroup_memory_explicit_layout.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8752 >
2021-01-29 00:05:36 +01:00
Eric Anholt
7d0c940d70
freedreno: Remove duplicate bc invalidate on flush_write_batch().
...
The fd_batch_flush() internals already do the invalidate at the end to
clean up the bc's references to the batch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8729 >
2021-01-28 14:50:43 -08:00
Eric Anholt
f179594cf9
freedreno: Early-out from the resource write path when we're the writer.
...
No need to do the other checks in this case, because then we know that
we've done the UBWC clears and recursed on stencil and added deps on read
batches.
Done as a separate patch to reduce behavior changes in my upcoming move of
the batch cache to the context.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8729 >
2021-01-28 14:50:43 -08:00
Eric Anholt
d1a0eba241
freedreno: Use a real type instead of void * for the fd_batch->key.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8729 >
2021-01-28 14:48:45 -08:00
Jesse Natalie
695d3bcb12
mapi: Undefine MemoryBarrier
...
Reviewed-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8661 >
2021-01-28 18:35:13 +00:00
Jesse Natalie
92f1b6bad5
glapi: Undefine MemoryBarrier
...
Reviewed-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8661 >
2021-01-28 18:35:13 +00:00
Jordan Justen
4656be70dd
anv: Support multiple engines with DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT
...
v2 (Jason Ekstrand):
- Separate the anv_gem interface from anv_queue internals
- Rework on top of the new anv_queue_family stuff
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
c5e7c91487
anv: Add anv_gem_count_engines
...
v2 (Jason Ekstrand):
- Take a drm_i915_query_engine_info
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
5d84c764fd
anv: Gather engine info from i915 if available
...
v2 (Jason Ekstrand):
- Don't take an anv_physical_device in anv_gem_get_engine_info()
- Return the engine info from anv_gem_get_engine_info()
- Free the engine info in anv_physical_device_destroy()
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
c0d07c838a
anv: Support i915 query (DRM_IOCTL_I915_QUERY) from Linux v4.17
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
8d07f71918
anv: Print queue number with INTEL_DEBUG=bat
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
9fd0806621
anv: Turn device->queue into an array
...
Rework: Lionel
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jordan Justen
40d4799d8a
anv: Add exec_flags to anv_queue
...
This may vary based on the newer kernel engines based contexts.
v2 (Jason Ekstrand):
- Initialize anv_queue::exec_flags in anv_queue_init
- Don't conflate this with refactors to get_reset_stats
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:33 +00:00
Jason Ekstrand
89ae945730
anv: Add an anv_queue_family struct
...
This is modeled on anv_memory_type and anv_memory_heap which we already
use for managing memory types. Each anv_queue_family contains some data
which is returned by vkGetPhysicalDeviceQueueFamilyProperties() verbatim
as well as some internal book-keeping bits. An array of queue families
along with a count is stored in the physical device. Each anv_queue
then contains a pointer to the anv_queue_family to which it belongs.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Lionel Landwerlin
4b920ba5ab
anv: store queue creation flags on anv_queue
...
v2 (Jason Ekstrand):
- Pass the whole VkDeviceQueueCreateInfo into anv_queue_init()
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Jason Ekstrand
e18d045b69
anv: Refactor anv_queue_finish()
...
By moving vk_object_base_finish() to the end and putting the thread
clean-up in an if block we both better mimic anv_queue_init() and have a
more correct object destruction order. It comes at the cost of a level
of indentation but that seems to actually make the function more clear.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Lionel Landwerlin
34721e2af4
anv: pass context to reset stats helper
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Jason Ekstrand
e2cd83fbc5
anv: Fix an old parameter name in GetDeviceQueue
...
I don't know if this is a typo or an artifact of ancient versions of the
Vulkan API. In any case, it's wrong.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Jason Ekstrand
dc8d74a555
anv: Drop anv_dump
...
I originally wrote this several years ago to aid in app debugging. Now
that we have nice tools like RenderDoc, it's no longer needed. I don't
think anyone's really used it in 4 years or more.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667 >
2021-01-28 18:26:32 +00:00
Witold Baryluk
65ef4a2e02
util: Use explicit relaxed reads for u_queue
...
These are no-op, but make clang thread sanitizer happy.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8230 >
2021-01-28 18:07:09 +00:00
Jason Ekstrand
f3a43e36e0
intel/fs: Add an ex_desc field to fs_inst for SHADER_OPCODE_SEND
...
I meant to do this years ago when I first added SHADER_OPCODE_SEND. At
the time, the only use for the extended descriptor was bindless handles
which were always one thing and never non-constant. However, it doesn't
actually require any extra instructions because we have to OR in ex_mlen
anyway.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8748 >
2021-01-28 17:57:48 +00:00
BillKristiansen
9003735b91
d3d12: fix for upside-down multisample stencil blit
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8704 >
2021-01-28 16:40:17 +00:00
Christian Gmeiner
f33b958010
vc4: add drm-shim
...
Is enought to run shader-db.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8736 >
2021-01-28 16:14:06 +00:00
Mike Blumenkrantz
e25a3e21f8
ci: disable glcpp tests for now
...
these are too flaky to continue running for now
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8738 >
2021-01-28 15:52:32 +00:00
Mike Blumenkrantz
f9ae947e72
meson: add enable-glcpp-tests option
...
these are too intermittent to be left enabled on CI for now
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8738 >
2021-01-28 15:52:32 +00:00
Mike Blumenkrantz
6a29632dd2
Revert "glcpp: disable 'windows' tests"
...
This reverts commit f7527f7f65 .
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8738 >
2021-01-28 15:52:32 +00:00
Mike Blumenkrantz
514b17235f
zink: export ssbo caps
...
PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT is needed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:28 +00:00
Mike Blumenkrantz
7e5c4b4da3
zink: flatten out ssbo/ubo variable decls in ntv
...
we were using a system of block=array<uvec4> here, but we can really
just simplify this to block=array<uint> to make all the related code much
simpler
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:28 +00:00
Mike Blumenkrantz
388f43c036
zink: implement get_ssbo_size nir intrinsic
...
this is a little hacky since we're still using unpacked layout for everything,
requiring that we "adjust" the value we pass back to the user for std430 to
be the expected value as though we were using packed layout
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:28 +00:00
Mike Blumenkrantz
313c77f326
zink: support nir_intrinsic_store_ssbo
...
this is gross, but it works
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:28 +00:00
Mike Blumenkrantz
b0847a4324
zink: rework ssbo indexing and binding
...
this is actually crazy, but there's no other way to do it from the variable.
ideally, nir would have a separate type for atomic counters to simplify this
and then also stop mangling binding/block index during lower_buffers
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:28 +00:00
Mike Blumenkrantz
deeafe47b6
zink: handle more ssbo ops in ntv
...
this is easiest with a macro since it's already implemented for images
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:27 +00:00
Mike Blumenkrantz
39665fc8c0
zink: handle null ssbo attachments without crashing
...
basically the same as any other null buffer descriptor attachment
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:27 +00:00
Mike Blumenkrantz
bceb47d57b
zink: flag ssbo buffer resources as having pending writes per stage
...
I meant to squash this down but didn't get around to it
Fixes: e79d905f5a ("zink: flag ssbo buffer resources as having pending writes on batch")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:27 +00:00
Mike Blumenkrantz
db1c9b36b4
zink: add spirv builder function for OpAtomicStore
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8628 >
2021-01-28 14:34:27 +00:00
cheyang
070334dc69
glsl: redeclare built-in variable with separate shader
...
according to :
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_separate_shader_objects.gles.txt
properly handle the declaration of these interface block varibales
Signed-off-by: cheyang <cheyang@bytedance.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8101 >
2021-01-28 13:15:13 +00:00
Kenneth Graunke
9d63547f2f
iris: Properly handle new unbind_num_trailing_slots parameters
...
Commits 0278d1fa323cf1f289..b688ea31fcf7e20436 added a new parameter
to set_vertex_buffers(), set_shader_images(), and set_sampler_views()
which specifies a number of trailing slots to unbind. They updated
the iris functions to do the unbinding, but didn't update the code
to mark which things are bound in the bitfields. This meant that
later code would assume those unbound slots were bound, and crash
on a NULL dereference. All that's needed is to add that slot count
when unbinding things in the bitfield.
Fixes: 0278d1fa32 ("gallium: add unbind_num_trailing_slots to set_vertex_buffers")
Fixes: 72ff66c3d7 ("gallium: add unbind_num_trailing_slots to set_shader_images")
Fixes: b688ea31fc ("gallium: add unbind_num_trailing_slots to set_sampler_views")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8758 >
2021-01-28 00:54:22 -08:00
Ian Romanick
0f1a8f8a6d
i965: Don't parse driconf again
...
It was already parsed in intelInitScree2, and the results are stored in
the screen.
Fixes: d67ef48580 ("i965/screen: Allow drirc to set 'allow_rgb10_configs' again.")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7387 >
2021-01-27 19:10:05 -08:00
Ian Romanick
f11a827941
i965: Use allow_higher_compat_version option during screen initialization
...
Currently, `allow_higher_compat_version` is only used during context
creation. Doing that means an application that doesn't request a
specific version can be given a version higher than 3.0.
However, an application still cannot request a higher version via
glXCreateContextAttribsARB. The GLX and DRI layers will only see that
version 3.0 is supported, so context creation will fail before the drive
is called. For this to work, max_gl_compat_version must be set to a
higher version.
This enables running many piglit tests on i965 with
allow_higher_compat_version.
v2: Fix a typo in a comment. Noticed by Tim. Fix a typo in the commit
message. Noticed by the spell checker. :)
v3: Don't parse driconf again. Suggested by Tim.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7387 >
2021-01-27 19:10:01 -08:00
Ian Romanick
dbf6c17a1b
i965: Don't advertise OpenGL 3.3+ if driconf disables GL_ARB_blend_func_extended
...
This prevents the assertion added in "i965: Use
allow_higher_compat_version option during screen initialization" from
failing when disable_blend_func_extended=true.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7387 >
2021-01-27 19:09:43 -08:00
Simon Zeni
d0444b7618
egl/dri2: enable EGL_WL_bind_wayland_display in EGL device platform
...
EGL_WL_bind_wayland_display was previously supported on all platforms,
except the EGL device platform.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8638 >
2021-01-28 00:30:10 +00:00
Marek Olšák
dbf09c0c26
radeonsi: fix centroid with VRS coarse shading
...
This has no effect on other shading. It should have been the default value.
Fixes: c3432ad852 - radeonsi: add an option to enable 2x2 coarse shading for non-GUI elements
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8726 >
2021-01-28 00:14:32 +00:00
Marek Olšák
be8d811e57
gallium/u_vbuf: skip draws with 0 vertices
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8298 >
2021-01-27 23:53:35 +00:00
Marek Olšák
431cd34cdb
st/mesa: set take_index_buffer_ownership to skip an atomic in u_threaded
...
This reduces overhead by skipping the atomic, which is slow on AMD Zen.
It uses the same mechanism as vertex buffers.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8298 >
2021-01-27 23:53:35 +00:00