Commit Graph

1321 Commits

Author SHA1 Message Date
Riccardo Bortolato 2a51e695a1 d3d8: Replace surface refcounting with parent texture refcounting.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:23:32 +09:00
Riccardo Bortolato a996804a0d d3d8: Replace wined3d_surface_get_resource with wined3d_texture_get_sub_resource in device.c.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:23:25 +09:00
Riccardo Bortolato ea51e1f107 d3d8: Don't use a wined3d_surface in d3d8_surface_GetDesc.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 2f1b6114da d3d8: Use wined3d_texture_unmap instead of wined3d_surface_unmap in d3d8_surface_UnlockRect.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 9c00f968d6 d3d8: Make use of wined3d_texture_map in d3d8_surface_LockRect.
Pass wined3d_texture and sub_resource idx to device_parent_surface_created callback.
Store wined3d_texture and sub_resource in d3d8_surface.
Also updated d3d9, d3d11, ddraw callbacks accordingly.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 33bb9e9610 wined3d: Don't pass a wined3d_volume to device_volume_created callback anymore.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 21:00:07 +09:00
Riccardo Bortolato eeea2af596 d3d8: Don't use a wined3d_volume in d3d8_volume_GetDesc.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:53 +09:00
Riccardo Bortolato d49ad6c608 d3d8: Make use of wined3d_texture_unmap in d3d8_volume_UnlockBox.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Riccardo Bortolato 9621737c8e wined3d: Pass wined3d_texture and sub_resource idx to device_volume_created callback.
Store wined3d_texture and sub_resource in d3d8_volume.
Updated the d3d8_volume_LockBox to make use of wined3d_texture_map.
Also updated d3d9, d3d11, ddraw callbacks accordingly.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Riccardo Bortolato 1d1487105d wined3d: Pass a wined3d_box to wined3d_surface_map..
Introduced a new surface_check_block_align function that accepts a
wined3d_box, eventually the old _rect version will be completely
replaced.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:51 +09:00
Stefan Dösinger c9c622f083 d3d8/tests: Port test_flip to d3d8.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
2015-10-06 19:23:44 +09:00
Stefan Dösinger 6b8564d629 d3d8: Accept D3DSWAPEFFECT_COPY_VSYNC.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
2015-10-02 15:37:38 +09:00
Andrey Gusev f0c52fe0f5 d3d8: TRACE fixes. 2015-09-18 14:57:35 +02:00
Gerald Pfeifer 604c2c1da0 d3d8: Avoid shift overflow in render_state_test_data_init. 2015-09-08 21:59:17 +09:00
Stefan Dösinger 2936e4ac54 wined3d: Remove wined3d_backbuffer_type. 2015-09-08 21:59:16 +09:00
Stefan Dösinger 9d29be2800 d3d8/tests: Test D3DBACKBUFFER_TYPE. 2015-09-08 21:59:16 +09:00
Stefan Dösinger fa0041954f wined3d: Return a texture from the swapchain resource creation callback. 2015-09-04 20:01:05 +09:00
Stefan Dösinger 76c43d8177 d3d8/tests: Add more GetBackBuffer error handling tests. 2015-09-03 21:11:08 +09:00
Stefan Dösinger feb35006f5 wined3d: Remove wined3d_device_get_back_buffer. 2015-09-03 21:11:08 +09:00
Stefan Dösinger f010e5d88a wined3d: Return a texture from wined3d_swapchain_get_back_buffer. 2015-09-03 21:11:07 +09:00
Stefan Dösinger 93ed5d3ba3 d3d8/tests: Test presentation parameter combinations. 2015-08-27 21:43:47 +09:00
Stefan Dösinger 8c91443f9d d3d8: Validate swap effect and backbuffer count. 2015-08-27 21:43:47 +09:00
Francois Gouget f8a7d6ed74 Assorted spelling fixes. 2015-08-07 23:50:48 +09:00
Henri Verbeet 1e439a5ed1 d3d8/tests: Port test_get_set_texture() to d3d8. 2015-08-04 12:21:58 +02:00
Matteo Bruni b2eac3a51d d3d8/tests: Add a test for UpdateTexture. 2015-07-09 17:18:23 +09:00
Matteo Bruni 170dca7741 wined3d: Handle per-vertex point size in the GLSL FFP replacement. 2015-06-17 20:01:19 +09:00
Matteo Bruni 92a2cef7a8 d3d8/tests: Port part of the fixed function attributes test to D3D8. 2015-06-12 21:23:12 +09:00
Matteo Bruni ddefb49a30 d3d8/tests: Port the vertex shader input test to D3D8. 2015-06-12 21:23:12 +09:00
Michael Müller 002446b1e7 d3d8: Mark one more function as hotpatchable. 2015-06-11 19:35:05 +09:00
Matteo Bruni db1bee5b9e d3d8/tests: Add a test for reordering texture coordinates via D3DTSS_TEXCOORDINDEX. 2015-06-11 19:34:56 +09:00
Stefan Dösinger e09f980c83 d3d8: Reject FBs with mismatching multisample settings. 2015-06-10 23:25:05 +09:00
Matteo Bruni 53ff3279e4 d3d8/tests: Port the point size test to D3D8. 2015-06-05 16:53:06 +09:00
Nikolay Sivov 3d6ee7e5b9 d3d8: Fix token type checks in convert_to_wined3d_declaration (Coverity). 2015-06-03 19:29:49 +09:00
Matteo Bruni 67bdfd3d8e d3d8/tests: Add a specular lighting test. 2015-04-29 17:02:20 +09:00
Stefan Dösinger 7109bebd02 wined3d: Move volume DXTn handling to apply_format_fixups. 2015-04-27 15:07:42 +09:00
Matteo Bruni b963c73abb wined3d: Introduce D3D7+ normal matrix computation. 2015-04-24 19:07:52 +09:00
Matteo Bruni 589f1072df d3d8/tests: Add a lighting test with non-affine worldview matrix. 2015-04-22 23:24:06 +09:00
Henri Verbeet 69047ed4f7 d3d8: Update the BackBufferCount after a successful reset. 2015-04-14 17:26:46 +09:00
Henri Verbeet 549f7b8a9c d3d8/tests: Test D3DPRESENT_PARAMETERS after a successful reset. 2015-04-14 17:26:40 +09:00
Henri Verbeet 94967c28b9 wined3d: Add support for half-integer pixel centers.
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Matteo Bruni 848991fc11 d3d8/tests: Add more lighting tests. 2015-03-27 20:40:38 +09:00
Henri Verbeet 1b08196c5a wined3d: Implement d3d10 style instance data step rates. 2015-03-24 17:41:06 +09:00
Francois Gouget f505e6fb4a Assorted spelling fixes. 2015-03-19 21:54:14 +09:00
Stefan Dösinger b003cefe9e d3d8/tests: oFog is not initialized on r200. 2015-03-13 22:28:29 +09:00
Stefan Dösinger a46cad41b3 d3d8/tests: Add a test for signed formats. 2015-03-11 22:09:09 +09:00
Francois Gouget ae7dfe274f d3d8: Remove unneeded NONAMELESSXXX directives. 2015-03-10 15:18:23 +09:00
Stefan Dösinger 3b2cf06b91 d3d8/tests: Extend the FPU setup test. 2015-02-27 21:53:46 +09:00
Matteo Bruni 04fa54fc44 d3d8/tests: Move a Present out of the loops in fog_with_shader_test(). 2015-02-25 20:35:27 +09:00
Michael Stefaniuc dd2dbde625 d3d8/tests: Test the return value of CreateVolumeTexture (PVS-Studio). 2015-02-23 15:26:01 +09:00
Matteo Bruni d49d2a5d47 d3d8/tests: Allow more alternative results in the ATI1N test. 2015-02-19 17:51:32 +09:00
Stefan Dösinger f75d1b0c2f d3d/tests: Geforce8+ GPUs abs() table fog. 2015-02-13 22:37:07 +09:00
Stefan Dösinger f460db7c80 d3d8/tests: Test rhw depth clip with z enabled but no depth buffer set. 2015-02-12 22:19:58 +09:00
Stefan Dösinger 77eb58b54e d3d8/tests: Test rhw table fog z vs rhw. 2015-02-12 22:19:09 +09:00
Stefan Dösinger 63d52c7317 d3d/tests: Show that WM_SYSCOMMAND(SC_RESTORE) is delivered only once. 2015-01-28 11:06:56 +01:00
Stefan Dösinger 3ef1d6bcd9 wined3d: Pass WM_SYSCOMMAND(SC_RESTORE) to DefWindowProc. 2015-01-28 11:06:48 +01:00
Axel Davy c5d420b35a d3d8/tests: Fix test_3dc_formats getPixelColor check. 2015-01-13 19:53:56 +01:00
Axel Davy 58083dfb12 d3d8/tests: Fix volume_dxt5_test getPixelColor check.
getPixelColor should be called before Present, because the device
swapchain was created with discard mode.
2015-01-13 19:53:53 +01:00
Henri Verbeet ea534c9ab4 wined3d: Allow initial texture contents to be specified with wined3d_texture_create(). 2015-01-05 20:15:35 +01:00
Henri Verbeet 1a28c7c5cc d3d8: Calculate texture levels in d3d8 instead of wined3d. 2014-12-10 19:32:14 +01:00
Stefan Dösinger 19c860499a wined3d: Filter messages generated by focus handling. 2014-12-08 14:18:43 +01:00
Stefan Dösinger c37549ef5d d3d8/tests: Test WM_SYSCOMMAND handling. 2014-12-08 14:17:29 +01:00
Stefan Dösinger e8ce1085a9 d3d8/tests: Test focus loss message filtering. 2014-12-08 14:17:20 +01:00
Stefan Dösinger 8dd44e2801 d3d8: Refuse to reset a lost device. 2014-12-02 13:05:52 +01:00
Stefan Dösinger 871fc4a38f d3d/tests: Rename fog_interpolation_test for consistency. 2014-11-27 13:27:24 +01:00
Stefan Dösinger 96519f9be9 d3d/tests: Table fog does not abs the fog coordinate. 2014-11-27 13:27:21 +01:00
Stefan Dösinger cfd741c6b6 d3d/tests: Show that the vfog abs is not a property of D3DFOG_LINEAR. 2014-11-27 13:27:17 +01:00
Stefan Dösinger c9b10beb36 wined3d: Vertex fog uses the absolute eye position z. 2014-11-27 13:27:13 +01:00
Stefan Dösinger d1bd709471 d3d8/tests: Call TestCooperativeLevel after Present. 2014-11-27 11:09:45 +01:00
Stefan Dösinger 4e8da470f8 d3d8/tests: Fix test_cursor(). 2014-11-25 19:49:41 +01:00
Stefan Dösinger dd8bf9c87d d3d8: Only one fullscreen swapchain is allowed. 2014-11-25 19:49:31 +01:00
Stefan Dösinger f4d520d6e2 wined3d: Don't minimize hidden windows. 2014-11-20 22:31:26 +09:00
Stefan Dösinger 09a91231a6 wined3d: Set the device window size on focus window activation. 2014-11-20 22:31:13 +09:00
Stefan Dösinger f6dde70624 wined3d: Restore the display mode on focus change. 2014-11-19 17:56:44 +09:00
Stefan Dösinger b30901415a d3d8/tests: Test mode restoration on focus loss. 2014-11-19 16:41:06 +09:00
Stefan Dösinger f6f4af46db d3d8/tests: Test style changes on focus loss. 2014-11-18 14:14:45 +09:00
Stefan Dösinger 33976b4f44 d3d8/tests: Test messages on focus loss. 2014-11-18 14:14:42 +09:00
Henri Verbeet 1c116c3527 d3d10core/tests: Port alpha_test() to d3d10core. 2014-11-17 19:30:40 +09:00
Stefan Dösinger 2b31cac692 d3d8/tests: Allow passing a resolution to reset_device. 2014-11-13 20:35:43 +09:00
Stefan Dösinger 38548df04b d3d/tests: Test fog interpolation. 2014-11-12 20:07:56 +09:00
Stefan Dösinger 7b7516189d d3d8/tests: Fix some wndproc comparison error messages. 2014-11-11 21:57:23 +09:00
Stefan Dösinger bd6a5de27d d3d8/tests: The device restores the mode settings from the registry. 2014-11-07 14:04:04 +09:00
Stefan Dösinger dcf7d294cc d3d8/tests: Check if the current display settings match the registry settings. 2014-11-04 21:16:16 +09:00
Matteo Bruni e16016227f d3d8/tests: Add an ATI1N entry to the test_volume_blocks test. 2014-11-04 21:16:00 +09:00
Matteo Bruni 8f3477e106 d3d8/tests: Add a test for ATI1N and ATI2N texture formats. 2014-11-04 21:15:58 +09:00
Henri Verbeet 875a7c5426 wined3d: Use the input signature to setup SM4 pixel shader input semantics. 2014-11-04 16:54:35 +09:00
Michael Stefaniuc 4a67e66a3d d3d8/tests: Remove an always false condition (PVS-Studio). 2014-11-03 16:34:14 +09:00
Stefan Dösinger 86168c4e90 d3d8/tests: Skip unsupported resources in test_resource_type. 2014-10-23 18:48:18 +09:00
Stefan Dösinger 94f20a6fff d3d8/tests: Use create_device in test_swvp_buffer. 2014-10-22 21:01:43 +09:00
Stefan Dösinger 1ae02b92e0 d3d8/tests: Use create_device for test_fpu_setup. 2014-10-22 21:01:41 +09:00
Stefan Dösinger f33aacd4d0 d3d8/tests: Update create_device to match d3d9. 2014-10-21 18:47:58 +09:00
Matteo Bruni 291c4f3b65 d3d8/tests: Port the applicable parts of the new unsupported shaders tests to d3d8. 2014-10-16 21:23:18 +09:00
Matteo Bruni 894298d502 d3d9/tests: Port the unsupported shaders test to D3D9Ex. 2014-10-16 21:23:07 +09:00
Henri Verbeet 62771c7dda d3d8/tests: Allow a width and height to be passed to create_device(). 2014-10-14 21:07:37 +09:00
Henri Verbeet d5365aae28 d3d8: Get rid of the format switching code in d3d8_device_CopyRects().
This can't possibly do anything, since we fail texture creation for
WINED3DFMT_UNKNOWN. If texture creation with D3DFMT_UNKNOWN is actually
supposed to work, we should probably pick an appropriate format at creation,
instead of during CopyRects(). This code has existed in some form or another
since the initial version in commit 850a9429db.
No tests, of course.
2014-09-29 10:37:12 +02:00
Francois Gouget 0dd5cb1cef Assorted spelling fixes. 2014-09-29 10:36:36 +02:00
Stefan Dösinger 92bcb74768 d3d8: Return the correct value in CreateAdditionalSwapChain. 2014-09-25 16:41:48 +02:00
Henri Verbeet 74ab8e8ce9 wined3d: Do not increment the reference count of the returned buffer in wined3d_device_get_stream_source().
None of the other getters increment the reference count either.
2014-09-18 13:06:32 +02:00
Henri Verbeet 07985a8c38 wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +02:00
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet 8fe8495908 d3d8: wined3d_device_get_available_texture_mem() returns a UINT. 2014-08-18 12:47:07 +02:00
Henri Verbeet 599f018c81 d3d8: The "forwardReference" field in struct d3d8_surface is always a texture, if set. 2014-08-15 17:04:13 +02:00
Henri Verbeet 515c1acf29 d3d8: Volumes are always part of a texture. 2014-08-15 17:04:09 +02:00
Henri Verbeet ca95dd2c82 d3d8: Return E_OUTOFMEMORY on HeapAlloc() failure in device_parent_surface_created(). 2014-08-15 17:04:00 +02:00
Stefan Dösinger 341db6d8d3 wined3d: Remove wined3d_texture_set/get_priority. 2014-07-16 16:10:05 +02:00
Stefan Dösinger cf11933701 wined3d: Remove wined3d_buffer_set/get_priority. 2014-07-16 16:10:01 +02:00
Henri Verbeet 4cb91a69b0 d3d8/tests: Get rid of struct nvertex. 2014-07-15 15:30:01 +02:00
Henri Verbeet 59208edffe d3d8/tests: Get rid of struct tvertex. 2014-07-15 15:29:59 +02:00
Henri Verbeet ab1a53c1b9 d3d8/tests: Get rid of struct vertex. 2014-07-15 15:29:57 +02:00
Stefan Dösinger 0b61e22fd3 d3d8/tests: Add a test for SetPriority and GetPriority. 2014-07-09 14:43:53 +02:00
Henri Verbeet ee7eee5511 d3d8: Check the device status in present calls. 2014-06-30 22:04:53 +02:00
Henri Verbeet 85c203edad d3d8: Improve d3d8_device_TestCooperativeLevel(). 2014-06-30 22:04:53 +02:00
Henri Verbeet 09fda3b805 d3d9: Improve d3d9_device_TestCooperativeLevel(). 2014-06-27 10:37:36 +02:00
Henri Verbeet e6de1cbdc9 d3d8/tests: Add some lost device tests. 2014-06-27 10:37:28 +02:00
Stefan Dösinger af733f0475 d3d8/tests: Add a test for D3DUSAGE_WRITEONLY. 2014-06-11 16:14:56 +02:00
Alexandre Julliard 4df26c56d8 d3d8: Remove unnecessary DllMain implementation. 2014-05-15 19:04:50 +02:00
Henri Verbeet 2a258bd0c5 d3d8/tests: Handle the Windows 8 testbot results in cnd_test(). 2014-04-22 11:26:29 +02:00
Henri Verbeet 41abcf6048 d3d8/tests: Handle the Windows 8 testbot results in zenable_test(). 2014-04-22 11:26:27 +02:00
Henri Verbeet a8248847f5 d3d8/tests: Use a separate device for test_sanity(). 2014-04-22 11:26:26 +02:00
Henri Verbeet 25d2de7b93 d3d8/tests: Use a separate device for depth_clamp_test(). 2014-04-22 11:26:24 +02:00
Henri Verbeet 9994cf8aec d3d8/tests: Use a separate device for lighting_test(). 2014-04-21 11:09:57 +02:00
Henri Verbeet 00630f67a4 d3d8/tests: Use a separate device for clear_test(). 2014-04-21 11:09:56 +02:00
Henri Verbeet 322e6dd587 d3d8/tests: Use a separate device for fog_test(). 2014-04-21 11:09:55 +02:00
Henri Verbeet 2428049753 d3d8/tests: Use a separate device for z_range_test(). 2014-04-21 11:09:54 +02:00
Henri Verbeet f8bd052366 d3d8/tests: Use a separate device for offscreen_test(). 2014-04-21 11:09:54 +02:00
Henri Verbeet 18ba1bce71 d3d8/tests: Use a separate device for alpha_test(). 2014-04-18 10:44:49 +02:00
Henri Verbeet b2ab682234 d3d8/tests: Use a separate device for test_scalar_instructions(). 2014-04-18 10:44:47 +02:00
Henri Verbeet f693254d2c d3d8/tests: Use a separate device for fog_with_shader_test(). 2014-04-18 10:44:45 +02:00
Henri Verbeet af8cd4a7af d3d8/tests: Use a separate device for cnd_test(). 2014-04-18 10:44:43 +02:00
Henri Verbeet 9166b74039 d3d8/tests: Use a separate device for p8_texture_test(). 2014-04-18 10:44:39 +02:00
Henri Verbeet f719ef3858 d3d8/tests: Use a separate device for texop_test(). 2014-04-17 10:44:34 +02:00
Henri Verbeet 8cd5f7fdca d3d8/tests: Use a separate device for depth_buffer_test(). 2014-04-17 10:44:32 +02:00
Henri Verbeet f798db55c8 d3d8/tests: Use a separate device for depth_buffer2_test(). 2014-04-17 10:44:30 +02:00
Henri Verbeet e43d7c4f8a d3d8/tests: Use a separate device for intz_test(). 2014-04-17 10:44:28 +02:00
Henri Verbeet 527882d4e2 d3d8/tests: Use a separate device for shadow_test(). 2014-04-17 10:44:26 +02:00
Henri Verbeet b2d8573848 d3d8/tests: Use a separate device for multisample_copy_rects_test(). 2014-04-16 10:53:56 +02:00
Henri Verbeet 36f5debb88 d3d8/tests: Use a separate device for zenable_test(). 2014-04-16 10:53:52 +02:00
Henri Verbeet 46a7517fed d3d8/tests: Use a separate device for resz_test(). 2014-04-16 10:53:48 +02:00
Henri Verbeet b17ff75649 d3d8/tests: Use a separate device for fog_special_test(). 2014-04-16 10:53:43 +02:00
Henri Verbeet d93cbeca51 d3d8/tests: Use a separate device for volume_dxt5_test(). 2014-04-16 10:53:39 +02:00
Henri Verbeet 554871ea81 d3d8/tests: Use a separate device for volume_v16u16_test(). 2014-04-15 21:03:54 +02:00
Henri Verbeet 29680b685a d3d8/tests: Use a separate device for add_dirty_rect_test(). 2014-04-15 21:03:54 +02:00
Henri Verbeet ef5e4c794d d3d8/tests: Make the sanity test a normal test. 2014-04-15 21:03:54 +02:00
Henri Verbeet 54029915d5 d3d8/tests: Properly declare matrices. 2014-04-14 20:19:01 +02:00
Henri Verbeet 3a87b3a6db d3d8/tests: Get rid of some pointless BeginScene() checks. 2014-04-14 20:19:01 +02:00
Stefan Dösinger 2bf09a1538 d3d8/tests: Test locking of mipmap textures. 2014-04-08 19:23:21 +02:00
Stefan Dösinger fffe162f40 d3d8/tests: Add a test for (sub-) resource types. 2014-04-07 19:06:11 +02:00
Stefan Dösinger 9a795c528f d3d8: Use the private store api for surfaces. 2014-03-21 17:36:30 +01:00
Stefan Dösinger 9be18d5fdd d3d8: Use the private store api for textures. 2014-03-21 17:36:28 +01:00
Stefan Dösinger c9db3c6620 d3d8: Use the private store api for volumes. 2014-03-21 17:36:23 +01:00
Stefan Dösinger 1db2bdcf8a d3d8: Use the private store api for buffers. 2014-03-21 17:36:20 +01:00