Commit graph

622 commits

Author SHA1 Message Date
Stefan Dösinger
53e788956a wined3d: Move WINED3DRS_LIGHTNING to the state table. 2006-12-08 12:24:14 +01:00
Stefan Dösinger
de96320421 wined3d: Move WINED3DRS_FILLMODE to the state table. 2006-12-07 21:10:54 +01:00
Markus Amsler
3fd04308ab d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice. 2006-12-06 12:39:30 +01:00
Markus Amsler
a60d4b2d2f d3d: Pass the superior creating object down to the callback functions. 2006-12-04 12:40:38 +01:00
Markus Amsler
b657cd5f58 Revert "d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.".
This reverts commit a7518f6f54.
2006-11-30 16:04:00 +01:00
Markus Amsler
f5204b8afe Revert "d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface.".
This reverts commit 18546a65e6.
2006-11-30 16:04:00 +01:00
Markus Amsler
5bec2f57a1 Revert "d3d: Remove AddRef from IWineD3DDevice_GetTexture.".
This reverts commit 274df6ef88.
2006-11-30 16:04:00 +01:00
Markus Amsler
3a270375d7 Revert "d3d: Remove AddRef from IWineD3DDevice_GetStreamSource.".
This reverts commit 16b1e046d8.
2006-11-30 16:03:59 +01:00
Markus Amsler
9dd81f64cb Revert "d3d: Remove AddRef from IWineD3DDevice_GetIndices.".
This reverts commit 5c4008719c.
2006-11-30 16:03:59 +01:00
Markus Amsler
c40501db50 Revert "d3d: Remove AddRef from IWineD3DDevice_GetSwapChain.".
This reverts commit f84f687e6d.
2006-11-30 16:03:59 +01:00
Markus Amsler
0bff261cfa Revert "d3d: Fix partially applied patch: Remove AddRef from GetDirect3D.".
Removing COM in d3d is not feasible as long as we use inheritance. So
stick to the COM refcount rules.
This reverts commit 3fd8fe089c.
2006-11-30 16:03:59 +01:00
H. Verbeet
7e4d3d951e wined3d: Set the initial FBO depth stencil when creating the device. 2006-11-28 12:22:48 +01:00
H. Verbeet
9c1a61b6e6 wined3d: Delete the device's FBO when destroying the device. 2006-11-28 12:22:40 +01:00
Andrew Talbot
f3a515ce19 wined3d: Cast-qual warnings fix. 2006-11-27 13:43:05 +01:00
Markus Amsler
3fd8fe089c d3d: Fix partially applied patch: Remove AddRef from GetDirect3D. 2006-11-24 12:57:01 +01:00
Markus Amsler
f84f687e6d d3d: Remove AddRef from IWineD3DDevice_GetSwapChain. 2006-11-22 11:40:50 +01:00
Markus Amsler
5c4008719c d3d: Remove AddRef from IWineD3DDevice_GetIndices. 2006-11-22 11:40:43 +01:00
Markus Amsler
16b1e046d8 d3d: Remove AddRef from IWineD3DDevice_GetStreamSource. 2006-11-22 11:40:37 +01:00
Markus Amsler
274df6ef88 d3d: Remove AddRef from IWineD3DDevice_GetTexture. 2006-11-22 11:40:31 +01:00
Markus Amsler
18546a65e6 d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface. 2006-11-22 11:40:24 +01:00
Markus Amsler
a7518f6f54 d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget. 2006-11-22 11:40:05 +01:00
H. Verbeet
d1e6e81bbe wined3d: Make sure render target textures aren't bound when we start drawing. 2006-11-20 11:50:14 +01:00
H. Verbeet
da65aed442 wined3d: Support cube map FBO attachments. 2006-11-20 11:50:14 +01:00
H. Verbeet
ef2c062c09 wined3d: Allow the depth buffer to be shared between onscreen and offscreen rendering modes. 2006-11-17 18:14:25 +01:00
H. Verbeet
6d66085150 wined3d: Add FBO support for offscreen rendering. 2006-11-17 18:14:13 +01:00
H. Verbeet
ad4c2bdb69 wined3d: Make the offscreen render mode a registry setting. 2006-11-17 18:13:57 +01:00
H. Verbeet
9bf04ecd03 wined3d: Rename renderUpsideDown to render_offscreen. 2006-11-17 15:53:52 +01:00
Francois Gouget
1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Stefan Dösinger
def7df305e wined3d: ScissorRect correction. 2006-11-08 15:49:22 +01:00
Francois Gouget
30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Stefan Dösinger
7cae24fc36 wined3d: glReadPixels corrections. 2006-11-04 11:57:28 +01:00
Ivan Gyurdiev
4934b7ae79 wined3d: Add D3DLINEPATTERN to the WINED3D namespace. 2006-10-31 12:11:09 +01:00
Ivan Gyurdiev
50130fdfdb wined3d: Add D3DPATCHEDGESTYLE to the WINED3D namespace. 2006-10-31 12:11:01 +01:00
Ivan Gyurdiev
8d7a01963e wined3d: Use D3DCUBEMAP_FACES consistently in the WINED3D namespace. 2006-10-31 12:10:52 +01:00
Ivan Gyurdiev
aa164647e6 wined3d: Use D3DDEGREE consistently in the WINED3D namespace. 2006-10-31 12:10:42 +01:00
Ivan Gyurdiev
4c723a7662 wined3d: Add D3DSTREAMSOURCE codes to the WINED3D namespace. 2006-10-31 12:10:31 +01:00
Ivan Gyurdiev
f71edf223f wined3d: Add D3DCOLORWRITEENABLE codes to the WINED3D namespace. 2006-10-31 12:10:12 +01:00
Ivan Gyurdiev
b1df1d8320 wined3d: Add D3DCLEAR codes to the WINED3D namespace. 2006-10-31 12:09:46 +01:00
Ivan Gyurdiev
de108f65e1 wined3d: Add D3DTSS_TCI codes to the WINED3D namespace. 2006-10-31 12:09:15 +01:00
Ivan Gyurdiev
875a1eb02d wined3d: Add D3DFVF codes to the WINED3D namespace. 2006-10-31 12:09:06 +01:00
Ivan Gyurdiev
908853f63d wined3d: Add D3DMATERIALCOLORSOURCE to the WINED3D namespace. 2006-10-30 12:06:17 +01:00
Ivan Gyurdiev
f5cc612842 wined3d: Add D3DFILLMODE to the WINED3D namespace. 2006-10-30 12:05:55 +01:00
Ivan Gyurdiev
02fb9f6f41 wined3d: Add D3DCULL to the WINED3D namespace. 2006-10-30 12:05:48 +01:00
Ivan Gyurdiev
16767d21e1 wined3d: Add D3DSHADEMODE to the WINED3D namespace. 2006-10-30 12:05:36 +01:00
Ivan Gyurdiev
042fa7be8b wined3d: Add D3DBLENDOP to the WINED3D namespace. 2006-10-30 12:05:31 +01:00
Ivan Gyurdiev
4eced8ea24 wined3d: Add D3DFOGMODE to the WINED3D namespace. 2006-10-30 12:05:24 +01:00
Ivan Gyurdiev
69550f2c47 wined3d: Make GetTexture and GetSamplerState read from the correct stateblock. 2006-10-30 11:53:26 +01:00
Ivan Gyurdiev
61f9061484 wined3d: Fix GetTexture() for uninitialized textures. 2006-10-30 11:53:08 +01:00
Ivan Gyurdiev
5f79e80827 wined3d: Add D3DZBUFFERTYPE to the WINED3D namespace. 2006-10-24 20:06:45 +02:00
Ivan Gyurdiev
10cbffb335 wined3d: Add D3DBLEND to the WINED3D namespace. 2006-10-24 20:06:38 +02:00
Ivan Gyurdiev
997e670e12 wined3d: Add D3DTADDRESS to the WINED3D namespace. 2006-10-24 20:06:15 +02:00
Francois Gouget
ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Stefan Dösinger
1e6a38967c d3d8: Implement CopyRects with BltFast. 2006-10-16 11:26:00 +02:00
Francois Gouget
58162f87fd Assorted spelling fixes. 2006-10-13 11:55:04 +02:00
Ivan Gyurdiev
4745e602d2 wined3d: Add D3DCLIPPLANE constants to the WINED3D namespace. 2006-10-13 11:15:18 +02:00
Ivan Gyurdiev
6f0bb0f6fc wined3d: Add D3DVERTEXBLENDFLAGS to the WINED3D namespace. 2006-10-13 11:14:33 +02:00
Ivan Gyurdiev
2bac4a02da wined3d: Merge D3DPRIMITIVETYPE types into one type in WINED3D namespace. 2006-10-12 12:37:52 +02:00
Ivan Gyurdiev
1cd7bcf4c8 wined3d: Merge D3DCOLOR types into one type in WINED3D namespace. 2006-10-12 12:37:40 +02:00
Ivan Gyurdiev
9628a1b2e2 wined3d: Merge D3DRECT types into one type in WINED3D namespace. 2006-10-12 12:37:08 +02:00
Ivan Gyurdiev
ac37163124 wined3d: Merge D3DMATRIX types into one type in WINED3D namespace. 2006-10-12 12:35:00 +02:00
Ivan Gyurdiev
ec782c2b97 wined3d: D3DTRANSFORMSTATETYPE: Consistently use in the WINED3D namespace. 2006-10-12 12:33:39 +02:00
Ivan Gyurdiev
b1a4bd87a9 wined3d: D3DRENDERSTATETYPE: Consistently use in the WINED3D namespace. 2006-10-12 12:33:24 +02:00
Ivan Gyurdiev
5f2987ae32 wined3d: Merge VIEWPORT types into one type in WINED3D namespace. 2006-10-11 12:21:54 +02:00
Ivan Gyurdiev
90f5be2bef wined3d: Merge MATERIAL types into one type in WINED3D namespace. 2006-10-11 12:21:14 +02:00
Ivan Gyurdiev
70bbf734b1 wined3d: Merge LIGHT types into one type in WINED3D namespace. 2006-10-11 12:21:06 +02:00
Ivan Gyurdiev
f0d5b35c97 wined3d: D3DQUERYTYPE: Consistently use in WINED3D namespace. 2006-10-11 12:19:15 +02:00
Ivan Gyurdiev
837027fcb7 wined3d: D3DTEXTURESTAGESTATETYPE: Consistently use in WINED3D namespace. 2006-10-11 12:18:53 +02:00
Ivan Gyurdiev
fb0c932f21 wined3d: D3DFORMAT: Consistently use WINED3D namespace. 2006-10-11 12:17:21 +02:00
Ivan Gyurdiev
e020eceddf wined3d: Make the shader mode selections per device. 2006-10-09 20:27:55 +02:00
Stefan Dösinger
6bcc5ae9f7 wined3d: Pitch alignment for the pow2Size. 2006-10-06 12:53:25 +02:00
Stefan Dösinger
d45c16ba98 wined3d: Define the surface alignment in the header. 2006-10-06 12:53:24 +02:00
Francois Gouget
82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Ivan Gyurdiev
3dcd3681f3 wined3d: Win64 printf fixes. 2006-10-02 14:38:04 +02:00
Stefan Dösinger
ab8264a86d wined3d: Tell gl about the surface alignment. 2006-09-28 11:56:29 +02:00
Jan Zerebecki
10d13b2186 wined3d: Fix typo in ResourceReleased. 2006-09-27 20:20:54 +02:00
Ivan Gyurdiev
d0032a1a2a wined3d: Move device pointer into the BaseShader class. 2006-09-27 19:44:09 +02:00
H. Verbeet
5abdd7a19f wined3d: Comparing BOOLs against FALSE is redundant. 2006-09-27 09:49:07 +02:00
H. Verbeet
193f6bbd92 wined3d: Add support for native NPOT textures. 2006-09-27 09:48:11 +02:00
H. Verbeet
e4d5385d2c wined3d: Cleanup ActiveRender some more. 2006-09-27 09:45:50 +02:00
H. Verbeet
cc821415ae wined3d: Render upside down when rendering offscreen, even if the backbuffer is used to render to. 2006-09-27 09:45:34 +02:00
H. Verbeet
4bc8125648 wined3d: Show the MESSAGE in device_find_fbconfigs() only once. 2006-09-27 09:45:25 +02:00
Stefan Dösinger
9cafbd6de0 wined3d: Surface data is 32 bit aligned. 2006-09-25 18:31:26 +02:00
Roderick Colenbrander
7c86d91bb9 wined3d: glBlend* fixes. 2006-09-25 17:56:04 +02:00
Christoph Frick
6192f77d25 wined3d: Clamp the light exponent at 128. 2006-09-20 20:03:46 +02:00
Stefan Dösinger
6286c4e70d ddraw: Pass the fullscreen flag to wined3d. 2006-09-10 10:18:45 +02:00
Jan Zerebecki
db7b684d30 wined3d: Simplify setting the stencil renderstate. 2006-09-07 16:11:21 +02:00
Ivan Gyurdiev
448f918a39 wined3d: Clean up ActiveRender. 2006-09-07 13:47:13 +02:00
Paul Chitescu
4a581e6030 wined3d: Avoid crashing when ProcessVertices is called with NULL vertex declaration. 2006-09-07 13:46:45 +02:00
András Kovács
d1d5f4b646 wined3d: Implement BlendFactor renderstate. 2006-09-07 13:44:02 +02:00
András Kovács
c33e6245b5 wined3d: Remove unnecessary glBlendColor in TextureFactor renderstate. 2006-09-07 13:43:53 +02:00
Jan Zerebecki
fd15b8d064 wined3d: Use a common function for all D3DCMPFUNC -> GLenum conversions. 2006-08-25 20:04:56 +02:00
Stefan Dösinger
e0b21688fa wined3d: Make the destination surface glDirty in UpdateSurface. 2006-08-23 16:54:18 +02:00
Chris Robinson
a39e2b51cb wined3d: Don't pass bad values to glAlphaFunc and glDepthFunc. 2006-08-21 12:23:41 +02:00
Chris Robinson
4c88bb84b9 wined3d: Print real unhandled D3DCMPFUNC value. 2006-08-21 12:23:02 +02:00
H. Verbeet
09eb0c40a6 wined3d: Improve float constant loading a bit.
- Use a list to keep track of what constants are set.
- Move TRACEs and checkGLcall calls out of the main constant loading loop.
2006-08-21 12:17:42 +02:00
H. Verbeet
49f4c68e29 wined3d: Lookup GLSL float uniform locations only once per program. 2006-08-21 12:16:27 +02:00
Stefan Dösinger
ce5c4d38c4 wined3d: Silence WINED3DRS_DEBUGMONITORTOKEN. 2006-08-16 16:43:32 +02:00
Stefan Dösinger
30ef7f0b08 wined3d: Minor cursor fixes. 2006-08-10 10:54:37 +02:00
Stefan Dösinger
bfbcfd2234 wined3d: Watch out for negative results when validating the shader constant range. 2006-08-09 20:35:02 +02:00
Jan Zerebecki
ccf0d11352 wined3d: Stub out remaining renderstates. 2006-08-08 11:21:17 +02:00
Jan Zerebecki
f5d9b221cf wined3d: Correct check for GL ext. support in MULTISAMPLEANTIALIAS. 2006-08-08 11:21:10 +02:00
Jan Zerebecki
f02af24039 wined3d: Add missing newline at the end of traces. 2006-08-08 11:20:15 +02:00
Jan Zerebecki
4d6cfb6351 wined3d: Registry setting for the amount of simulated texture memory.
Set VideoMemorySize under HKCU\Software\Wine\Direct3D to amount in MB
as string.
2006-08-08 11:20:05 +02:00
Francois Gouget
ce9b4baad8 Assorted spelling fixes. 2006-08-07 13:52:55 +02:00
Chris Robinson
92bc96a96b wined3d: Avoid NULL dereference. 2006-07-31 17:20:05 +02:00
H. Verbeet
c6c6cf1f51 wined3d: Improve IWineD3DDeviceImpl_CreateTexture trace. 2006-07-31 10:53:00 +02:00
Jason Green
d353ab7879 wined3d: Start checking for D3DUSAGE_QUERY_* items, improve traces. 2006-07-29 11:49:51 +02:00
Stefan Dösinger
65e5ed60ae wined3d: Do not use the IWineD3DSurface for the cursor. 2006-07-28 12:31:57 +02:00
Kovács András
de051649c3 wined3d: Fix CopyRects if pDestPointsArray is NULL. 2006-07-26 15:40:39 +02:00
H. Verbeet
536638918d wined3d: Add real occlusion query support. 2006-07-25 11:22:00 +02:00
Jason Green
ac8f2c033c wined3d: Improve traces for D3DTRANSFORMSTATETYPE.
Added debug function for WINED3DTRANSFORMSTATETYPE and changed all
references from D3DTS_* to WINED3DTS_*.
2006-07-24 19:55:27 +02:00
Stefan Dösinger
a98ccb543d wined3d: Draw the cursor. 2006-07-24 13:27:15 +02:00
Stefan Dösinger
14c2aa0ed6 wined3d: Use the ddraw blitting code for IWineD3DDevice::ColorFill. 2006-07-24 13:27:15 +02:00
Jason Green
75950b5bf8 wined3d: Replace memset/memcpy routines on stateblock (fixes dynamic shader constants regression). 2006-07-24 12:57:34 +02:00
Jason Green
3c03ae2f84 wined3d: Minor trace corrections in Set___ShaderConstants(). 2006-07-21 20:22:19 +02:00
Stefan Dösinger
9423fd2d9f wined3d: Do not try to create a vbo more than once. 2006-07-21 20:21:00 +02:00
Ivan Gyurdiev
99f67c676b wined3d: Respect EnableAutoDepthStencil parameter. 2006-07-21 10:54:43 +02:00
Ivan Gyurdiev
65109002ae wined3d: Do not return WINED3DERR_INVALIDCALL for Phong shading. 2006-07-21 10:53:54 +02:00
Ivan Gyurdiev
0c6c9f04a7 wined3d: Restore recording mode later in ActiveRender(). 2006-07-21 10:53:34 +02:00
Ivan Gyurdiev
b77b72c91b wined3d: Read shader constants from correct stateblock. 2006-07-21 10:53:01 +02:00
H. Verbeet
a8f2c1075a wined3d: Compilation fixes. 2006-07-20 12:11:06 +02:00
Jason Green
718716b77a wined3d: Make the number of floating point shader constants dynamic. 2006-07-19 09:54:30 +02:00
Stefan Dösinger
bffe5a6922 ddraw/wined3d: Remove texture format enumeration functions. 2006-07-18 11:25:22 +02:00
Ivan Gyurdiev
07eb6531a3 wined3d: Fix light state bugs. 2006-07-14 12:39:13 +02:00
H. Verbeet
7090259545 wined3d: Fix specular color handling for register combiners.
By default the FinalCombiner is setup to add the specular color to the
final result of the combiner operations. However, it should only do
this when the WINED3DRS_SPECULARENABLE renderstate is enabled.
2006-07-12 13:20:41 +02:00
Ivan Gyurdiev
345dd49eda wined3d: Fix off-by-one constants bug. 2006-07-11 17:12:24 +02:00
Ivan Gyurdiev
fc2611d4a8 wined3d: Only link and use GLSL program if at least one GLSL shader is available. 2006-07-07 17:28:21 +02:00
Ivan Gyurdiev
1309844913 wined3d: Implement FVF to DECL9 conversion (with tests). 2006-07-06 16:07:38 +02:00
Ivan Gyurdiev
bbe7b40a71 wined3d: Fix STREAM flag override. 2006-07-06 16:07:38 +02:00
Ivan Gyurdiev
b324fc0fdb wined3d: Allow mix of SW vertex and GLSL pixel shader.
Do not attach non-GLSL shaders to the GLSL program, that will cause a
crash. Mix with ARB shaders is never going to happen, because the
selection code will always choose GLSL for both or ARB for both.
2006-07-06 16:07:37 +02:00
Ivan Gyurdiev
771623692e wined3d: Rework shader mode selection.
- currently half the shader selection code (GLSL vs ARB) is in
fillGLcaps. The parts that check for software shaders are in
GetDeviceCaps. That placement, will work, but is definitely not optimal.
FillGLcaps should detect support - it should not make decision as to
what's used, because that's not what the purpose of the function is.
GetDeviceCaps should report support as it has already been selected.
Instead, select shader mode in its own function, called in the
appropriate places.

