339 Commits

Author SHA1 Message Date
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