Commit Graph

478 Commits

Author SHA1 Message Date
Robert O'Callahan
5f8299aa98 Bug 626602. Part 0: Fix header guards. r=bas 2011-02-08 18:44:12 -06:00
Matt Woodrow
4875d1968d Bug 586683 - Part 3 - Add resolution handling to ThebesLayerD3D9. r=Bas a=blocking2.0 2011-02-09 09:39:09 +13:00
Bas Schouten
b4fa1d9cec Bug 628658: Ensure the container layer's clip is reset when done drawing a layer. r=roc,joedrew a=blocking-final 2011-01-26 05:54:35 +01:00
Bas Schouten
d6d0b3d6a8 Bug 625043: Properly save and restore old clip rect. r=jrmuizel a=blocking-final 2011-01-24 19:57:19 +01:00
Robert O'Callahan
69dc2ae3e3 Bug 621601. Part 4: Fix ImageLayers to handle null current image. r=bas,a=me 2011-01-19 21:27:54 +13:00
Robert O'Callahan
ad79053b53 Bug 621601. Part 2: Implement EndEmptyTransaction for D3D9. r=bas,a=joe 2011-01-19 21:27:54 +13:00
Robert O'Callahan
b36673c985 Bug 625409. ColorLayer implementations need to premultiply by the alpha value of their color. r=bas,a=blocking 2011-01-19 21:27:54 +13:00
Jeff Muizelaar
61fd279abc Bug 625508. This moves the GfxInfo checks out of LayerManagerOGL and into the callers. r=vlad
--HG--
extra : rebase_source : 6545f8a3982b04147b41907f1d2f2dd4768538e2
2011-01-18 15:11:19 -05:00
Bas Schouten
ba51e3f9ed Bug 624088: Recreate our device agressively on device losses. r=jrmuizel a=joedrew 2011-01-17 21:28:24 +00:00
Dhiren Bhatia
4079e0a4d6 Bug 617220 - Add 3DVision stereoscopic rendering support to D3D10 layers. r=bas.schouten r=vlad a=roc a=vlad 2011-01-12 17:51:27 +13:00
Jeff Muizelaar
11c0641ff9 Bug 623446. Turn the layer acceleration prefs into a tri-state. r=joe,a=b
This removes:
 layers.accelerate-all
 layers.accelerate-none

and adds:
 layers.acceleration.disabled
 layers.acceleration.force-enabled