- unifying pixel and vertex shaders into a single selection is a
mistake. A software vertex shader can be coupled with a hardware arb or
glsl pixel shader, or no shader at all. Split them back into two and add
a SHADER_NONE variant.

- drawprim is doing support checks for ARB_PROGRAM, and making shader
decisions based on that - that's wrong, support has already been
checked, and decided upon, and shaders can be implemented via software,
ARB_PROGRAm or GLSL, so that support check isn't valid.

- Store the shader selected mode into the shader itself. Different types
of shaders can be combined, so this is an improvement. In fact, storing
the mode into the settings globally is a mistake as well - it should be
done per device, since different cards have different capabilities.
2006-07-06 16:07:37 +02:00
Ivan Gyurdiev
fce0c625f0 wined3d: Cleanup: print constants in device code. 2006-07-03 12:02:04 +02:00
H. Verbeet
7f9e61f7d2 wined3d: Use register combiners for texture stage operations.
Make wined3d use register combiners for texture stage operations. In
order to do that the texture unit index needs to be separated from the
texture stage index. For cards that don't support the
NV_register_combiners extension nothing should change.
2006-06-28 16:34:36 +02:00
H. Verbeet
a54e36adfe wined3d: Texture limits fixes.
GL_LIMITS(textures) is currently used for both the number of texture
stages and the maximum number of simultaneous textures. In the current
code that's the same, but in a later patch that will be separated,
since a texture stage doesn't have to reference an actual
texture. Also, shaders can access a larger number of samplers than the
number of texture units the fixed function pipeline can access.
2006-06-28 16:06:25 +02:00
H. Verbeet
3489f1b9b1 wined3d: Remove some redundant code. 2006-06-27 11:15:54 +02:00
H. Verbeet
f460b38612 wined3d: Fix compilation (VBO constants). 2006-06-27 11:15:47 +02:00
Francois Gouget
9bfbfcbeb4 Assorted spelling, case and grammar fixes. 2006-06-26 13:06:11 +02:00
Stefan Dösinger
2a40642804 wined3d: Fix a bad trace. 2006-06-26 13:03:43 +02:00
Stefan Dösinger
2122026713 wined3d: Create vertex buffer objects for D3D vertex buffers. 2006-06-26 13:03:08 +02:00
Stefan Dösinger
7d31ab95e4 wined3d: Add support for VBOs to the drawing code. 2006-06-26 13:02:19 +02:00
Stefan Dösinger
3518747165 wined3d: Pixel format cleanup. 2006-06-21 12:15:50 +02:00
Paul Vriens
edaac6f696 wined3d: GetScissorRect should use zero-based scissorBox (Coverity). 2006-06-16 14:42:36 +02:00
Francois Gouget
9eb81363ad Add trailing '\n's to ok() calls.
Remove spaces before '\n'.
2006-06-16 11:32:42 +02:00
Francois Gouget
11ae0f6386 Assorted spelling fixes. 2006-06-16 11:32:29 +02:00
H. Verbeet
701ce97d65 wined3d: Add and use GL_EXT_fog_coord defines. 2006-06-16 11:29:31 +02:00
Stefan Dösinger
3862f8e3d7 wined3d: Support more than one back buffer. 2006-06-15 16:51:41 +02:00
Stefan Dösinger
5c3c5903a5 wined3d: Correct vertex fog for transformed vertices and correctly
handle non-vertex, non-table fog.
2006-06-15 12:24:09 +02:00
Jan Zerebecki
c6449b5a91 wined3d: Move a checkGLcall to it's gl call inside an "if". 2006-06-13 10:51:07 +02:00
Jan Zerebecki
7528fc0de1 wined3d: Fix stencil related render states. 2006-06-13 10:50:55 +02:00
Alexandre Julliard
e9cbc66e93 wined3d: Make the virtual table functions static where possible. 2006-06-10 13:15:32 +02:00
Ivan Gyurdiev
621f075fb9 wined3d: Print out sampler state names. 2006-06-10 12:41:54 +02:00
Jason Green
b67cda248d wined3d: Add GLSL helper functions to Device.
- Add functions to attach & detach shader objects, create and delete programs, and maintain the list of programs.
- Add a list of GLSL shader programs to the device which is initialized on Init3D(), and deleted on Release().
2006-06-09 15:19:52 +02:00
Ivan Gyurdiev
4d66615bbb wined3d: Fix missing light recording.
Write a light with the default parameters in disabled state if
capturing a missing light.
2006-06-07 15:20:00 +02:00
H. Verbeet
85ec834f7a wined3d: Don't hardcode type sizes for shader constants. 2006-06-07 11:47:46 +02:00
Ivan Gyurdiev
5f5969b3c5 wined3d: Remove constant type field in stateblock.
It is wrong to maintain a mapping from a constant index to a type
field, because different constant types do not share an index -
boolean constant 0 is supposed to co-exist with floating point
constant 0, not replace it. Drawprim and other code using the type
array to decide whether to look up a constant in bools, floats, or
ints is wrong - you can't make that decision based on the index.
2006-06-06 11:58:54 +02:00
Vitaliy Margolen
93fd4c12f8 wined3d: Properly destroy texture object if we failed to create its surfaces. 2006-05-30 12:34:26 +02:00
Stefan Dösinger
ebcef4a5f6 wined3d: Do not disable GL_BLEND when alpha blending is active. 2006-05-30 12:23:18 +02:00
Jason Green
0161d6b636 wined3d: Final move of the GLSL registry check (hopefully). 2006-05-27 10:57:32 +02:00
Jason Green
cef19b5769 wined3d: Move the GLSL registry check again. 2006-05-26 11:56:11 +02:00
Roderick Colenbrander
54e5f9c465 wined3d: Dynamicly load GL_ARB_multitexture functions. 2006-05-25 20:17:32 +02:00
Stefan Dösinger
d5f95961f1 wined3d: Fog fixes. 2006-05-25 10:36:40 +02:00
Stefan Dösinger
e18c89b3f4 wined3d: Silence the offscreen surface creation fixme. 2006-05-25 10:35:10 +02:00
Stefan Dösinger
93db443319 wined3d: Color keying emulation. 2006-05-25 10:34:53 +02:00
Stefan Dösinger
e902cd119f wined3d: Swapchain and back buffer corrections + tests. 2006-05-24 13:56:55 +02:00
Roderick Colenbrander
9c018fd877 wined3d: Fix ARB_imaging abuse. 2006-05-24 10:52:28 +02:00
Alexandre Julliard
63199ca022 wined3d: Fixed a couple of boolean comparisons against TRUE. 2006-05-24 10:46:06 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Stefan Dösinger
cfcdb6515b wined3d: Sort of oversized surface support. 2006-05-20 14:06:09 +02:00
Stefan Dösinger
ebcbda72c4 wined3d: Allow SYSTEMMEM textures and surfaces. 2006-05-20 14:05:23 +02:00
Stefan Dösinger
566cdcf55c wined3d: Implement IWineD3DDevice::SetDisplayMode. 2006-05-20 14:05:06 +02:00
Phil Costin
df3902e6c1 wined3d: Trace output corrections and cleanups. 2006-05-20 13:58:31 +02:00
Stefan Dösinger
7cd41b944b wined3d: Implement IWineD3DDevice::SetFrontBackBuffers. 2006-05-16 12:41:41 +02:00
Stefan Dösinger
34b1482fdc wined3d: Render state additions and fixes. 2006-05-15 14:02:57 +02:00
Stefan Dösinger
daa6a3d714 wined3d: Support for single buffering. 2006-05-15 14:02:18 +02:00
Stefan Dösinger
2f724834f8 wined3d: Implement IWineGDISurface. 2006-05-15 14:02:03 +02:00
Stefan Dösinger
9abdac6aaa wined3d: Implement IWineD3DDevice::ProcessVertices. 2006-05-15 13:57:17 +02:00
Ivan Gyurdiev
b2d96086e5 wined3d: Set pIndexData to 0 in DrawIndexedPrimitiveUP. 2006-05-11 12:11:55 +02:00
Stefan Dösinger
a173c8e35a wined3d: Add IWineD3DDevice::DrawPrimitiveStrided. 2006-05-08 14:51:13 +02:00
Stefan Dösinger
1cfbc903d5 wined3d: Add some surface flags. 2006-05-08 14:50:58 +02:00
Ivan Gyurdiev
07f4f70487 wined3d: QueryInterface corrections. 2006-05-05 20:23:41 +02:00
Ivan Gyurdiev
1e86752812 wined3d: Fix mipmap level count. 2006-04-21 11:35:49 +02:00
Ivan Gyurdiev
74117baa6c wined3d: Correct vtrace usage. 2006-04-21 11:34:31 +02:00
Stefan Dösinger
a6f71af021 wined3d: Implement IWineD3DPalette. 2006-04-21 11:28:11 +02:00
Stefan Dösinger
04da3ce2d1 wined3d: Implement GetHWND and SetHWND. 2006-04-19 12:55:03 +02:00
Stefan Dösinger
7fee88df9f wined3d: Implement EnumTextureFormats. 2006-04-19 12:54:32 +02:00
Stefan Dösinger
ac964c3b61 wined3d: Implement EnumZBufferFormats. 2006-04-19 12:54:08 +02:00
Stefan Dösinger
a6206836e6 wined3d: Implement IWineD3DDevice::EnumDisplayModes. 2006-04-19 12:53:30 +02:00
Stefan Dösinger
d04f0507cf wined3d: Implement Init3D and Uninit3D. 2006-04-19 12:43:22 +02:00
Stefan Dösinger
80bdb24cad wined3d: Add the remaining IWineD3DDevice methods. 2006-04-18 11:13:47 +02:00
Stefan Dösinger
cff4e1ea4b wined3d: Add IWineD3DPalette. 2006-04-18 11:11:49 +02:00
Stefan Dösinger
03b256b16d wined3d: Add a parameter for surface type selection. 2006-04-18 11:09:17 +02:00
Stefan Dösinger
076fa811af wined3d: Add a method to change the front and back buffers. 2006-04-17 11:21:22 +02:00
Sagar Mittal
4f986c842f wined3d: Fix null pointer check in IWineD3DImpl_GetPixelShader. 2006-04-14 19:36:48 +02:00
Stefan Dösinger
d9cd05db80 wined3d: Add GetHWND and SetHWND methods to IWineD3DDevice. 2006-04-14 10:52:01 +02:00
Stefan Dösinger
d2510847b0 wined3d: Split device creation and opengl initialization. 2006-04-13 11:22:45 +02:00
Karsten Elfenbein
59189ba75b wined3d: Combined unhandled renderstate cases into one. 2006-04-12 20:57:26 +02:00
Karsten Elfenbein
c90c04607e wined3d: IWineD3DDeviceImpl_Reset cleanup.
Joined the functions as it looks like a typo in the function name
(IWineD3DDeviceImpl_Rest isn't used anywhere but contains comments).
2006-04-12 20:57:16 +02:00
Stefan Dösinger
e0c8773199 wined3d: Add a resource dumper. 2006-04-12 12:54:28 +02:00
Stefan Dösinger
cf4b91f074 wined3d: Add WINED3DBOX to wined3d_types.h. 2006-04-07 14:55:50 +02:00
Stefan Dösinger
9d67b4287e wined3d: Rename return values from D3D* to WINED3D*. 2006-04-07 14:54:04 +02:00
Stefan Dösinger
bbe490abcc wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h. 2006-04-06 22:23:31 +02:00
Stefan Dösinger
63fd9a7a98 wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h. 2006-04-06 22:22:35 +02:00
Jan Zerebecki
d4fa4f22cb wined3d: CreateDevice should use the root window. 2006-04-04 20:34:47 +02:00
Jan Zerebecki
166b6d861d wined3d: Output unhandled renderstates with debug_d3drenderstate. 2006-04-04 20:31:38 +02:00
Stefan Dösinger
be720179b6 wined3d: Add WINED3DCUBEMAP_FACES to wined3d_types.h. 2006-04-04 20:01:10 +02:00
Stefan Dösinger
c289b3cc51 wined3d: Define WINED3DGAMMARAMP based on D3DGAMMARAMP / DDGAMMARAMP. 2006-04-04 20:00:41 +02:00
Stefan Dösinger
08c38a87e1 wined3d: Add WINED3DRASTERSTATUS to wined3d_types.h. 2006-04-04 11:51:37 +02:00
Stefan Dösinger
f6ed704f96 wined3d: Make use of WINED3DDEVICE_CREATION_PARAMETERS. 2006-04-03 21:35:44 +02:00
Stefan Dösinger
0ad31f819d wined3d: Add WINED3DBACKBUFFER_TYPE to wined3d_types.h. 2006-04-03 12:17:35 +02:00
Stefan Dösinger
fce54bcc49 wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h. 2006-04-03 12:17:22 +02:00
H. Verbeet
59af5c4a62 wined3d: Move fields common to vertex shaders and pixel shaders to IWineD3DBaseShader. 2006-03-30 21:55:15 +02:00
H. Verbeet
d4132cf7d7 wined3d: Move the vshader_ins and pshader_ins arrays into their respective objects. 2006-03-29 13:40:16 +02:00
Stefan Dösinger
d75fd75d48 wined3d: Add WINED3DPOOL to wined3d_types.h. 2006-03-28 17:34:42 +02:00
Stefan Dösinger
b4b295c2a5 wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h. 2006-03-27 11:30:49 +02:00
Stefan Dösinger
0f7eb52789 wined3d: Add WINED3DTRIPATCH_INFO to wined3d_types.h. 2006-03-27 11:30:49 +02:00
Stefan Dösinger
6af24c816d wined3d: Rectpatch code fix.
Update the wined3d code to use WINED3DRECTPATCH_INFO, which was added
with an older patch.
2006-03-24 12:13:50 +01:00
Roderick Colenbrander
a187ab05c4 wined3d: Don't use OpenGL 2.0. 2006-03-20 22:09:05 +01:00
Roderick Colenbrander
bcbf5f397e d3d8/wined3d: Vertex shader fixes. 2006-03-17 13:11:06 +01:00
Stefan Dösinger
6cc87406cf wined3d: Add WINED3DINDEXBUFFER_DESC to wined3dtypes.h. 2006-03-15 11:30:39 +01:00
Roderick Colenbrander
d4836e1ce1 wined3d: Vertexdeclaration fix.
In the old d3d8 code SetVertexShader stored the so called vertex
declaration in the stateblock. In case of WineD3D this isn't done
which breaks the drawPrimitive code. This patch stores the vertex
declaration again in the stateblock which fixes Age Of Mythology.
2006-03-13 14:19:10 +01:00
Stefan Dösinger
913df5b143 wined3d: Consistently use WINED3DRESOURCETYPE. 2006-03-10 21:43:00 +01:00
Stefan Dösinger
851bdfb5e0 wined3d: Add D3DLOCK_* types to wined3d_types.h. 2006-03-08 11:33:35 +01:00
H. Verbeet
ae21e30118 wined3d: Implement GetCreationParameters (from a patch by Al Tobey). 2006-03-07 10:53:43 +01:00
Stefan Dösinger
270afeb5e8 wined3d: Define D3D usage flags in wined3d_types.h. 2006-03-07 10:53:02 +01:00
Stefan Dösinger
2f0c781988 wined3d: Add device caps to wined3d_types.h. 2006-03-07 10:51:34 +01:00
H. Verbeet
f7356a34c3 wined3d: Fix the relation between surfaces and their container. 2006-03-06 20:08:22 +01:00
Vitaly Budovski
3832eb7de4 wined3d: Added OpenGL 2.0 function definitions. 2006-03-06 11:12:14 +01:00
Vitaly Budovski
e5bad779d6 wined3d: Implemented WINED3DRS_DEPTHBIAS. 2006-03-04 16:20:22 +01:00
Vitaly Budovski
196eaa674c wined3d: Added two sided stencil support to WINED3DRS_STENCILFUNC. 2006-03-04 16:18:39 +01:00
Vitaly Budovski
f2f59cae61 wined3d: Added two sided stencil support to WINED3DRS_STENCILFAIL,
WINED3DRS_STENCILZFAIL and WINED3DRS_STENCILPASS.
2006-03-04 16:18:18 +01:00
Vitaly Budovski
6bf561b7ba wined3d: Implemented fallback for separate stencil function in WINED3DRS_CCW_STENCILFUNC. 2006-03-04 16:17:32 +01:00
Vitaly Budovski
7b55a0cff1 wined3d: Implemented fallback for separate stencil operation in WINED3DRS_CCW_STENCIL*. 2006-03-04 16:15:47 +01:00
Detlef Riekenberg
858be437c5 wined3d: Fix cut&paste typo. 2006-03-04 16:13:39 +01:00
Roderick Colenbrander
f8ed06ea3d wined3d: Opengl 2.x compile fix. 2006-03-02 15:50:16 +01:00
Vitaly Budovski
63585380a9 wined3d: Implemented WINED3DRS_CCW_STENCIL* render states. 2006-02-28 12:22:16 +01:00
Vitaly Budovski
5c8c0059ab wined3d: Implemented WINED3DRS_SCISSORTESTENABLE. 2006-02-28 12:21:00 +01:00
Vitaly Budovski
4b10288b5b wined3d: Implemented WINED3DRS_SLOPESCALEDEPTHBIAS. 2006-02-28 12:20:01 +01:00
Vitaly Budovski
c9a1134ce3 wined3d: Implemented WINED3DRS_ANTIALIASEDLINEENABLE. 2006-02-28 12:19:11 +01:00
Vitaly Budovski
64ccecfbab wined3d: Added D3D9 render states. 2006-02-28 12:14:25 +01:00
Vitaly Budovski
c8480e25e7 wined3d: Fixed some typos and prevented divide by 0. 2006-02-28 12:13:59 +01:00
Roderick Colenbrander
d13469c1d8 d3d8: Moved the remaining code over to WineD3D (based on patches by
Oliver Stieber).
2006-02-27 12:20:03 +01:00
Roderick Colenbrander
b24e69dc38 d3d8: Move the capability detection code over to WineD3D.
Let the few existing parts which need the capabiliteis use the WineD3D
capability structure (gl_info). This info structure contains next to
'flags' inidicating certain features also all GL/GLX functions
pointers. Because D3D8 moves over to the wined3d gl_info structure all
the gl prototypes in d3dcore_gl.h were unneeded and removed.
2006-02-21 11:28:58 +01:00
Roderick Colenbrander
e64a2fdf9e wined3d: Set the texture size for d3d8. 2006-02-16 12:10:21 +01:00
Stefan Dösinger
46e8d67787 wined3d: Update the glOrtho between 2 rhw draws if the viewport was changed. 2006-02-13 13:25:21 +01:00
Francois Gouget
0ff18f58fa wined3d: Protect float.h inclusion. 2006-02-13 13:23:42 +01:00
Louis Lenders
25c885e269 wined3d: Prevent crash in setup_light. 2006-02-11 12:14:19 +01:00
Christoph Frick
61f8ef7936 wined3d: Better warn/fixme for query handling. 2006-02-09 12:07:30 +01:00
Roderick Colenbrander
c7b58749a1 wined3d: Added CopyRects method (based on a patch by Oliver Stieber). 2006-02-07 16:51:39 +01:00
H. Verbeet
1c4a94b0ba wined3d: Don't set the container to the device for standalone surfaces. 2006-02-07 12:26:26 +01:00
Roderick Colenbrander
694efd7c6f wined3d: Texture fixes.
Set video memory capabilities, add some checks to SetTexture and
update some comments.
2006-02-06 20:57:42 +01:00
H. Verbeet
bd8db45e44 wined3d: Update the QueryInterface functions of IWineD3DBase subclasses. 2006-02-06 11:32:41 +01:00
H. Verbeet
b9193cc93f wined3d: Release the correct vertexdeclaration in
IWineD3DDeviceImpl_SetVertexDeclaration.
2006-02-06 11:31:57 +01:00
H. Verbeet
fe7f2bad15 wined3d: Also update reference counts when we're recording a stateblock. 2006-02-06 11:31:17 +01:00
H. Verbeet
e43cfb1a68 wined3d: Fix SetContainer.
Add/Release references to the container.
Change the type of the container from IUnknown to IWineD3DBase.
2006-02-06 11:30:48 +01:00
H. Verbeet
c72fce011d wined3d: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB. 2006-02-05 12:19:22 +01:00
Vitaly Budovski
3c17322e75 wined3d: Fixed point sprite scaling when size < 1.0f. 2006-02-04 17:07:36 +01:00
Roderick Colenbrander
da512ca655 wined3d: Add a break which got lost in the POINTSCALEENABLE fix. 2006-02-03 18:51:30 +01:00
Vitaly Budovski
8f3c98fdfd wined3d: Fixed WINED3DRS_POINTSPRITEENABLE. 2006-02-03 12:37:46 +01:00
Vitaly Budovski
dbff6d59e8 wined3d: Corrected implementation of WINED3DRS_POINTSCALEENABLE. 2006-02-03 12:34:44 +01:00
Vitaly Budovski
4279bcc5a8 wined3d: Implemented WINED3DRS_EDGEANTIALIAS. 2006-02-03 12:33:26 +01:00
Vitaly Budovski
6de3620a9c wined3d: Implemented WINED3DRS_MULTISAMPLEANTIALIAS. 2006-02-03 12:31:02 +01:00
H. Verbeet
f5c2e85b46 wined3d: Return the correct pixelshader in
IWineD3DDeviceImpl_GetPixelShader.
2006-01-20 16:13:12 +01:00
H. Verbeet
4e7b2557b5 wined3d: Cleanup shader constants code a little bit.
Improved bounds checking.
2005-12-20 11:46:52 +01:00
Oliver Stieber
8ff9a7eb55 wined3d: Allow NULL multi sample quality.
Allow MultiSampleQuality to be passed as NULL, this is a
requirement for DirectX 8 and lower.
2005-12-16 12:49:22 +01:00
Oliver Stieber
74e28a354f wined3d: Vertex declaration recording state.
Stop SetVertexDeclaration from reference counting if a stateblock is
being recorded.
2005-12-16 12:38:24 +01:00
Oliver Stieber
e76969b0d6 wined3d: Internal reference counting.
Change most references to resources parent into references to the
resource, so that external reference counts match DirectX but object
aren't released if they are still referenced by the stateblock.
2005-12-15 10:25:47 +01:00
H. Verbeet
dabcbe83e7 wined3d: Return the correct vertex declaration.
In IWineD3DDeviceImpl_GetVertexDeclaration, return the vertex
declaration in This->stateblock instead of the one in
This->updateStateBlock.
2005-12-14 10:50:27 +01:00
H. Verbeet
6077c63feb wined3d: Don't change the shader's refcount in SetVertexShader and
SetPixelShader.
2005-12-13 11:11:01 +01:00
Oliver Stieber
7c482cb9a1 wined3d: Vertex shader 8 support.
Start to add support for DirectX 8 vertex shaders, constants and
registers are now correctly assigned and loaded allowing support for
most basic d3d8 shaders.
2005-12-09 11:23:52 +01:00
H. Verbeet
4880c586d8 wined3d: return D3DERR_INVALIDCALL when calling BeginStateBlock and
already recording.
2005-12-03 18:04:26 +01:00
Oliver Stieber
aa9ce3577a Added support for vertex and pixel shader constants that have no type
i.e. they haven't been set yet or are clear.
2005-11-29 17:05:54 +01:00
Oliver Stieber
5903c5df1b Stop reporting not having swapchain 0 as an error and add an internal
variable instead of modifying a parameter.
2005-11-28 10:59:41 +01:00
Francois Gouget
6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Oliver Stieber
932815d6f0 Implement a pixel shader parser and cross compiler. All version of
shaders up to 3 should be parsed correctly, but only shaders 1-1.4
will be cross compiled.
2005-11-21 16:27:55 +00:00
Oliver Stieber
bcb4201130 Disable support for creation FMT_Unknown textures. This gets most of
the d3d8 demos from www.codesampler.com working.
2005-11-17 11:40:43 +00:00
Raphael Junqueira
705aec5a6f - defined D3DCOLOR_B macros to access byte values of D3DCOLOR
- use D3DCOLOR macros instead of using shift + masks
- fix a bug where diffuse.lpData checked instead of specular.lpData
- implement color fixup on ARB VShader compilation code:
 -> on input parameters using swizzle
 -> add is_color parameter on vshader_program_add_param
2005-11-15 12:03:13 +00:00
Oliver Stieber
a8d9a2a4ac Fix an intermittent lockup with ATI's driver, I expect the problem is
trying to clear the display before it's visible. Also correct the
clear alpha value.
2005-11-14 12:28:59 +00:00
Francois Gouget
0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Oliver Stieber
39d6e30db0 Prevent SetFVF from clearing down the vertex declaration of the FVF is
zero. This is required for Prince of Persia, The sands of time.
2005-11-07 11:12:38 +00:00
Oliver Stieber
0e3a3555e9 Tidy up UpdateTexture and add support for updating cube textures. 2005-11-04 12:39:17 +00:00
Oliver Stieber
f52f6ce93d Add support for updating to D3DFMT_UNKNOWN surfaces and tidy up update
surface a little.
2005-11-04 11:13:45 +00:00
Oliver Stieber
d6fcc69ddb Implement D3DFMT_UNKNOWN surfaces, this seems to be used a lot in d3d8
but I haven't found any d3d9 application that uses D3DFMT_UNKNOWN
surfaces yet.
2005-11-02 20:01:54 +00:00
Oliver Stieber
1f2a9e2c31 Move the softwareVertexProcessing flag from the stateblock to the
device because its state shouldn't be recorded in a stateblock.
2005-10-29 10:30:36 +00:00
Vincent Béron
5eae622f44 Don't define some functions/variables if they won't be used after in
wined3d.
2005-09-29 10:47:59 +00:00
Oliver Stieber
b3563daca2 Implement state tracking for pixel shader constants. 2005-09-28 10:13:00 +00:00
Francois Gouget
a8c7284f92 Assorted spelling fixes. 2005-09-26 10:58:41 +00:00
Oliver Stieber
9e6957bbdc Optionally repack nonpower 2 textures to the expected span length when
a textures is locked. This is necessary for buggy games like Warhammer
40k that don't work with the odd span sizes produce by default
nonpower 2 support.
2005-09-23 11:08:03 +00:00
Oliver Stieber
357a484a7e Enable dxt2 and dxt4 compressed textures to be created via
Device_CreateSurface.
2005-09-23 10:48:01 +00:00
Oliver Stieber
0fac2d96fc Clean up all the objects bound to the device when the device is
destroyed as a result of its ref count reaching zero.
2005-09-23 10:07:46 +00:00
Alexandre Julliard
0ec0f048e6 Removed unused debug channels. 2005-09-22 10:44:40 +00:00
Oliver Stieber
329d017db3 Start to implement TestCooperativeLevel. 2005-09-21 10:55:03 +00:00
Oliver Stieber
0c2fcf2efe Added support for state management of vertex shader constants via
stateblocks.
2005-09-21 10:19:29 +00:00
Oliver Stieber
5ea96a851f Implemented occlusion queries using either GL_ARB_occlusion_query or
GL_NV_occlusion_query.
2005-09-21 09:43:13 +00:00
Oliver Stieber
7df17cecce Stop vertex shader constants from being set at the same time as the
vertex shader when a stateblock is applied.
2005-09-19 14:30:34 +00:00
Oliver Stieber
f7413fd63f Implemented point sprites using ARB_POINT_SPRITE extension. 2005-09-03 09:36:48 +00:00
Oliver Stieber
55124ec05e Added the tracking of stream frequency and flags. Stream flags and
frequency aren't handled at the moment.
2005-09-02 11:17:17 +00:00
Oliver Stieber
33b2c1fd3c Added support for DXT2 and DXT4. 2005-08-29 12:20:02 +00:00
Oliver Stieber
f1a2ee521d Implemented IWineD3DDevice_GetRenderTargetData. 2005-08-29 10:15:47 +00:00
Oliver Stieber
42eff0f92b Moved GetRasterStatus from device to swapchain. 2005-08-27 09:58:53 +00:00
Oliver Stieber
2af36c646e Implemented stubbed out pixel shaders and their states in wined3d. 2005-08-25 19:24:21 +00:00