Henri Verbeet
59116f833e
ddraw: Use wined3d_texture_preload() in d3d_device7_PreLoad().
...
This is safe because D3D is always initialized in D3D device methods.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 17:53:38 +09:00
Henri Verbeet
f7e9604c3e
ddraw: Use wined3d_texture_blt() in copy_mipmap_chain().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 17:53:37 +09:00
Józef Kucia
3cffe92315
ddraw: Return DDERR_INVALIDPARAMS for render states >= D3DSTATE_OVERRIDE_BIAS.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 00:42:26 +09:00
Henri Verbeet
dafaae7730
wined3d: Unify WINED3D_RTYPE_TEXTURE and WINED3D_RTYPE_CUBE_TEXTURE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 12:38:46 +09:00
Matteo Bruni
72722222a7
ddraw: D3DRENDERSTATE_LOCALVIEWER doesn't exist before d3d7.
2015-05-01 15:44:40 +09:00
Henri Verbeet
4c5276042d
ddraw: Check if the ddraw object still exists in d3d_device_inner_Release() (Valgrind).
2015-04-30 16:17:51 +09:00
Matteo Bruni
fbffd8bae4
ddraw: Enable WINED3D_RS_NORMALIZENORMALS on d3d versions older than d3d7.
2015-03-31 18:49:29 +09:00
Matteo Bruni
382c8fde08
ddraw: D3DRENDERSTATE_NORMALIZENORMALS doesn't exist before d3d7.
2015-03-31 18:49:29 +09:00
Stefan Dösinger
2702f28e66
ddraw: Remove support for V16U16.
...
None of my Windows drivers support this format. At best this will
confuse applications trying to pick X8L8V8U8.
2015-03-11 22:09:29 +09:00
Amine Khaldi
21bfc8c440
include: Correct DDSCAPS2 and DDSURFACEDESC2 structures and their uses.
2015-03-02 23:00:32 +09: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
Stefan Dösinger
fd0189bbfa
wined3d: Move get_dc palette updates to ddraw.
2014-05-15 19:05:02 +02:00
Stefan Dösinger
fc25510fad
wined3d: Remove wined3d_surface_get_palette.
2014-05-12 21:24:59 +02:00
Frédéric Delanoy
2e5cb7aac8
Assorted spelling/grammar fixes.
2014-04-30 18:34:20 +02:00
Henri Verbeet
91a615ee4d
ddraw: Disable lighting when a 0 material handle is set.
2014-04-30 09:34:01 +02:00
Henri Verbeet
56d7e3b9a7
ddraw: Don't return an error when setting a 0 material handle in d3d_device3_SetLightState().
2014-04-29 13:36:10 +02:00
Henri Verbeet
c1032e977b
wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps.
2014-03-04 11:50:54 +01:00
Henri Verbeet
6ea9afe701
ddraw: Create textures for "standalone" surfaces.
2013-11-13 11:27:32 +01:00
Henri Verbeet
80dbeb9699
ddraw: Introduce a ddraw_texture structure as parent for textures.
2013-11-12 14:15:10 +01:00
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
Henri Verbeet
75cec973d5
wined3d: wined3d_device_set_render_state() never fails.
2012-09-11 18:03:53 +02:00
Henri Verbeet
3569b6ccd2
wined3d: wined3d_device_get_viewport() never fails.
2012-09-10 11:40:19 +02:00
Henri Verbeet
64aae8cf02
wined3d: wined3d_device_set_viewport() never fails.
2012-09-10 11:40:14 +02:00
Henri Verbeet
a3e28f6ce5
wined3d: wined3d_device_set_index_buffer() never fails.
2012-09-06 15:45:32 +02:00
Henri Verbeet
2c8834dffd
d3d9: Implement d3d9_GetAdapterDisplayModeEx().
2012-06-28 01:39:27 +02:00
Henri Verbeet
220a55c36c
ddraw: Use wined3d_get_adapter_display_mode() in d3d_device2_EnumTextureFormats().
2012-06-21 19:52:33 +02:00
Henri Verbeet
339ef6c252
ddraw: Use wined3d_get_adapter_display_mode() in d3d_device7_EnumTextureFormats().
2012-06-21 19:52:29 +02:00
Henri Verbeet
4905773baf
ddraw: Only initially enable color keying for version 1 devices.
2012-05-24 20:08:48 +02:00
Henri Verbeet
e3ecfa5974
wined3d: Store user clip planes as 4-component float vectors.
2012-05-22 18:07:02 +02:00
Henri Verbeet
fae3a6430d
ddraw: Get rid of IDirect3DVertexBufferImpl.
2012-04-12 20:36:53 +02:00
Henri Verbeet
4d1a659c3a
ddraw: Get rid of IDirect3DExecuteBufferImpl.
2012-04-11 18:14:41 +02:00
Henri Verbeet
daedd0077d
ddraw: Get rid of IDirect3DDeviceImpl.
2012-04-10 16:21:25 +02:00
Henri Verbeet
96fa113513
ddraw: Properly retrieve an interface pointer in IDirect3DDeviceImpl_7_GetTexture().
2012-04-10 16:21:25 +02:00
Henri Verbeet
cf30899f1a
ddraw: Version 1 devices are aggregated by the surface that created them.
2012-04-06 20:11:17 +02:00
Henri Verbeet
e13de0adf8
ddraw: Fix querying device interfaces in IDirect3DDeviceImpl_7_QueryInterface().
...
Version 7 devices can only return the version 7 interface. The other versions
can only return earlier interfaces.
2012-04-06 20:11:13 +02:00
Henri Verbeet
1a98c339ca
ddraw: Remove some interfaces from IDirect3DDeviceImpl_7_QueryInterface().
2012-04-04 17:22:30 +02:00
Henri Verbeet
cd8508a915
ddraw: Replace an ERR in IDirect3DDeviceImpl_7_QueryInterface() with a WARN.
2012-04-04 17:22:23 +02:00
Henri Verbeet
4f91eb3fe1
ddraw: Keep track of the ddraw version used to create a device.
...
This also obsoletes the "from_surface" device field.
2012-04-04 17:22:19 +02:00
Henri Verbeet
fefb5a943d
ddraw: Get rid of IDirect3DMaterialImpl.
2012-03-16 11:09:07 +01:00
Henri Verbeet
0c11c316bb
ddraw: Get rid of IDirect3DViewportImpl.
2012-03-15 19:52:05 +01:00
Henri Verbeet
9157006fc1
ddraw: Don't return a pointer to the implementation in IDirect3DDeviceImpl_7_QueryInterface().
2012-03-14 11:48:32 +01:00
Henri Verbeet
5f43cd2631
ddraw: Get rid of IDirectDrawSurfaceImpl.
2012-03-12 10:44:01 +01:00
Henri Verbeet
1cee1891fd
ddraw: Get rid of IDirectDrawImpl.
2012-03-09 11:32:35 +01:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
cf636cc3b3
ddraw: Allow querying the surface interface if a device was created from a surface.
2012-01-18 12:37:38 +01:00
Henri Verbeet
e70990041b
wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef.
2012-01-13 17:34:31 +01:00
Henri Verbeet
f38e94af7c
wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef.
2012-01-12 12:37:18 +01:00
Henri Verbeet
b6431d9493
wined3d: Get rid of the WINED3DTEXTUREOP typedef.
2012-01-11 17:47:22 +01:00