This is closer to what D2D does.
2011-01-11 17:01:37 -05:00
Robert O'Callahan
abf01d108d Bug 624170. Part 1: Don't try to release the DC for null surfaces. r=bas; a=blocking-beta9+ landed on a CLOSED TREE 2011-01-10 17:24:10 -05:00
Robert O'Callahan
d18586045a Bug 622886 - Further wallpaper over crashes in gfxContext::gfxContext(gfxASurface *). r=bas,jrmuizel a=blocking-beta9+, CLOSED TREE 2011-01-10 17:07:49 -05:00
Robert O'Callahan
60388a174c Bug 622886 - spike in crashes [@ gfxContext::gfxContext(gfxASurface*) ]. r=bas, a=blocking 2011-01-04 12:59:00 -08:00
Robert O'Callahan
10f7e06464 Bug 539604. Part 12: Enable component alpha for containers that don't have an intermediate surface. r=bas,a=blocking 2011-01-03 15:04:59 +13:00
Bas Schouten
ae52927fa7 Bug 622678: Empty valid region when resources are cleared. r=roc a=blocking-betan 2011-01-04 02:37:13 +01:00
Bas Schouten
e83cf39bed Bug 593604 - Part 11: Remove code to support D2D/D3D9 interop. r+a=roc 2011-01-04 02:37:10 +01:00
Robert O'Callahan
65a4ff9706 Bug 593604. Back out changeset c20f34eefa5d to fix regression. a=blocking 2011-01-03 23:55:32 +13:00
Robert O'Callahan
0a2b0dfbde Bug 593604. Re-add missing hunk of part 10. a=blocking 2011-01-03 15:04:59 +13:00
Robert O'Callahan
b648fa5116 Bug 593604. Part 10: When ContainerLayerD3D9 uses an intermediate surface, try to copy up the background into the intermediate surface so we can composite component alpha into it correctly. r=bas,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan
b890fea2f3 Bug 593604. Part 9: Support component alpha in ThebesLayerD3D9. r=bas,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan
7e985e9c2e Bug 593604. Part 8.6: Add component-alpha shaders. r=bas,a=blocking 2011-01-03 14:48:09 +13:00
Bas Schouten
e9e5023ac1 Bug 604452: Default to linear upscaling in D3D9 layers and adhere to mFiler. r=bjacob a=blocking-final 2010-12-29 19:22:18 +00:00
Bas Schouten
bf0f317029 Backed out changeset c59ea33927d7 2010-12-29 19:31:26 +00:00
-f
3ecf39d8bf Bug 604452: Default to linear upscaling in D3D9 layers and adhere to mFiler. r=bjacob a=blocking-final 2010-12-29 19:22:18 +00:00
Bas Schouten
f34157c8d5 Bug 620665 - Part 6: Do not use mManager pointer for D3D9 layers. r=roc a=blocking-beta9 2010-12-29 01:07:15 +00:00
Bas Schouten
0c30be213f Bug 620665 - Part 3: Add some safety to ImageContainerD3D9::CreateImage. r=roc a=blocking-beta9 2010-12-29 01:07:06 +00:00
Bas Schouten
692f5c8f55 Bug 620665 - Part 2: Use fallback when ImageContainer's backend type doesn't match. r=roc a=blocking-beta9 2010-12-29 01:07:04 +00:00
Bas Schouten
e4cc92e61d Bug 620665 - Part 1: Expose backend type on ImageContainers. r=roc a=blocking-beta9 2010-12-29 01:07:00 +00:00
Jacek Caban
8c9652c9ac Bug 620669 - d3d9 layout does not compile on mingw; r=Bas a=Mossop 2010-12-21 05:52:00 -05:00
Oleg Romashin
3ae058666d Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. r=roc a=approval2.0 2010-11-30 08:02:46 +02:00
Bas Schouten
72e0b70c33 Bug 615316 - Part 10: Support different layer managers in ImageLayerD3D9. r=jrmuizel a=blocking-betaN 2010-12-20 22:37:30 +00:00
Bas Schouten
2f2ceb7f86 Bug 615316 - Part 9: Support changing devices for YCbCrImageD3D9. r=jrmuizel a=blocking-betaN 2010-12-20 22:37:18 +00:00
Bas Schouten
116672a916 Bug 615316 - Part 8: Support GetAsSurface for CairoImageD3D9. r=jrmuizel a=blocking-betaN 2010-12-20 22:37:11 +00:00
Bas Schouten
b6abb56232 Bug 615316 - Part 7: Support surfaces with Alpha for CairoImageD3D9. r=jrmuizel a=blocking-betaN 2010-12-20 22:37:08 +00:00
Bas Schouten
67d24c5af4 Bug 615316 - Part 6: Support device changing for CairoImageD3D9. r=jrmuizel a=blocking-betaN 2010-12-20 22:37:04 +00:00
Bas Schouten
9ba96ad8f7 Bug 615316 - Part 5: Factor out SurfaceToTexture in D3D9 Image layers. r=jrmuizel a=blocking-betan 2010-12-20 22:37:01 +00:00
Bas Schouten
db1c1db668 Bug 615316 - Part 4: Store device on CairoImageD3D9 instead of on the LayerManager. r=jrmuizel a=blocking-betan 2010-12-20 22:35:31 +00:00
Bas Schouten
402680c191 Bug 604647: Never create swap chains while the device is lost. r=jrmuizel a=blocking-final 2010-12-20 22:35:28 +00:00
Matthew Gregan
fc868e4d64 Bug 584259 - Add support for StereoMode element. r=roc a=roc 2010-11-03 12:43:29 +13:00
Matt Woodrow
b424421392 Bug 614651: Intersect clip rects properly in D3D9 layers. r=bas a=blocking-final 2010-12-15 21:37:07 +01:00
Michael Wu
a3ec8a5ae1 Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart 2010-12-13 16:14:07 -08:00
Oleg Romashin
0da1b085e9 Bug 615870 - Remote HTML5 video rendering pipeline should be shorter r=roc a=b-f 2010-12-10 21:32:52 +02:00
Oleg Romashin
61e5abed8a Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. part2 r=roc a=apporval2.0 2010-11-30 07:51:56 +02:00
Justin Lebar
43b18d2b18 Backed out changeset a5ec817740f0. a=orange 2010-11-29 09:08:24 -08:00
Oleg Romashin
233ef8a80c Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. r=roc a=approval2.0 2010-11-24 11:35:21 +02:00
Bas Schouten
251e12c687 Bug 614762: Null autoptr instead of release. r=jrmuizel a=blocking-beta8 2010-11-26 00:18:56 +01:00
Dave Townsend
1244f0ae62 Backing out changeset 8fff1c186b30 from bug 607653 due to reftest failures on OSX. a=bustage 2010-11-24 16:19:41 -08:00
Oleg Romashin
a8abb4a458 Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. r=roc a=approval2.0 2010-11-24 11:35:21 +02:00
Bas Schouten
648e0fa2c0 Bug 614111: Clear and recreate VertexBuffer on device reset. r=jrmuizel a=blocking-beta8 2010-11-23 17:24:39 +01:00
Benjamin Smedberg
f05b9e173c Bug 611595 - Prevent a crash when D3D9 texture creation fails because the screen is locked. In CairoImageD3D9::SetData, save the surface as a member. Try to create the texture immediately, but also try to create the texture again when painting if it failed the first time. r=bas a=blocker-topcrash 2010-11-18 13:47:59 -05:00
Vladimir Vukicevic
77225bdf11 b=598328; clean up nv console spam; r=joe, a=b 2010-11-16 20:33:04 -08:00
Tatiana Meshkova
b3ef0bae09 bug 606730 - Remote thebesLayer BG color rendering always, even if it's not visible, Part 1: Add mLastChild to all ContainerLayer r=roc a=roc 2010-11-16 18:33:56 -05:00
Matt Woodrow
0a67be7b51 Bug 605057 - Add gfxASurface::GetAsImageSurface to convert generic surfaces into image surfaces without copies (if possible). r=roc a=b 2010-11-11 15:31:22 -05:00
Robert O'Callahan
669ff953e8 Bug 602200. Share code to compute effective transforms and opacity, and snap effective transforms. r=bas,sr=vlad,a=blocker 2010-11-08 22:06:15 +13:00
Jacek Caban
24de518aff Bug 606155 - LayerManagerD3D9.cpp compilation failure on mingw r=bas.schouten a=benjamin
--HG--
extra : rebase_source : c7689b0313df5701fe7bb6297fc932c11d17ff0d
2010-11-06 14:24:19 +00:00
Bas Schouten
911e5dfba9 Bug 584494: Avoid creating intermediate surfaces in D3D9 layers. r=roc a=blocking-betaN 2010-10-21 22:41:04 +02:00
Bas Schouten
50d248afd4 Bug 601928: Check result of create texture for tmpTexture. r=jrmuizel a=blocking-beta8 2010-10-08 18:02:53 +02:00
Benoit Jacob
764d885972 Bug 600620 - 1/2 - Expose feature status block reason so that it can be used by about:support - r=vladimir, a=blocking2.0-b7 2010-10-06 21:40:08 -07:00
Benoit Jacob
20a45b4898 Backed out changeset 638ce363a9b1 2010-10-06 17:05:19 -04:00
Benoit Jacob
b5bc302c89 Bug 600620 - 1/2 - Expose feature status block reason so that it can be used by about:support - r=vladimir, a=blocking2.0-b7 2010-10-06 16:43:25 -04:00
Bas Schouten
15fb5328a2 Bug 593678: Initialize RenderTargetOffset as part of setting up the pipeline. r=jrmuizel a=joedrew 2010-10-02 00:25:00 +02:00
Bas Schouten
1a307b788a Bug 601257: Clean up usage of shader constants in D3D9 layers. r=jrmuizel a=joedrew 2010-10-02 00:24:58 +02:00
Bas Schouten
7706293fb5 Bug 594779: Bail out when texture creation fails, to avoid NULL pointer dereference. r=vlad a=blocking-beta7 CLOSED TREE 2010-09-27 04:57:40 +00:00
Bas Schouten
9720e04483 Bug 597320: Blacklist NVidia Optimus technology drivers for d3d9 layers. r=jrmuizel a=blocking-beta7 2010-09-17 18:57:46 +00:00
Oleg Romashin
7ab9f25f57 Bug 576437 - CreateOffscreenSurface should not silently translate ImageFormat24 into ImageFormat16_565. r=joe a=blocking2.0 2010-09-16 14:34:53 -07:00
Benoit Jacob
ab08d9888f Bug 594874 - GfxInfo blocklist needs to be used by D3D, WebGL, OpenGL - 2/3 - r=vladimir 2010-09-16 12:45:19 -04:00
Bas Schouten
3a223b0317 Bug 596489 - Part 3: Recreate the layer manager when a device is removed. r=roc 2010-09-15 22:16:02 +00:00
Bas Schouten
bf697e7d43 Bug 596489 - Part 2: Expose when a device manager is removed. r=jrmuizel 2010-09-15 22:15:59 +00:00
Bas Schouten
a41f88e4e6 Bug 596489 - Part 1: Refactor DeviceManager ownership. r=jrmuizel 2010-09-15 22:15:56 +00:00
Bas Schouten
910c08e31f Bug 596419: Fix up layer destruction scheme. r=jrmuizel 2010-09-15 22:15:49 +00:00
Bas Schouten
5cbe2d49ec Bug 596152: Clear intermediate textures used with container layers. r=jrmuizel a=blocking-beta7 2010-09-15 17:00:42 +00:00
Bas Schouten
e4f9c60a96 Bug 595154 - Part 4: Bail when texture lock fails. r=vlad a=b 2010-09-14 12:57:25 +02:00
Bas Schouten
419fbbb7b3 Bug 595154 - Part 3: Recreate/update CanvasLayerD3D9 texture when needed. r=vlad 2010-09-14 12:57:03 +02:00
Bas Schouten
260c735044 Bug 595154 - Part 2: Clean CanvasLayerD3D9 resources when needed. r=jrmuizel 2010-09-14 12:56:56 +02:00
Bas Schouten
e7f5acb977 Bug 595154 - Part 1: Generalize cleaning layer resources. r=jrmuizel 2010-09-14 12:56:39 +02:00
Vladimir Vukicevic
2df58148c6 comments only, updating license text. a=b 2010-09-13 13:45:20 -07:00
Bas Schouten
c8c48218d9 Bug 594624: Toss out surfaces on content type changes. r=jrmuizel a=blocking-beta6 2010-09-12 21:38:47 +02:00
Bas Schouten
ba35c84ad7 Bug 593860: Only render parts of a layer in the visible region. r=jrmuizel a=blocking-betaN 2010-09-08 05:27:38 +02:00
Bas Schouten
8f778f866d Bug 593268 - Part 3: Implement CreateOptimalSurface for D3D9 layers and use interop in CanvasLayerD3D9. r=jrmuizel 2010-09-08 05:27:36 +02:00
Bas Schouten
06e1af0909 Bug 590695: Don't check mDeviceEx when it doesn't exist. r=vlad a=blocking-beta6 2010-09-05 18:59:57 +02:00
Joe Drew
8678c3e212 Bug 593618 - Because we always paint the whole texture we're drawing to, we need to validate and draw the _bounds_ of the visible region, not just the visible region's subrectangles. r=bas a=blocking2.0:beta6+ 2010-09-05 01:31:19 -04:00
Matt Woodrow
3b8fe67d49 Bug 593530 - Don't leak the DeviceManagerD3D9 if initializing it fails. r=joe a=blocking2.0:beta6+ 2010-09-03 23:21:26 -04:00
Matt Woodrow
80b5ce86e3 b=593273, fix d3d9 layer manager crash on reftest shutdown, r=bas a=b 2010-09-03 14:07:59 -04:00
Joe Drew
3ef9ce1660 Bug 590841 - Add the ability for a DOM window to let us know when it's accelerated, and use that value in about:support. r=gavin sr=roc a=blocking2.0:beta6+ 2010-09-03 14:01:05 -04:00
Robert O'Callahan
ea9f2b9fe9 Fixing bustage, a=me 2010-09-03 16:20:23 +12:00
Matt Woodrow
8188c29e37 Bug 590367 - Render RGB d2d layers with a RGBA surface and shader r=Bas, a=blocking2.0 2010-09-03 15:51:04 +12:00
Matt Woodrow
47a1df4aa3 Bug 593224 - ContainerLayerD3D9 can reset the clip rect r=Bas, a=blocking2.0 2010-09-03 15:50:53 +12:00
Matt Woodrow
da3df6842e Bug 590735 - D3D9/OGL Image layers need to round up on uneven sized YCbCr images r=joe, a=blocking2.0 2010-09-03 15:50:42 +12:00
Matt Woodrow
ca68b51b78 Bug 589632 - Fix LayerManagerD3D9 debug output r=Bas, a=blocking2.0 2010-09-03 15:50:29 +12:00
Robert O'Callahan
0356f8659e Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad 2010-09-02 21:18:40 +12:00
Bas Schouten
37b1df3df1 Bug 592024 - Don't clear shared D3D9/D2D surfaces in cairo_d2d_create_for_handle because D3D9 and D2D need a lot of synchronization points. Instead, put a clear in DrawRegion, which already has synchronization points. r=jrmuizel a=blocking 2010-09-02 15:07:26 -04:00
Robert O'Callahan
e31e06e790 Backing out bug 579276. a=me 2010-09-02 23:14:25 +12:00
Robert O'Callahan
09145533e8 Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad 2010-09-02 21:18:40 +12:00
Jeff Muizelaar
8854ffd842 Bug 589395. d3d9: adjust vertex locations in the vertex shader. r=bas,a=blocking
Previously we adjusted the vertex locations directly, now
they have an implicit adjustment that happens in the vertex shader.
This should let us ignore the pixel center differences between
opengl/d3d9/d3d10.
2010-09-01 17:10:51 -04:00
Jeff Muizelaar
46319343f4 Bug 592458. Generate the d3d9 shaders using a script. r=bas,a=joe
This isn't part of the build because we don't want to depend
on the directx sdk (fxc) for building.
2010-09-01 17:02:02 -04:00
Atul Apte
4a9f8dee1f Enable basic stereoscopic rendering support for D3D9 layers with 3D Vision. r=bas 2010-08-26 20:44:53 +00:00
Bas Schouten
ea31f72c26 Fix line endings in DeviceManagerD3D9. 2010-08-26 20:44:11 +00:00
Matt Woodrow
5407e8a286 Bug 589978 - [D3D9] 2D canvas layers always have premultiplied alpha. r=bas, a=beta5+ 2010-08-23 20:58:27 -07:00
Matt Woodrow
2bfe332d33 Bug 589755 - [D3D9] Canvas layer uses incorrect source with d2d surfaces. r=bas, a=beta5+ 2010-08-23 20:57:59 -07:00
Matt Woodrow
368146a42c Bug 589097 - [D3D9] Incorrect alpha blending on canvas layers. r=bas, a=beta5+ 2010-08-23 20:57:22 -07:00
Matt Woodrow
5eefa3d811 Bug 588212 - LayerManagerD3D9 PaintToTarget uses wrong render target. r=bas, a=beta5+ 2010-08-23 20:56:49 -07:00
Jacek Caban
4deb092f3a Bug 723942 - ImageLayerD3D*.cpp does not compile on mingw r=bas
--HG--
extra : rebase_source : e98c15c62a8998c1c646a5d9851ec96514f0b376
2012-02-06 11:24:47 +01:00
Jacek Caban
7460ee1472 Bug 586279 - Broken DeviceManagerD3D9.h compilation on mingw r=bas.schouten a=joe
--HG--
extra : rebase_source : c3c6d40e0adbfa705759cb238ea10fc0e12e0d4a
2010-08-14 16:43:14 +02:00
Bas Schouten
bd1249e5eb Bug 586562: Always use A8R8G8B8 for our swap chains. Fixes black chrome for NVidia. r=vlad a=mossop 2010-08-12 18:25:12 +00:00
Bas Schouten
2b819506ec Bug 586159: Use SYSTEMMEM textures instead of OffscreenPlainSurfaces, better supported on NVidia. r=vlad 2010-08-12 18:25:09 +00:00
Justin Wood
eb068a8f7d bug 586187 - Build failure in LayerManagerD3D9 due to --disable-ipc not also defining Unicode, r=khuey a=bustage 2010-08-11 18:05:14 +02:00
Bas Schouten
a7370d6077 Bug 584539: Part 3 - Use D2D interop when using the D3D9 layer manager. r=vlad a=dougt 2010-08-11 02:36:05 +02:00
Bas Schouten
1174dba84a Bug 584754: Use the D3D9Ex device where available. r=vlad 2010-08-11 01:39:45 +02:00
Bas Schouten
16fbc64865 Bug 585248: Use a single device for all LayerManagerD3D9's. r=vlad 2010-08-11 01:32:45 +02:00
Bas Schouten
7f066e30d5 Bug 578384: Clear to to transparent black instead of solid white. r=jrmuizel 2010-08-11 01:32:43 +02:00
Vladimir Vukicevic
c44e0d0074 b=583838; add ANGLE/D3D WebGL support - part 2 - build EGL on windows and try to use it; r=bjacob 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
34ff738268 b=574481; fix layers lifetime issues; part 4 - fix other layers; r=bas 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
9735a3a8c3 b=575469; use CreateOffscreen in layers; r=bas 2010-07-18 22:01:14 -07:00
Bas Schouten
46677257b1 Bug 577462: Addition - add comment requested in review. 2010-07-14 00:23:32 +02:00
Bas Schouten
a481f56985 Bug 577462: Use GetDC where possible for ThebesLayerD3D9 textures. r=jrmuizel 2010-07-14 00:19:45 +02:00
Bas Schouten
42feb308be Bug 578500: Clear mTarget at the end of a transaction. r=roc 2010-07-14 00:19:43 +02:00
Bas Schouten
af1a1cc748 Bug 577770: LayerManagerD3D9 should be using GetClientBounds not GetBounds. r=roc 2010-07-14 00:19:41 +02:00
Bas Schouten
4e102a00dd Bug 574239: Have ThebesLayerD3D9 retain its content even across changes to the visible region. r=jrmuizel 2010-07-02 04:08:48 +02:00
Robert O'Callahan
8442c7897c Bug 564991. Part 6: Make BasicLayers support retained ThebesLayer contents. r=cjones,sr=vlad 2010-03-04 10:37:04 +13:00
Matt Woodrow
76ed4033a0 Bug 564991. Part 8: Hoist GetLayerType out of individual layer manager types and make it available for all layers. r=jrmuizel,sr=vlad 2010-07-01 20:01:09 -05:00
Robert O'Callahan
a66b969df2 Bug 586041. Part 2: refactor RemoveChild. r=bas 2010-06-01 11:32:05 +12:00
Robert O'Callahan
17b78218c8 Bug 568041. Add user-data API and GetRoot to LayerManager. Move mVisibleRegion into Layer. r=bas,sr=vlad 2010-06-01 11:29:37 +12:00
Bas Schouten
c5e57ed188 Numerous whitespace fixes in D3D9 layers code. 2010-05-29 05:27:03 +02:00
Bas Schouten
cd94c32d80 Bug 567966: Part 2: Remove rogue allocation from PlanarYCbCrImageD3D9. r=vlad 2010-05-25 09:37:21 +02:00
Bas Schouten
44402345e3 Bug 567966: Part 1: Properly handle siblings and children. Also fix missing release on container destructor. r=vlad 2010-05-25 09:37:19 +02:00
Bas Schouten
a6f5b5a240 Bug 567943: Let ContainerLayerD3D9 keep references to their children. r=roc 2010-05-25 04:43:59 +02:00
Bas Schouten
5c0ef5136a Bug 546515: Part 1: Add a layers backend based on Direct3D9. r=jrmuizel 2010-05-24 17:28:51 +02:00