Stefan Dösinger
bb3fb05c38
d3d9: Use a vertex shader in the vFace test.
2010-07-21 13:23:59 +02:00
Stefan Dösinger
ba0a5ed104
d3d9: Use a vertex shader for the nested loop test.
...
Win7 (or newer Nvidia drivers) don't allow ps_3_0 fragment processing without
vertex shaders. This is interesting on its own, but not part of this test.
2010-07-21 13:23:59 +02:00
Stefan Dösinger
e534e2e2ac
d3d9: Win7+Nvidia returns c2 in COISSUE'd CND.
2010-07-21 13:23:59 +02:00
Stefan Dösinger
24adf40ee1
d3d9: Remove the fog vs sRGB test.
2010-07-21 13:23:59 +02:00
Alexandre Julliard
cbc6ef9e91
d3d9/tests: Avoid sizeof in a trace.
2010-07-21 13:23:58 +02:00
Louis Lenders
277fdc6b33
d3d9: Add a few tests for GetAdapterDisplayModeEx.
2010-07-09 16:01:12 +02:00
Stefan Dösinger
0190b6cb90
d3d9: Use color_match in the coissue tests.
2010-07-06 19:28:27 +02:00
Stefan Dösinger
b50a008549
d3d9: Windows7 doesn't draw with Viewports bigger than the framebuffer.
...
This is my Geforce 9600 setup here, the failure doesn't occur on all
windows 7 systems. I don't think we can change wined3d's behavior as a
number of games are broken on my Windows installation because they do
not like the extra parameter validation.
2010-07-06 19:28:27 +02:00
Stefan Dösinger
cb4ba6a862
d3d9: Ignore a Windows 7 failure in the d3d9 depth clamp test.
2010-07-06 19:28:27 +02:00
Stefan Dösinger
dd6cabcc1e
d3d9: Pass count=0 when clearing the whole surface.
2010-07-05 12:59:46 +02:00
Stefan Dösinger
218b9cec6f
d3d9: Nvidia drivers don't like unused output formats.
...
Newer nvidia drivers return garbage when using a COUNTx where x is bigger
than the amount of coordinates the texture can consume. So stick to COUNT3 for
volume textures. The tests don't need COUNT4 anyway.
2010-07-05 12:59:46 +02:00
Alexandre Julliard
d0f60b05d1
d3d9/tests: Fix some test failures with the focus messages.
2010-07-02 13:45:29 +02:00
Henri Verbeet
95aaaf2f12
d3d9/tests: Add a test for offscreen point sprites.
2010-06-11 16:22:30 +02:00
Henri Verbeet
c3cda92cf4
d3d9/tests: Remove an invalid point size test.
...
This test tests point size clamping behaviour when POINTSIZE_MAX <
POINTSIZE_MIN, but that behaviour isn't consistent between D3D drivers.
2010-05-28 16:22:26 +02:00
Henri Verbeet
1c12ba44a7
d3d9/test: Introduce point_match() to simplify testing point sizes.
2010-05-28 16:22:26 +02:00
Henri Verbeet
8c92f805f6
d3d9/tests: Don't depend so much on point rasterization rules in pointsize_test().
...
We can create a separate test for point rasterization if we really care about
that, but I doubt we do.
2010-05-28 16:22:26 +02:00
Henri Verbeet
2210b9a6ac
d3d9/tests: Fix a typo.
2010-05-27 14:46:43 +02:00
Henri Verbeet
e6611e22fb
d3d9: Set the FPU control word on device creation.
2010-05-26 17:36:32 +02:00
Henri Verbeet
123bfa20f5
d3d9/tests: Add a shadow sampler test.
2010-05-17 13:20:03 +02:00
Henri Verbeet
3ab491f810
d3d9/tests: Allow D3DFMT_A2R10G10B10 as supported adapter mode.
...
This is in the list of allowed formats in the documentation, and some drivers
report this on Windows.
2010-05-04 13:14:59 +02:00
Henri Verbeet
2661e9abf7
d3d9/tests: Fix test_cube_wrap() for different texture filtering schemes.
2010-05-03 13:50:37 +02:00
Gerald Pfeifer
f2d7cbc90c
d3d9: Remove variable hr which is not really used from resource_test_cleanup.
2010-04-26 06:59:57 -05:00
Roderick Colenbrander
67f43418d0
d3d9: Add an initial ColorFill regression test.
2010-04-14 18:00:47 +02:00
Henri Verbeet
6ecdad06a3
d3d9/tests: Add some depth buffer tests.
2010-04-12 11:33:20 +02:00
Paul Vriens
cc20a0da59
d3d9/tests: Initialize a variable (Coverity).
2010-03-31 16:12:32 +02:00
Roderick Colenbrander
342c6c6de5
d3d9: Add source/destination and backbuffer tests for StretchRect.
2010-03-30 13:55:28 +02:00
Henri Verbeet
ab4bf7600a
d3d9/tests: Add some message processing to test_wndproc().
...
For some reason Windows XP allows device creation to be blocked by the lack of
message processing in wndproc_thread(). Thanks to Wylda for helping debug
this. Disabled testing the focus and foreground windows after creating the
device for the moment.
2010-03-25 10:02:11 +01:00
Paul Vriens
a0da7b6d3b
d3d9/tests: Fix timeouts on Win9x/WinMe.
2010-03-19 12:26:37 +01:00
Henri Verbeet
914c8cb8ea
ddraw: Acquire/release the focus window from the correct location.
2010-03-18 10:24:15 +01:00
Henri Verbeet
a62e5a4678
d3d9/tests: Extend the window proc / focus window tests.
2010-03-18 10:23:58 +01:00
Stefan Dösinger
48d6167c29
d3d9: Remove old debug messages from the tests.
2010-03-17 16:10:15 +01:00
Stefan Dösinger
f5b5f7176a
d3d9: Windows 7 rejects invalid rectangles.
2010-03-17 16:09:55 +01:00
Stefan Dösinger
25c6dbfc2a
d3d9: Remove the double unlock test.
2010-03-17 16:09:16 +01:00
Stefan Dösinger
d790530df3
wined3d: Make resources 16 byte aligned.
2010-03-17 13:36:39 +01:00
Stefan Dösinger
eb355ece4a
d3d9: Fix test failures on Windows 7.
2010-03-16 17:02:23 +01:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
Ričardas Barkauskas
1e754f5e2e
d3d9/tests: Test ATI2N pitch and locking offset behaviour.
2010-03-16 13:03:35 +01:00
Alexandre Julliard
6164ce2d82
makefiles: Use the standard C_SRCS variable as the list of test files.
...
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Stefan Dösinger
bb035638d0
d3d: Make sure vertexbuffer lock doesn't return a NULL pointer.
2010-02-09 11:33:53 +01:00
Stefan Dösinger
8912b372ed
d3d9: Move the vertex buffer alignment test into buffer.c.
2010-02-02 14:10:11 +01:00
Stefan Dösinger
1d486a5abe
d3d9: Test buffer lock flags.
2010-02-02 14:09:57 +01:00
Henri Verbeet
69861cf873
wined3d: Get rid of the depth range hack.
2010-01-27 11:16:07 +01:00
Henri Verbeet
983f96b82f
d3d9: Add depth clamp tests.
2010-01-27 11:15:49 +01:00
Henri Verbeet
7f8ccf0342
d3d9: Add a separate function for stateblock initialization.
2010-01-20 15:32:15 +01:00
Henri Verbeet
bfb63a8634
d3d9: Add a separate function for query initialization.
2010-01-18 14:37:21 +01:00
Paul Vriens
e0405286bc
d3d9/tests: Correct the size of a memcmp.
2010-01-11 11:35:28 -06:00
Paul Vriens
e38e54e3f4
d3d9/tests: Fix size parameter for memcmp (Coccinelle).
2010-01-08 10:14:01 +01:00
Henri Verbeet
67cba48782
wined3d: The FVF parameter to IWineD3DDeviceImpl_CreateVertexBuffer() is unused now.
2009-12-30 13:31:20 +01:00
Henri Verbeet
d992e77b9c
d3d9/tests: Add message tests for windowed devices.
2009-12-29 11:05:52 +01:00
Stefan Dösinger
d6b9732497
wined3d: Remove the d3d7 do-not-convert code.
2009-12-29 11:03:36 +01:00
Henri Verbeet
a96aa28d98
d3d9/tests: Add some tests for focus behaviour.
2009-12-23 14:27:29 +01:00
Henri Verbeet
f262cf7603
d3d9/tests: A volume really isn't a resource, despite having all the methods.
2009-12-22 13:48:25 +01:00
Henri Verbeet
76804fa711
d3d9: Add a separate function for swapchain initialization.
2009-12-21 15:01:25 +01:00
Henri Verbeet
79a2045395
wined3d: NULL vertex declarations are captured, but not applied.
2009-12-21 15:01:22 +01:00
Henri Verbeet
bd46ccc38e
d3d9: Add a test to show D3D replaces the window proc.
2009-12-15 11:44:09 +01:00
Henri Verbeet
c2cf193563
d3d9: Forward the volume's GetDevice() to the texture instead of the wined3d volume.
2009-12-09 13:50:56 +01:00
Alexandre Julliard
506a62776c
d3d9/tests: Fix some pointer cast warnings on 64-bit.
2009-12-09 12:04:27 +01:00
Henri Verbeet
89c96ca31e
d3d9: Fix GetDevice() for surfaces that are part of a texture.
...
If the surface is part of a texture it doesn't keep its own reference to the
device, but instead relies on the reference the texture has. This fixes a
regression introduced by ff92e6eb6a
.
2009-12-07 14:34:08 +01:00
Henri Verbeet
ff92e6eb6a
d3d9: Simplify GetDevice().
2009-12-04 14:34:59 +01:00
Huw Davies
14b343fcd0
d3d9/tests: Destroy the window after we release the device.
...
Although either order is supposed to work, the former crashes with Wine.
2009-12-03 15:26:52 +01:00
Henri Verbeet
b644d11333
d3d9/tests: Add a small test for IDirect3D9Ex::GetAdapterLUID().
2009-12-02 13:06:08 +01:00
Henri Verbeet
ed73f0a1b0
d3d9: Implement IDirect3D9Ex::GetAdapterLUID().
2009-12-02 13:06:08 +01:00
Henri Verbeet
bdad5ace2a
d3d9/tests: Trace the viewport in clear_test().
...
There are some failures in this test on Win7 that appear to be related to the
initial viewport. Perhaps this trace will help narrow it down.
2009-12-01 13:16:22 +01:00
Henri Verbeet
55f3c576d9
wined3d: Remove the effetively unused "state" field from the device.
2009-11-18 11:16:54 +01:00
Henri Verbeet
434a23d90d
d3d9: Move D3D9CB_DestroySwapChain() to device.c.
2009-11-18 11:16:35 +01:00
Henri Verbeet
b9243b721a
d3d9: Add a separate function for device initialization.
2009-11-18 11:16:31 +01:00
Stefan Dösinger
7f961c0796
d3d9: Abort the x8l8v8u8 test if the format is not supported.
2009-11-12 15:18:09 +01:00
Henri Verbeet
5f8e6cb5e0
d3d9/tests: Don't require dynamic usage for textures in the stateblock tests.
2009-11-12 13:13:37 +01:00
Louis Lenders
cdb2ccd2d8
d3d9: Quiet a few noisy fixme's.
2009-11-09 20:00:29 +01:00
Stefan Dösinger
b49a9cbfd2
d3d9: Run the visual tests in a window.
2009-11-09 19:59:33 +01:00
Stefan Dösinger
69612bb241
d3d9: Make the visual test read the backbuffer.
2009-11-09 19:59:29 +01:00
Stefan Dösinger
63326b1925
wined3d: Add a usage flag for vertex buffer optimization.
2009-11-03 21:21:48 +01:00
Stefan Dösinger
90e443758a
wined3d: Add a parameter for SetRenderTarget viewport setup.
2009-11-03 21:21:30 +01:00
Henri Verbeet
bf10dbe8a6
wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
...
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet
fff8b09fb4
d3d9/tests: Release the IDirect3D9Ex interface in test_qi_ex_to_base().
2009-10-23 12:03:08 +02:00
Henri Verbeet
66961840a5
d3d9: Free "elements" in a vertexdeclaration_init() error path (Valgrind).
2009-10-22 10:46:25 +02:00
Louis Lenders
786271e1a1
d3d9/tests: Test {IDirect3DTexture9, IDirect3DSurface9}::UnlockRect for rectangles that are not locked.
2009-10-20 15:00:40 +02:00
Henri Verbeet
4dbf1c4900
d3d9: Add traces.
2009-10-20 14:00:36 +02:00
Henri Verbeet
d17cd37d3b
d3d9/tests: Remove an unused color result.
2009-10-19 11:45:30 +02:00
Henri Verbeet
44aead2e1c
d3d9: Fix some IDirect3DDevice9Ex methods.
2009-10-19 11:45:25 +02:00
Henri Verbeet
023446f109
d3d9/tests: Check some more return values (LLVM/Clang).
2009-10-16 13:37:12 +02:00
James Helferty
2b5ff09160
d3d9/tests: Fix position of EndScene in visual test.
2009-10-15 12:06:17 +02:00
Stefan Dösinger
e80144c403
d3d: Make EndScene calls hookable.
2009-10-14 12:21:06 +02:00
Stefan Dösinger
dcacd83a82
d3d9: Make some functions hookable.
2009-10-14 12:21:06 +02:00
Henri Verbeet
aa96a4559e
d3d9: Add some stateblock tests for device resources.
2009-10-13 11:38:28 +02:00
Henri Verbeet
803eab27c7
d3d9: Cleanup the stateblock test callbacks a bit.
2009-10-12 12:36:05 +02:00
Henri Verbeet
8f91327b89
d3d9: Only run the vertex/pixel shader constant apply tests when the implementation supports them.
2009-10-12 12:35:47 +02:00
Henri Verbeet
de45a38003
d3d9: Add tests for D3DSBT_PIXELSTATE stateblocks.
2009-10-09 11:50:30 +02:00
Henri Verbeet
489264d495
d3d9: Add tests for D3DSBT_VERTEXSTATE stateblocks.
2009-10-09 11:50:30 +02:00
Henri Verbeet
50e1106eca
d3d9: Add some tests for CreateStateBlock().
2009-10-08 13:53:59 +02:00
Henri Verbeet
dfe07023c4
d3d9: Don't test D3DRS_DEBUGMONITORTOKEN in the stateblock tests.
2009-10-08 13:53:39 +02:00
Henri Verbeet
ffcfbc2aeb
d3d8: Rename abort_stateblock() to release_stateblock() in the stateblock tests.
2009-10-08 13:53:24 +02:00
Stefan Dösinger
fcd0bc8f54
d3d9: Reduce the YUV test precision.
2009-10-08 12:03:20 +02:00
Henri Verbeet
3cb7e87284
d3d9: Use separate fields for data to check/apply in the stateblock tests.
2009-10-07 12:24:21 +02:00
Henri Verbeet
063d3d181b
d3d9: Get rid of the unused "return_data_buffer" in the stateblock tests.
2009-10-07 12:24:09 +02:00
Henri Verbeet
7d0d8c0245
d3d9: Make the individual stateblock tests responsible for checking data.
2009-10-06 12:02:41 +02:00
Henri Verbeet
54e28991fc
d3d9: Always pass "struct event_data" to "event_fn" in the stateblock tests.
2009-10-05 13:46:01 +02:00
Henri Verbeet
9f4f29fd03
d3d9: Remove useless typedefs from the stateblock tests.
2009-10-05 13:46:01 +02:00
Henri Verbeet
3caba01ec9
d3d9: Remove D3D9_RENDER_STATES from the stateblock tests.
2009-10-05 13:46:01 +02:00
Stefan Dösinger
eda00d97ad
d3d9: Test viewports that are bigger than the surface.
2009-10-02 15:06:38 +02:00
Stefan Dösinger
dc45657f2c
wined3d: Fix vs_2_0 sgn.
...
vs_2_0's sgn has two extra parameters - temporary registers for the
instruction. This patch fixes the crash of the d3d9:visual test on windows and
properly handles the vs_2_0 version of sgn.
2009-10-02 12:36:59 +02:00
Stefan Dösinger
0c70291c2c
wined3d: Fix a contradicting comment.
...
The test was adopted from the ddraw test, where GetPrivateData does not
addref. The test code was adjusted, the comment apparently not.
2009-10-01 13:47:53 +02:00
Allan Tong
5d56eddb7c
d3d9: Don't release the parent device before destroying its children.
...
Releasing the device earlier may cause the underlying wineD3D device
to be freed before the child object has had a chance to clean up.
2009-09-29 12:05:47 +02:00
Henri Verbeet
47c84f4f7f
wined3d: Use the DXGI naming convention for all formats.
2009-09-25 15:15:44 +02:00
Henri Verbeet
c64da00de7
wined3d: Rename IWineD3DDevice::GetIndices() to IWineD3DDevice::GetIndexBuffer().
2009-09-25 15:14:52 +02:00
Henri Verbeet
60e32659a7
wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer().
2009-09-25 15:14:44 +02:00
Henri Verbeet
789372afa8
wined3d: Don't free D3D pixel shaders until the wined3d pixel shader is destroyed.
2009-09-24 13:24:53 +02:00
Henri Verbeet
7f1c802b9f
d3d9: Add a separate function for pixel shader initialization.
2009-09-24 13:24:40 +02:00
Henri Verbeet
ca05ef5dd0
wined3d: Don't free D3D vertex shaders until the wined3d vertex shader is destroyed.
2009-09-24 13:24:19 +02:00
Henri Verbeet
cdb741274a
d3d9: Add a separate function for vertex shader initialization.
2009-09-24 13:24:04 +02:00
Henri Verbeet
66a7236590
wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed.
2009-09-23 12:36:28 +02:00
Henri Verbeet
0241fefa94
d3d9: Add a separate function for vertex declaration initialization.
2009-09-23 12:35:00 +02:00
James Helferty
6fa09d1d22
d3d9: Fix some typos in visual test.
2009-09-22 20:19:58 +02:00
Henri Verbeet
85ab52a48d
d3d9: Properly destroy vertex declarations.
2009-09-22 16:17:37 +02:00
Henri Verbeet
359acf2461
d3d9: Limit "NumSimultaneousRTs" to 4.
2009-09-22 16:17:30 +02:00
Henri Verbeet
93b0600829
wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
2009-09-18 08:55:25 -05:00
Henri Verbeet
de9b47924d
d3d9: Add a separate function for vertex buffer initialization.
2009-09-18 08:55:05 -05:00
Henri Verbeet
5ec05c556d
d3d9: Add a separate function for index buffer initialization.
2009-09-18 08:55:00 -05:00
Henri Verbeet
a8e8f763bf
wined3d: Don't free D3D textures until the wined3d texture is destroyed.
2009-09-18 08:54:34 -05:00
Henri Verbeet
75f005ebf9
d3d9: Add a separate function for texture initialization.
2009-09-17 10:10:10 -05:00
Henri Verbeet
de3bd86fb6
wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed.
2009-09-17 10:09:44 -05:00
Henri Verbeet
c51fbe9293
d3d9: Add a separate function for cube texture initialization.
2009-09-17 10:09:28 -05:00
Henri Verbeet
a286646f51
wined3d: Don't free D3D volume textures until the wined3d volume texture is destroyed.
2009-09-16 13:06:06 -05:00
Henri Verbeet
5b7b4f59d2
d3d9: Add a separate function for volume texture initialization.
2009-09-16 13:05:51 -05:00
Henri Verbeet
b1ede91bfc
d3d9: Mark internal symbols hidden.
2009-09-16 13:05:34 -05:00
Henri Verbeet
e9000d2e6c
wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
2009-09-16 13:05:20 -05:00
Henri Verbeet
8ffca99fb0
d3d9: Add a separate function for volume initialization.
2009-09-16 13:04:57 -05:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet
52e45865bd
d3d9: Add a separate function for surface initialization.
2009-09-15 14:32:23 -05:00
Henri Verbeet
2b2fc827ce
wined3d: Remove unused parameters to drawPrimitive().
2009-09-11 12:09:14 +02:00
Stefan Dösinger
e1469961d4
wined3d: Test and fix ddraw and d3d9 GetDC differences.
...
The MSDN is not totally correct: A8R8G8B8 and A1R5G5B5 also allow GetDC. The
main differences that have to be filtered out in d3d9.dll are GetDC on
A8B8G8R8, X8B8G8R8 and P8.
2009-09-08 13:04:52 +02:00
Stefan Dösinger
9281bdb478
wined3d: SetLOD is ignored on D3DPOOL_DEFAULT textures.
...
I am not testing SYSTEMMEM and SCRATCH textures. SCRATCH textures
cannot be created, SYSTEMMEM ones cannot be used for texturing on
Windows.
2009-08-31 12:18:56 +02:00
Stefan Dösinger
edf1c50b54
wined3d: Handle per-texture max LOD level.
...
GL_TEXTURE_BASE_LEVEL matches the basetexture::SetLOD functionality.
D3DSAMP_MAXMIPLEVEL essentially does the same as SetLOD. The test included in
this patch shows that the smallest mipmap level is used.
2009-08-31 12:18:41 +02:00
Henri Verbeet
e7d14d02d0
d3d9: Remove trailing spaces.
2009-08-28 11:54:50 +02:00
Henri Verbeet
5f9f079d71
d3d9: Use the wined3d cs for wined3d locking.
2009-08-26 12:11:41 +02:00
Henri Verbeet
ada3e059e8
d3d9: Remove stray tabs.
2009-08-26 12:10:49 +02:00
Jörg Höhle
f2a4c6eeab
d3d9/tests: SetAutoGenFilterType tests.
2009-08-20 17:39:45 +02:00
Henri Verbeet
ffb38da024
wined3d: Try to force a top-left filling convention.
2009-08-19 14:45:09 +02:00
Jörg Höhle
ba87299402
d3d9/tests: Detect empty graphics driver name.
2009-08-14 11:26:44 +02:00
Henri Verbeet
3b06fc92f4
wined3d: Use EXT_provoking_vertex to match Direct3D's provoking vertex convention.
2009-08-10 13:52:50 +02:00
Stefan Dösinger
296573caae
d3d: Filter R8G8B8 in d3d8 and d3d9.
2009-08-07 14:56:40 +02:00
Henri Verbeet
3115f3357f
d3d9/tests: Use color_match() in a few more places.
2009-07-10 12:13:32 +02:00
Henri Verbeet
699f68cdee
wined3d: Get rid of some pointers in WINED3DADAPTER_IDENTIFIER.
...
This also avoids some unchecked strcpy() calls.
2009-07-07 11:50:30 +02:00
Paul Vriens
f96e210ed7
d3d9/tests: Skip a test on failure.
2009-07-06 14:35:26 +02:00
Henri Verbeet
17c0e99106
d3d9/tests: Add a small test for having multiple device active at the same time.
...
This is essentially the situation that caused problems with reusing the
initial GL context.
2009-07-03 13:05:52 +02:00
Henri Verbeet
7d3beb6b79
d3d: Add a test for releasing the device after destroying the window.
2009-06-29 12:30:32 +02:00
Gerald Pfeifer
b44596ffff
d3d9: Fix variable type in reset_enum_callback().
2009-06-26 12:02:59 +02:00
Henri Verbeet
c672071db7
d3d9/tests: Make sure the device is released properly.
2009-06-23 11:47:59 +02:00
Henri Verbeet
ad05c39fd7
d3d9/tests: Release the query in test_occlusion_query_states().
2009-06-23 11:47:53 +02:00
Henri Verbeet
6cc2f9573a
d3d9/tests: Release the vertex buffer in test_null_stream().
2009-06-23 11:47:49 +02:00