Henri Verbeet
8aae165fc2
ddraw: Verify that the surface is not a depth buffer in SetRenderTarget().
...
This check is even more inconsistent between versions. Notice how the v2
interface is particularly broken because it never AddRef()'s the new iface.
This check also seems to be the original source for the questionable behaviour
in d3d_device_set_render_target() of storing the new iface before checking the
result of the wined3d_device_set_render_target(). (In particular,
SetRenderTargetTest() in tests/d3d.c tests for this behavious.)
2013-09-19 19:48:44 +02:00
Henri Verbeet
c70376af63
ddraw: Verify that the surface is in video memory in SetRenderTarget().
...
This is where things become a bit of a mess, because the error checking is
inconsistent between versions.
2013-09-19 19:48:41 +02:00
Henri Verbeet
ed92369316
ddraw: Verify that the surface is a render target in d3d_device_set_render_target().
2013-09-19 19:48:35 +02:00
Henri Verbeet
2cc421f59d
ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_set_render_target().
2013-09-18 13:11:21 +02:00
Henri Verbeet
4f89957161
ddraw: Verify that the surface is in video memory in d3d_device_create().
2013-09-18 13:11:18 +02:00
Henri Verbeet
c69cd599a3
ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_create().
2013-09-18 13:11:15 +02:00
Henri Verbeet
d2d0c42b6d
ddraw: Verify that the surface is a render target in d3d_device_create().
2013-09-17 12:01:23 +02:00
Henri Verbeet
df01e8d6cc
ddraw: Fix render target refcount handling.
...
Similar to AddAttachedSurface() / DeleteAttachedSurface(), we should Release
the interface version that we stored. (And actually store the interface that
we AddRef.)
2013-09-17 12:01:18 +02:00
Henri Verbeet
3c6d11706f
ddraw: Just set the render target to NULL in d3d_device_inner_Release().
...
The wined3d front buffer is not a render target.
2013-09-12 10:59:21 +02:00
Henri Verbeet
1a78667862
wined3d: Allow the first render target to be set to NULL.
...
Note that it still isn't necessarily safe to render in this case, because
there are places where we assume the first render target is always non-NULL in
order to determine e.g. framebuffer dimensions. It's now the responsibility of
the caller to ensure that doesn't happen.
2013-09-12 10:59:18 +02:00
Henri Verbeet
4735690dc2
ddraw: Introduce a helper function for initializing a D3DDEVICEDESC structure from a D3DDEVICEDESC7 structure.
2013-09-06 12:00:22 +02:00
Stefan Dösinger
22fc22d28b
ddraw: Enumerate DXT2 and DXT4.
2013-09-05 17:56:24 +02:00
Stefan Dösinger
c0faf86fff
ddraw: Fix double to float conversion warnings.
2013-08-01 20:43:42 +02:00
Stefan Dösinger
c1663c5583
ddraw: Device2 and Device3 do not have a lighting render state.
2013-06-20 22:14:36 +02:00
Stefan Dösinger
669611b4be
ddraw: Send device2_Draw* through device3_Draw*.
2013-06-20 22:14:36 +02:00
Stefan Dösinger
05de3f8cee
ddraw: SPECULARENABLE defaults to true in IDirect3DDevice2.
2013-06-20 22:14:36 +02:00
Henri Verbeet
29c43e2efc
ddraw: Rename PixelFormat_WineD3DtoDD() to ddrawformat_from_wined3dformat().
2013-06-07 11:58:29 +02:00
Henri Verbeet
e4816996c3
ddraw: Handle the "DirectDrawRenderer" registry key in wined3d.
2013-05-30 10:57:08 +02:00
Stefan Dösinger
57ab0363f5
ddraw: Don't check for NULL in GetCurrentViewport.
2013-01-29 11:48:13 +01:00
Stefan Dösinger
06ff1c710e
ddraw: Unset the viewport if the current vp is deleted.
2013-01-29 11:48:05 +01:00
Stefan Dösinger
0209b0a96c
ddraw: AddViewport holds a reference to the viewport.
2013-01-29 11:48:00 +01:00
Stefan Dösinger
351730e2d6
ddraw: Check for NULL pointers in SetCurrentViewport.
2013-01-29 11:47:55 +01:00
Stefan Dösinger
8e6e420a9d
ddraw: Check for NULL pointers in DeleteViewport.
2013-01-29 11:47:47 +01:00
Stefan Dösinger
b822c259fd
ddraw: Delete viewports when destroying the device.
2013-01-29 11:47:43 +01:00
Stefan Dösinger
9a0b2a5100
ddraw: device::GetCurrentViewport returns an error if no viewport is set.
2013-01-29 11:47:37 +01:00
Stefan Dösinger
d7e5189cc2
ddraw: Implement DrawIndexedPrimitiveStrided with regular draws.
2013-01-25 11:29:28 +01:00
Stefan Dösinger
7e62acc62e
ddraw: Implement DrawPrimitiveStrided with regular draws.
2013-01-25 11:29:24 +01:00
Henri Verbeet
1249976eb6
wined3d: Get rid of the surface_type parameter to wined3d_check_device_format().
2013-01-17 12:22:01 +01:00
Stefan Dösinger
d3520ef465
ddraw: Don't discard buffers that haven't been used in draws.
2013-01-10 16:05:34 +01:00
Stefan Dösinger
3b197749f9
ddraw: Align user vertex data.
2012-12-18 12:37:00 +01:00
Stefan Dösinger
09d44a1967
ddraw: Handle DrawIndexedPrimitive via dynamic buffers.
2012-12-18 12:36:54 +01:00
Stefan Dösinger
94388ed6c2
ddraw: Handle DrawPrimitive with a dynamic vertex buffer.
2012-12-18 12:36:47 +01:00
Stefan Dösinger
6deaa02fda
ddraw: Move the index buffer growing code to a separate function.
2012-12-18 12:36:40 +01:00
Stefan Dösinger
a61f68fc5a
ddraw: Properly use the index buffer as a dynamic buffer.
2012-11-28 20:14:58 +01:00
Stefan Dösinger
108fcb691c
ddraw: Make the index buffer write only.
2012-11-28 20:14:58 +01:00
Stefan Dösinger
4b95487bdd
ddraw: Don't create a wastefully large index buffer.
2012-11-28 20:14:57 +01:00
Henri Verbeet
8e24dbb60a
wined3d: wined3d_stateblock_apply() never fails.
2012-10-08 11:28:37 +02:00
Henri Verbeet
b69545c7da
wined3d: wined3d_stateblock_capture() never fails.
2012-10-08 11:28:32 +02:00
Henri Verbeet
f9d494294a
wined3d: Just return the texture from wined3d_device_get_texture().
2012-09-27 13:10:43 +02:00
Henri Verbeet
c0a83b1d96
wined3d: wined3d_device_get_texture_stage_state() never fails.
2012-09-26 14:40:35 +02:00
Henri Verbeet
26c0714009
wined3d: wined3d_device_set_texture_stage_state() never fails.
2012-09-26 14:40:33 +02:00
Henri Verbeet
01918d05ed
wined3d: wined3d_device_set_vertex_declaration() never fails.
2012-09-21 10:53:06 +02:00
Henri Verbeet
62670c7ba5
wined3d: wined3d_device_get_sampler_state() never fails.
2012-09-19 13:04:52 +02:00
Henri Verbeet
0d96be2c20
wined3d: wined3d_device_set_sampler_state() never fails.
2012-09-19 13:04:48 +02:00
Henri Verbeet
343974e2fd
wined3d: wined3d_device_get_material() never fails.
2012-09-18 10:18:51 +02:00
Henri Verbeet
2669feeb8c
wined3d: wined3d_device_set_material() never fails.
2012-09-18 10:18:42 +02:00
Henri Verbeet
90bd04c6b6
wined3d: wined3d_device_multiply_transform() never fails.
2012-09-14 15:43:20 +02:00
Henri Verbeet
706ece827b
wined3d: wined3d_device_get_transform() never fails.
2012-09-12 12:46:12 +02:00
Henri Verbeet
f79bbc767d
wined3d: wined3d_device_set_transform() never fails.
2012-09-12 12:46:07 +02:00
Henri Verbeet
d601a0dede
wined3d: wined3d_device_get_render_state() never fails.
2012-09-11 18:03:57 +02:00