Riccardo Bortolato
9c00f968d6
d3d8: Make use of wined3d_texture_map in d3d8_surface_LockRect.
...
Pass wined3d_texture and sub_resource idx to device_parent_surface_created callback.
Store wined3d_texture and sub_resource in d3d8_surface.
Also updated d3d9, d3d11, ddraw callbacks accordingly.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato
33bb9e9610
wined3d: Don't pass a wined3d_volume to device_volume_created callback anymore.
...
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 21:00:07 +09:00
Riccardo Bortolato
9621737c8e
wined3d: Pass wined3d_texture and sub_resource idx to device_volume_created callback.
...
Store wined3d_texture and sub_resource in d3d8_volume.
Updated the d3d8_volume_LockBox to make use of wined3d_texture_map.
Also updated d3d9, d3d11, ddraw callbacks accordingly.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Riccardo Bortolato
1d1487105d
wined3d: Pass a wined3d_box to wined3d_surface_map..
...
Introduced a new surface_check_block_align function that accepts a
wined3d_box, eventually the old _rect version will be completely
replaced.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:51 +09:00
Riccardo Bortolato
825b141e5a
wined3d: Remove wined3d_surface_get_flip_status stub.
2015-09-10 20:00:52 +09:00
Riccardo Bortolato
e869ef5c0f
wined3d: Remove wined3d_surface_get_blt_status stub.
2015-09-10 20:00:46 +09:00
Stefan Dösinger
fa0041954f
wined3d: Return a texture from the swapchain resource creation callback.
2015-09-04 20:01:05 +09:00
Stefan Dösinger
9427d1d553
ddraw/tests: Properly clean up in test_texcoordindex.
2015-08-28 19:52:56 +09:00
Stefan Dösinger
40c5303b62
ddraw: Return the right error if range color keys are used.
2015-08-24 20:42:40 +09:00
Stefan Dösinger
baab5a869a
ddraw/tests: Test color keying precision.
...
This brute force tests all values in 4, 5, 6 and 8 bit channels.
2015-08-24 20:42:28 +09:00
Michael Müller
2f17d5b136
ddraw: Make some functions hotpachable.
2015-06-12 21:23:12 +09:00
Matteo Bruni
cc80f1fd9f
ddraw/tests: Add a test for reordering texture coordinates via D3DTSS_TEXCOORDINDEX.
2015-06-11 19:34:58 +09:00
Matteo Bruni
5ec54d2f3b
ddraw/tests: Accept broken testbot result for ddraw1:test_texturemapblend().
2015-05-21 20:51:54 +09:00
Matteo Bruni
2fee34f97b
ddraw/tests: Workaround a testbot failure in test_ck_rgba().
2015-05-21 20:51:50 +09:00
Matteo Bruni
30a1fffcc7
ddraw/tests: Accept broken testbot result for test_coop_level_d3d_state().
2015-05-21 20:51:43 +09:00
Francois Gouget
0f3de20ba0
ddraw/tests: Silence some ddrawmodes traces that generate too many lines.
2015-05-11 15:19:04 +09:00
Matteo Bruni
0cc7daebd8
ddraw/tests: Add a ddraw2 specular lighting test.
2015-05-05 18:51:08 +09:00
Matteo Bruni
6418a489e0
ddraw/tests: Accept broken testbot result for test_clear_rect_count().
2015-05-05 18:51:06 +09:00
Francois Gouget
cb16c70602
ddraw/tests: Fix compilation on systems that don't support nameless union.
2015-05-04 15:06:43 +09:00
Matteo Bruni
27de4f25cf
ddraw/tests: Add a ddraw4 specular lighting test.
2015-05-01 15:45:03 +09:00
Matteo Bruni
213f7d9f45
wined3d: Implement WINED3D_LIGHT_PARALLELPOINT support in the GLSL ffp.
2015-05-01 15:45:00 +09:00
Matteo Bruni
72722222a7
ddraw: D3DRENDERSTATE_LOCALVIEWER doesn't exist before d3d7.
2015-05-01 15:44:40 +09:00
Henri Verbeet
8633fd625a
ddraw/tests: Release the palette after a GetPalette() call in PaletteTest() (Valgrind).
2015-04-30 16:17:56 +09:00
Henri Verbeet
6569337cb7
ddraw/tests: Don't destroy the background material until the viewport is done with it in test_material() (Valgrind).
2015-04-30 16:17:54 +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
Henri Verbeet
4a416f8d37
ddraw: Release the surface clipper (if any) in ddraw_surface_wined3d_object_destroyed() (Valgrind).
2015-04-30 16:17:49 +09:00
Matteo Bruni
287093e26e
ddraw/tests: Add a ddraw7 specular lighting test.
2015-04-29 17:02:22 +09:00
Francois Gouget
7929155e55
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2015-04-27 15:08:18 +09:00
Matteo Bruni
b963c73abb
wined3d: Introduce D3D7+ normal matrix computation.
2015-04-24 19:07:52 +09:00
Matteo Bruni
e7548fc421
ddraw: Cleanup d3d_light_SetLight() a bit.
2015-04-23 15:14:03 +09:00
Matteo Bruni
969e72396d
ddraw/tests: Fix ddraw2 test_lighting() cleanup code.
2015-04-23 15:13:59 +09:00
Matteo Bruni
b6717dc2e3
ddraw/tests: Port the lighting test to the previous d3d versions.
2015-04-22 23:24:18 +09:00
Matteo Bruni
319e7fb201
ddraw/tests: Add more d3d7 lighting tests.
2015-04-22 23:24:12 +09:00
Stefan Dösinger
5d51c97d07
wined3d: Implement color keying in the glsl fragment pipeline.
2015-04-10 21:43:31 +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
Matteo Bruni
e8aba71529
ddraw: Make sure to activate / deactivate the light on D3DLIGHT_ACTIVE flag changes.
2015-03-31 18:49:29 +09:00
Matteo Bruni
b41a3ad219
ddraw: Make sure AddLight properly activates lights.
2015-03-31 18:49:29 +09:00
Matteo Bruni
ca7e56cfee
ddraw: D3DLIGHT lights default to active.
...
Actually, there is no way to deactivate them short of removing them from
the viewport.
2015-03-31 18:49:29 +09:00
Henri Verbeet
94967c28b9
wined3d: Add support for half-integer pixel centers.
...
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Frédéric Delanoy
f6a341c747
Assorted spelling/grammar fixes.
2015-03-27 22:29:48 +09:00
Stefan Dösinger
bfe82190ad
ddraw/tests: Port test_color_fill to earlier versions.
2015-03-27 20:40:37 +09:00
Stefan Dösinger
7897a2c058
ddraw/tests: Make sure color keying is on in test_texturemapblend.
2015-03-27 20:40:37 +09:00
Francois Gouget
baf32ced74
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2015-03-24 20:01:37 +09:00
Stefan Dösinger
70c6666d1e
ddraw/tests: Correct executebuffer offsets.
2015-03-23 22:59:16 +09:00
Stefan Dösinger
daf3e8a0dc
ddraw/tests: The testbot applies color keying without a key.
2015-03-23 22:59:15 +09:00
Stefan Dösinger
02be2e38a8
ddraw: Update the palette before presents to the NULL window.
2015-03-23 22:59:14 +09:00
Henri Verbeet
1dea0c1d67
ddraw: Get rid of some comments in the middle of the copyright headers.
2015-03-20 21:32:21 +09:00
Stefan Dösinger
df829de88d
ddraw: Handle DDBLT_ROP in ddraw.
2015-03-18 21:03:22 +09:00
Stefan Dösinger
948202c47f
ddraw: Add validation and tests for DDBLT_ROP.
2015-03-17 23:34:28 +09:00
Stefan Dösinger
e0edd55a2e
ddraw/tests: Add tests for DDBLT_DEPTHFILL.
2015-03-17 23:34:01 +09:00
Stefan Dösinger
a84980168c
ddraw: Add DDBLT_DEPTHFILL validation.
2015-03-17 23:33:56 +09:00
Stefan Dösinger
1d8e92c170
ddraw/tests: Add a DDBLT_COLORFILL test.
2015-03-17 23:33:52 +09:00
Stefan Dösinger
6cb795b4b6
ddraw: Add DDBLT_COLORFILL validation.
2015-03-17 23:33:44 +09:00
Stefan Dösinger
5061e3502e
ddraw/tests: r200 ignores the alpha channel when matching color keys.
2015-03-13 22:28:30 +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
Stefan Dösinger
b07b350286
ddraw: Set DDPF_BUMPLUMINANCE for V5U5L6 and X8L8V8U8.
2015-03-11 22:09:24 +09:00
Stefan Dösinger
937522ffd0
ddraw/tests: Add a test for signed formats.
2015-03-11 22:09:15 +09:00
Francois Gouget
e928f5544e
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2015-03-08 17:46:52 +09:00
Michael Stefaniuc
bd9d41080f
ddraw/tests: Actually test some return values (PVS-Studio).
2015-03-04 21:50:41 +09:00
Sebastian Lackner
68528519fc
ddraw: Remove unused code for ChangeUniquenessValue.
2015-03-03 17:12:41 +09:00
Amine Khaldi
21bfc8c440
include: Correct DDSCAPS2 and DDSURFACEDESC2 structures and their uses.
2015-03-02 23:00:32 +09:00
Stefan Dösinger
5408c5ea34
ddraw/tests: Create a device in test_surface_discard.
2015-02-17 21:16:12 +09:00
Stefan Dösinger
f64815e651
ddraw/tests: Port D3D1_ViewportClearTest to ddraw1.c (v2).
2015-02-17 21:16:08 +09:00
Stefan Dösinger
8c158c1e33
ddraw/tests: Port test_texturemapblend to ddraw2.c.
2015-02-16 23:26:18 +09:00
Stefan Dösinger
c0efc3ebf8
ddraw/tests: Port D3D1_TextureMapBlendTest to ddraw1.c.
2015-02-16 23:26:06 +09:00
Stefan Dösinger
f75d1b0c2f
d3d/tests: Geforce8+ GPUs abs() table fog.
2015-02-13 22:37:07 +09:00
Stefan Dösinger
861ade434a
ddraw/tests: Test rhw table fog z vs rhw.
2015-02-12 22:19:13 +09:00
Henri Verbeet
ea534c9ab4
wined3d: Allow initial texture contents to be specified with wined3d_texture_create().
2015-01-05 20:15:35 +01:00
Erich E. Hoover
3d5fe2074e
ddraw: Fix inverted logic for enumerating secondary devices.
2014-12-11 16:41:05 +01:00
Henri Verbeet
af9ccb490a
ddraw: Use wined3d_log2i() to calculate the level count in ddraw_surface_create().
2014-12-10 19:32:08 +01:00
Stefan Dösinger
19c860499a
wined3d: Filter messages generated by focus handling.
2014-12-08 14:18:43 +01:00
Stefan Dösinger
262b9cc62e
ddraw/tests: Test WM_SYSCOMMAND handling.
2014-12-08 14:18:38 +01:00
Stefan Dösinger
bd91c559ae
ddraw/tests: Fix window deactivation in test_coop_level_activateapp.
2014-12-08 14:18:36 +01:00
Stefan Dösinger
871fc4a38f
d3d/tests: Rename fog_interpolation_test for consistency.
2014-11-27 13:27:24 +01:00
Stefan Dösinger
96519f9be9
d3d/tests: Table fog does not abs the fog coordinate.
2014-11-27 13:27:21 +01:00
Stefan Dösinger
cfd741c6b6
d3d/tests: Show that the vfog abs is not a property of D3DFOG_LINEAR.
2014-11-27 13:27:17 +01:00
Stefan Dösinger
c9b10beb36
wined3d: Vertex fog uses the absolute eye position z.
2014-11-27 13:27:13 +01:00
Stefan Dösinger
f905c7c07a
ddraw: Restore the registry display mode.
2014-11-20 22:31:39 +09:00
Stefan Dösinger
0edb13a20f
ddraw/tests: Test messages on window reactivation.
2014-11-20 22:31:18 +09:00
Stefan Dösinger
f6dde70624
wined3d: Restore the display mode on focus change.
2014-11-19 17:56:44 +09:00
Stefan Dösinger
a9e0ece68a
ddraw/tests: Test mode changes on focus loss and restore.
2014-11-19 16:41:11 +09:00
Stefan Dösinger
a071587373
ddraw/tests: Test focus loss style changes.
2014-11-19 16:40:48 +09:00
Stefan Dösinger
be01a7637d
ddraw/tests: Test messages on focus loss.
2014-11-19 16:40:45 +09:00
Henri Verbeet
1c116c3527
d3d10core/tests: Port alpha_test() to d3d10core.
2014-11-17 19:30:40 +09:00
Francois Gouget
9006a013b0
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2014-11-17 17:27:12 +09:00
Stefan Dösinger
38548df04b
d3d/tests: Test fog interpolation.
2014-11-12 20:07:56 +09:00
Stefan Dösinger
a6f7b213af
ddraw/tests: Ddraw restores the mode settings from the registry.
2014-11-12 20:07:55 +09:00
Stefan Dösinger
a04eb0c21b
ddraw/tests: Rename modes and rectangles in test_coop_level_mode_set.
2014-11-12 20:07:55 +09:00
Stefan Dösinger
5d17f9bc7c
ddraw/tests: Fix some COM macro versions in test_coop_level_mode_set.
2014-11-07 21:31:58 +09:00
Stefan Dösinger
c436a525e4
ddraw/tests: Check if the current display settings match the registry settings.
2014-11-07 21:31:56 +09:00
Frédéric Delanoy
1e214eb5d3
Assorted spelling/grammar fixes.
2014-10-02 16:58:53 +02:00
Henri Verbeet
97856bcfee
wined3d: Replace wined3d_surface_update_desc() with wined3d_texture_update_desc().
2014-09-29 10:37:35 +02:00
Henri Verbeet
5000eba6d0
ddraw: Set user memory in ddraw_surface_create() instead of ddraw_surface_init().
2014-09-29 10:37:25 +02:00
Henri Verbeet
e28800c6a4
ddraw: Move the pitch / linear size validation from ddraw_surface_init() to ddraw_surface_create().
2014-09-29 10:37:22 +02:00
Francois Gouget
0dd5cb1cef
Assorted spelling fixes.
2014-09-29 10:36:36 +02:00
Henri Verbeet
74ab8e8ce9
wined3d: Do not increment the reference count of the returned buffer in wined3d_device_get_stream_source().
...
None of the other getters increment the reference count either.
2014-09-18 13:06:32 +02: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
9bb5b00dd5
ddraw: Do not set lpSurface in GetSurfaceDesc.
...
This reverts a5c484cbf3
. The test included
in a5c484cb
is wrong and contains a typo that leads to incorrect
assumptions. The Dungeon Keeper 2 crash that was the reason for patch
a5c484cb
is fixed properly by the previous patch.
2014-08-19 14:50:17 +02:00
Stefan Dösinger
61ee3323ad
ddraw: Clear application-passed lpSurface pointers.
2014-08-19 14:50:12 +02:00
Henri Verbeet
1fb7ccdc13
ddraw: Clamp video memory to UINT_MAX in ddraw7_GetAvailableVidMem().
2014-08-18 12:47:04 +02:00
Erich E. Hoover
45147b82ef
ddraw: Return empty D3D hardware flags for RGB device enumeration.
2014-08-11 12:51:43 +02:00
Erich E. Hoover
a56ea6e5d9
ddraw/tests: Remove broken tests of D3DTRANSFORM_UNCLIPPED.
2014-08-11 12:51:39 +02:00
Stefan Dösinger
341db6d8d3
wined3d: Remove wined3d_texture_set/get_priority.
2014-07-16 16:10:05 +02:00
Stefan Dösinger
2abecc46c6
wined3d: Remove wined3d_surface_set/get_priority.
2014-07-16 16:09:51 +02:00
Stefan Dösinger
8b367c7909
ddraw/tests: Add a test for IDirectDrawSurface7::SetPriority.
2014-07-16 16:09:27 +02:00
Stefan Dösinger
5b9f91c18d
ddraw: Add validation to SetPriority / GetPriority.
2014-07-16 16:09:22 +02:00
Henri Verbeet
ce60e4ec71
ddraw/tests: Get rid of struct sVertexT.
2014-07-15 15:29:55 +02:00
Henri Verbeet
ee5e469fd8
ddraw/tests: Get rid of struct sVertex.
2014-07-15 15:29:53 +02:00
Stefan Dösinger
403d7c1dee
ddraw: Refuse SetPalette and GetPalette on lost surfaces.
...
The SetPalette check is outside of ddraw_surface_set_palette to make
sure the palettes are properly freed when a lost P8 surface is destroyed.
2014-07-07 15:49:06 +02:00
Henri Verbeet
7447b37ff5
ddraw/tests: Get rid of struct nvertex.
2014-07-01 12:52:16 +02:00
Henri Verbeet
ecf20e2630
ddraw/tests: Get rid of struct tvertex.
2014-07-01 12:52:13 +02:00
Henri Verbeet
3cf189af64
ddraw/tests: Get rid of struct vertex.
2014-07-01 12:52:11 +02:00
Henri Verbeet
8ebc82cd8d
ddraw: Check for a lost surface in ddraw_surface7_Flip().
2014-07-01 12:51:46 +02:00
Henri Verbeet
881219354f
ddraw: Implement ddraw7_RestoreAllSurfaces().
2014-06-30 22:04:53 +02:00
Henri Verbeet
8d4988a43f
ddraw: Improve ddraw7_TestCooperativeLevel().
2014-06-30 22:04:53 +02:00
Stefan Dösinger
9d49b7a9be
wined3d: Set palettes on the swapchain.
2014-06-30 22:04:53 +02:00
Henri Verbeet
09fda3b805
d3d9: Improve d3d9_device_TestCooperativeLevel().
2014-06-27 10:37:36 +02:00
Henri Verbeet
1b4c55df29
ddraw/tests: Add some lost device tests.
2014-06-27 10:37:33 +02:00
Frédéric Delanoy
2ab8729020
Assorted spelling/grammar fixes.
2014-06-20 12:19:31 +02:00
Henri Verbeet
9031adfd5c
ddraw/tests: Properly declare matrices.
2014-06-16 14:00:16 +02:00
Henri Verbeet
b9bfcf2c2a
ddraw/tests: Get rid of some unused assignments.
2014-06-16 14:00:14 +02:00
Henri Verbeet
d30720d825
ddraw: Don't try to create surfaces for wined3d internal textures.
2014-06-13 10:11:56 +02:00
Henri Verbeet
b0f1feb4f0
ddraw: Properly support creating compressed user memory surfaces.
2014-06-12 18:05:20 +02:00
Henri Verbeet
e2d9cb69ba
ddraw: Use wined3d_surface_get_pitch() to calculate dwLinearSize for compressed surfaces.
2014-06-12 18:05:20 +02:00
Henri Verbeet
92ea79a198
ddraw: Clear DDSD_PITCH on compressed surfaces.
2014-06-12 18:05:19 +02:00
Henri Verbeet
64a5dc11bf
ddraw: Clear DDSD_LINEARSIZE on uncompressed surfaces.
2014-06-12 18:05:18 +02:00
Henri Verbeet
7e33bc7a47
ddraw/tests: 64-bit ddraw only has DWORD surface pitch alignment in some cases.
2014-06-12 18:05:17 +02:00
Stefan Dösinger
e7163c802d
ddraw/tests: Test D3DVBCAPS_WRITEONLY.
2014-06-11 16:14:58 +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
544816797a
wined3d: Don't update the color table on palette changes.
2014-05-14 13:30:33 +02:00
Stefan Dösinger
fc25510fad
wined3d: Remove wined3d_surface_get_palette.
2014-05-12 21:24:59 +02:00
Francois Gouget
22acc5cb30
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2014-05-09 16:28:04 +02:00
Stefan Dösinger
8ca711f428
ddraw/tests: Test palette alpha behavior.
...
What I care about here is that setting peFlags != 0 doesn't cause errors
either during ddraw palette creation or DIB section creation. peFlags
isn't an alpha channel, but P8 textures abuse it that way, hence the
name of the test. It probably has deeper meaning in DDSCL_NORMAL when
the X server is running in 8 bit paletteindexed mode, but I don't think
we really care about this.
2014-05-07 20:21:57 +02:00
Stefan Dösinger
a227188573
ddraw: Alpha palettes can only be attached to textures.
2014-05-07 20:21:57 +02:00
Francois Gouget
4e950d9cbc
ddraw: Remove WINAPI on static functions where not needed.
2014-05-02 17:15:22 +02:00
Stefan Dösinger
39212d2ffb
wined3d: Remove broken gdi palette code.
2014-05-02 16:32:54 +02:00
Stefan Dösinger
7839ec874f
ddraw/tests: Test mipmap GetDC behavior.
2014-05-02 16:32:52 +02:00
Stefan Dösinger
a8bcb6c7ad
ddraw/tests: Add a test for getdc palette handling.
2014-05-02 16:32:45 +02:00
Henri Verbeet
4d887292af
ddraw: Cleanup DDRAW_dump_pixelformat().
2014-05-02 13:45:21 +02:00
Frédéric Delanoy
2e5cb7aac8
Assorted spelling/grammar fixes.
2014-04-30 18:34:20 +02:00
Henri Verbeet
7bdbb8c890
ddraw/tests: Add some basic material tests.
2014-04-30 14:32:29 +02:00
Henri Verbeet
27a0b8a5f0
ddraw: Only output a warning when clearing a viewport without background material.
2014-04-30 09:34:05 +02:00
Henri Verbeet
4ff220f94b
ddraw: Reject setting a 0 material handle in d3d_viewport_SetBackground().
2014-04-30 09:34:03 +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
174dbaf0f3
ddraw/tests: Handle the Windows 8 testbot in test_primary_palette().
2014-04-30 09:33:59 +02:00
Stefan Dösinger
8d1b66bee4
ddraw/tests: Skip the ddraw7 primary palette test if 8 bpp mode doesn't work.
2014-04-29 16:07:48 +02:00
Stefan Dösinger
7178675741
ddraw/tests: Test P8 to RGB blits.
2014-04-29 16:07:46 +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
77da84b06a
ddraw: Cleanup d3d_execute_buffer_QueryInterface().
2014-04-29 13:36:09 +02:00
Henri Verbeet
b2e2b42b73
ddraw: Cleanup the D3DOP_PROCESSVERTICES implementation a bit.
2014-04-29 13:36:08 +02:00
Henri Verbeet
86f209ed80
ddraw: Implement D3DOP_STATERENDER on top of IDirect3DDevice3_SetRenderState().
2014-04-29 13:36:05 +02:00
Henri Verbeet
789fcf0daa
ddraw: Implement D3DOP_STATELIGHT on top of IDirect3DDevice3_SetLightState().
2014-04-29 13:35:33 +02:00
Stefan Dösinger
e2bf5163ec
ddraw/tests: Add a test for mipmap palettes.
2014-04-25 20:04:43 +02:00
Stefan Dösinger
590582e6bc
ddraw: Only ddraw7 disallows SetPalette on sublevels.
2014-04-25 20:04:38 +02:00
Henri Verbeet
ac70dd2c97
ddraw: Validate the pitch for user memory surfaces against the unaligned minimum pitch.
...
User memory surfaces have a different minimum alignment from regular surfaces.
This fixes a regression introduced by commit
9c138d772c
.
2014-04-23 15:00:35 +02:00
Henri Verbeet
1af267f613
ddraw/tests: Try to make test_coop_level_mode_set() more reliable.
...
It appears that particularly on slower setups, on occasion we don't receive
WM_DISPLAYCHANGE messages after a mode change. The theory is that the
SendMessageTimeoutW() call in X11DRV_resize_desktop() ends up hitting the
is_queue_hung() check in the send_message handler in the server, and the
PeekMessage() calls should avoid that.
2014-04-14 20:19:01 +02:00
Stefan Dösinger
ee57e19b40
ddraw: SetPrivateData(..., data = NULL, ...) is not valid.
2014-04-08 19:23:24 +02:00
Stefan Dösinger
24187d5397
ddraw/tests: Nvidia has an off-by-one rectangle handling bug.
2014-04-08 19:23:22 +02:00
Stefan Dösinger
3ff1c92dd1
ddraw/tests: Add mipmap locking tests.
2014-04-07 19:06:12 +02:00
Stefan Dösinger
938529e1f9
wined3d: Remove the version parameter.
2014-03-20 19:04:37 +01:00
Stefan Dösinger
bd69346d2c
ddraw/tests: Use a custom GUID for the private data tests.
2014-03-17 20:24:00 +01:00
Stefan Dösinger
4a62f81d0d
ddraw/tests: Add mipmap private data tests.
2014-03-17 20:24:00 +01:00
Stefan Dösinger
1d9ff5c43b
ddraw/tests: Test GetPrivateData size behavior.
2014-03-17 20:23:59 +01:00
Stefan Dösinger
7d793715f3
ddraw: Use the new private store api.
2014-03-17 20:23:58 +01:00
Henri Verbeet
82780d6ba6
ddraw/tests: Skip the overlay tests in test_block_formats_creation() if overlays are not supported.
2014-03-11 19:39:37 +01:00
Stefan Dösinger
f6e0e1815b
ddraw/tests: Show that a failing SetPrivateData call does not clear the old contents.
2014-03-11 19:39:33 +01:00
Henri Verbeet
0b547ee750
ddraw/tests: Verify that creating a ddraw object works before running any real tests.
2014-03-06 12:01:27 +01:00
Henri Verbeet
9ee120f108
ddraw/tests: Avoid using EnumDevices() to get a supported Z buffer format.
2014-03-05 11:49:48 +01:00
Henri Verbeet
75935f9499
ddraw/tests: Add a test for creating surfaces with an explicit pitch.
2014-03-05 11:49:44 +01:00
Henri Verbeet
76ab86ee7f
ddraw: Disallow user memory surfaces before version 4.
2014-03-05 11:49:41 +01:00
Henri Verbeet
74b4b821ab
ddraw: Clear DDSD_LPSURFACE after surface creation.
2014-03-05 11:49:38 +01:00
Henri Verbeet
9c138d772c
ddraw: Validate the surface pitch for user memory surfaces in ddraw_surface_init().
2014-03-04 11:51:06 +01:00
Henri Verbeet
10db40cecc
ddraw: Don't overwrite the caller specified pitch in ddraw_surface_init().
2014-03-04 11:51:03 +01:00
Henri Verbeet
162bc8db6e
ddraw: User memory surfaces should be created with an explicit pitch.
2014-03-04 11:51:01 +01:00
Henri Verbeet
da2fafca8d
ddraw: User memory surfaces should be in the system memory pool.
2014-03-04 11:50:58 +01:00
Henri Verbeet
c1032e977b
wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps.
2014-03-04 11:50:54 +01:00
Henri Verbeet
66aa4dcc6c
ddraw/tests: Don't trust what EnumDevices() tells us about the supported Z buffer formats.
2014-03-03 17:02:23 +01:00
Henri Verbeet
9677805ec4
ddraw/tests: Properly create offscreen plain surfaces.
...
It's not entirely clear what kind of surface is actually created when just
DDSCAPS_SYSTEMMEMORY is specified, but at the very least its format appears to
be validated against the current display mode, which is not what we want.
2014-03-03 17:02:22 +01:00
Henri Verbeet
048f4d4c26
ddraw/tests: Try 24 bpp display modes if 32 bpp modes are unavailable.
2014-03-03 17:02:20 +01:00
Francois Gouget
af0bf54bd0
ddraw/tests: Simplify the 'NT4 testbot' special case a bit.
2014-02-27 10:04:52 -06:00
Francois Gouget
4f26fb0e0b
ddraw/tests: Fix some comma versus semi-colon mixups.
2014-02-26 13:38:03 -06:00
Ken Thomases
b3acbfc878
ddraw/tests: Test that DirectDraw doesn't modify the pixel format of the window it targets.
2014-02-22 08:42:07 -06:00
Francois Gouget
4afe73ff39
ddraw/tests: Better clean up when skipping the primary palette tests.
2014-02-17 20:16:32 +01:00
Stefan Dösinger
9b8a353462
ddraw/tests: Port test_private_data to ddraw4.
2014-02-17 20:16:29 +01:00
Francois Gouget
5e7724808c
ddraw/tests: Skip the primary palette tests if the 640x480x8 mode is not supported.
2014-02-12 19:15:29 +01:00
Erich E. Hoover
68e3b18533
ddraw: Return the D3D identifier when GetDeviceIdentifier is called with no flags.
2014-02-11 20:22:30 +01:00
Erich E. Hoover
2cb3aeb7b9
ddraw: Return a DLL in szDriver for GetDeviceIdentifier.
2014-02-11 19:20:33 +01:00
Henri Verbeet
7c6ca2077f
ddraw: Allow attaching surfaces other than depth buffers in ddraw_surface4_AddAttachedSurface().
2014-01-27 17:39:47 +01:00
Henri Verbeet
fffaf03c0d
ddraw/tests: Rewrite AttachmentTest() and AttachmentTest7().
2014-01-27 17:39:47 +01:00
Andrey Gusev
e7f0a8a081
Assorted spelling and typos fixes.
2014-01-27 17:00:11 +01:00
Henri Verbeet
1318d5786f
ddraw/tests: Verify dwBackBufferCount on back buffer surfaces in test_flip().
2014-01-17 11:00:38 +01:00
Henri Verbeet
c7d05d2d60
ddraw: Pass the monitor to the callback in ddraw_enumerate_secondary_devices().
2014-01-10 12:06:22 +01:00
Erich E. Hoover
dc184b526c
ddraw/tests: Test DirectDrawEnumerateEx with DDENUM_ATTACHEDSECONDARYDEVICES.
2014-01-09 17:39:58 +01:00
Erich E. Hoover
eba5132bfa
ddraw: Make DirectDrawEnumerateEx report the driver description.
2014-01-09 17:39:57 +01:00
Erich E. Hoover
639f9335c2
ddraw: Make DirectDrawEnumerateEx only enumerate secondary display devices when requested.
2014-01-09 17:39:56 +01:00
Henri Verbeet
e00cc024fd
ddraw/tests: Add some color key tests for complex surfaces.
2014-01-09 17:39:49 +01:00
Henri Verbeet
bddb0433f3
ddraw: Return DDERR_NOTONMIPMAPSUBLEVEL for ddraw_surface7_SetColorKey() on mipmap sub levels.
2014-01-09 17:39:47 +01:00
Henri Verbeet
f7ee96c311
ddraw: Don't propagate color key changes to attached surfaces.
2014-01-09 15:50:45 +01:00
Henri Verbeet
4710c4b51a
wined3d: Store color keys in textures instead of in surfaces.
2014-01-09 15:50:39 +01:00
Stefan Dösinger
03b2e737d2
ddraw/tests: Add a getdc test with a custom pitch.
2014-01-08 20:03:04 +01:00
Stefan Dösinger
b91973daa7
wined3d: Merge wined3d_surface_set_mem into wined3d_surface_update_desc .
2014-01-08 20:02:22 +01:00
Stefan Dösinger
2a012ba16f
ddraw: Always set surface width, height and format in ddraw_surface7_SetSurfaceDesc.
2014-01-08 19:55:06 +01:00
Frédéric Delanoy
6151371de3
ddraw/tests: Use BOOL type where appropriate.
2014-01-03 18:08:51 +01:00
Francois Gouget
1f26451964
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2014-01-03 11:28:16 +01:00
Alexandre Julliard
99ef0d6ff0
makefiles: Get rid of the MAKE_TEST_RULES variable.
2014-01-02 12:13:16 +01:00
Alexandre Julliard
5e7416e5c8
makefiles: Get rid of the MAKE_DLL_RULES variable.
2014-01-02 12:08:18 +01:00
Alexandre Julliard
d08ff3ff19
makefiles: Use a single variable for all types of idl files.
2013-12-31 18:15:17 +01:00
Henri Verbeet
4e7b62a46d
wined3d: Get rid of unused palette flags.
2013-12-13 12:36:11 +01:00
Henri Verbeet
f27bb660b3
wined3d: Explicitly pass the palette size to wined3d_palette_create().
2013-12-13 12:36:11 +01:00
Henri Verbeet
89dedf6408
ddraw: Just set the palette caps in ddraw7_GetCaps().
2013-12-13 12:36:11 +01:00
Henri Verbeet
b9ab54a09a
ddraw/tests: Add a test for palettes on primary surfaces.
2013-12-13 12:36:11 +01:00
Henri Verbeet
c5a8b933af
ddraw: Unset the primary surface's palette when the palette is released.
2013-12-13 12:36:10 +01:00
Stefan Dösinger
cc978c90d4
ddraw/tests: Use correct ddraw COM macros.
2013-12-12 19:21:37 +01:00
Stefan Dösinger
f53d83cf26
ddraw: Sysmem overlays are not allowed.
2013-12-12 19:21:37 +01:00
Stefan Dösinger
0fdb1aaff6
ddraw: SetSurfaceDesc does not work on primaries.
2013-12-12 19:21:36 +01:00
Henri Verbeet
d5863f7f40
ddraw: Set DDPCAPS_PRIMARYSURFACE when attaching a palette to the primary surface.
2013-12-12 12:08:25 +01:00
Henri Verbeet
bf7f80f4b3
ddraw: Store the palette flags in the ddraw palette.
2013-12-12 12:08:23 +01:00
Henri Verbeet
9651079ff9
ddraw: Don't set the palette on attached backbuffers in ddraw_surface7_SetPalette().
...
Tests show this is just wrong. This patch fixes a regression introduced by
commit 74e3f516bc
.
2013-12-12 12:08:19 +01:00
Henri Verbeet
1f0bb534ec
ddraw: Keep a reference to the palette in the surface.
2013-12-12 12:08:16 +01:00
Stefan Dösinger
5a656dead6
ddraw/tests: Test user memory and getdc interaction.
...
Some Windows Media Player 9 visualization plugins used ddraw in this way
to get a dc for their custom memory allocations.
2013-12-11 18:17:00 +01:00
Henri Verbeet
0f49ffae41
ddraw: Properly swap the wined3d texture parent in ddraw_surface7_Flip().
2013-12-06 16:46:39 +01:00
Henri Verbeet
15c1a26b55
wined3d: Create volumes inside wined3d.
2013-12-06 13:14:52 +01:00
Francois Gouget
94eb50eda0
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-12-05 12:40:57 +01:00
Henri Verbeet
ce09d3633a
ddraw: Properly flip through the swap chain in ddraw_surface7_Flip().
2013-12-05 12:40:56 +01:00
Henri Verbeet
7524258aaf
ddraw: Implement flips inside ddraw.
2013-12-05 12:40:56 +01:00
Henri Verbeet
f637c229f9
ddraw/tests: Add a test for primary surface capabilities.
2013-12-05 12:40:56 +01:00
Henri Verbeet
8797a9eda3
ddraw: Require a non-zero back buffer count for swap chains.
2013-12-05 12:40:56 +01:00
Henri Verbeet
23f47b573e
ddraw: Require DDSCAPS_FLIP and DDSCAPS_COMPLEX to be used together.
2013-12-05 12:40:55 +01:00
Henri Verbeet
6cba2285bc
ddraw: Reject creating primary surfaces with DDSCAPS_TEXTURE.
2013-12-04 11:08:22 +01:00
Henri Verbeet
a9afc9356e
ddraw: Reject explicitly creating a flippable front buffer.
2013-12-04 11:08:19 +01:00
Henri Verbeet
00eaf27dc7
ddraw: Validate that surfaces are on the same swap chain in ddraw_surface7_Flip().
2013-12-04 11:07:51 +01:00
Henri Verbeet
74e3f516bc
ddraw: Attach the first surface in the swap chain to the last one.
2013-12-04 11:07:46 +01:00
Henri Verbeet
ab8d59c29d
ddraw: Reject flips of surfaces with themselves.
2013-12-04 11:07:41 +01:00
Frédéric Delanoy
5ba7f79bad
Assorted spelling fixes.
2013-12-03 19:41:53 +01:00
Stefan Dösinger
42470bae67
ddraw/tests: Test SetSurfaceDesc and Lock interaction.
2013-12-03 19:36:13 +01:00
Stefan Dösinger
5e43ee256c
ddraw: Check for lpSurface=NULL in SetSurfaceDesc.
2013-12-03 19:36:11 +01:00
Stefan Dösinger
c15d89c803
ddraw: SetSurfaceDesc accepts DDSD_CAPS with dwCaps=0.
2013-12-03 19:36:09 +01:00
Stefan Dösinger
1f36605886
ddraw: SetSurfaceDesc is not allowed on managed textures.
2013-12-03 19:36:07 +01:00
Stefan Dösinger
eb361e9eec
ddraw/tests: Port test_set_surface_desc to other versions.
2013-12-03 19:36:04 +01:00
Henri Verbeet
e780ee581d
ddraw: Return the correct error in ddraw_surface7_Flip() when the surface is not flippable.
2013-12-03 12:35:19 +01:00
Henri Verbeet
66c71baefe
ddraw: Only set DDSCAPS_FRONTBUFFER on flippable surfaces.
2013-12-03 12:35:14 +01:00
Henri Verbeet
76420a2441
ddraw: Only set DDSCAPS_VISIBLE on the root surface.
2013-12-03 12:35:11 +01:00
Henri Verbeet
28efaec21f
ddraw: Only set DDSCAPS_PRIMARYSURFACE on the root surface.
2013-12-03 12:35:07 +01:00
Henri Verbeet
ebd5c2076c
ddraw/tests: Add a surface flipping test.
2013-12-03 12:35:03 +01:00
Henri Verbeet
019143a6a9
ddraw/tests: Unify the skip messages a bit.
2013-12-02 12:12:54 +01:00
Henri Verbeet
a86aba4bc0
ddraw/tests: Add some missing DestroyWindow() calls.
2013-12-02 12:12:51 +01:00
Henri Verbeet
8a9fdb567e
ddraw: Get rid of the DDSCAPS_BACKBUFFER validation in ddraw_surface_create().
...
All callers except ddraw1_CreateSurface() already have a stricter check
themselves.
2013-12-02 12:12:48 +01:00
Henri Verbeet
d56b7c2016
ddraw: Use hr_ddraw_from_wined3d() in ddraw_surface_create().
2013-12-02 12:12:45 +01:00
Henri Verbeet
82d5f36c8b
ddraw: Get rid of copy_to_surfacedesc2().
2013-11-28 11:19:16 +01:00
Henri Verbeet
69ebf9de54
ddraw: Get rid of CreateSurface().
2013-11-28 11:19:15 +01:00
Henri Verbeet
028960d9d0
ddraw: Make the DDSURFACEDESC2 parameter to ddraw_surface_create_texture() const.
2013-11-28 11:19:13 +01:00
Henri Verbeet
2c109d2df1
ddraw: Move the DDSD_CAPS fixup from CreateSurface() to ddraw_surface_create_texture().
2013-11-28 11:19:11 +01:00
Henri Verbeet
06f393dc7d
ddraw: Move the DDSD_LPSURFACE fixups from CreateSurface() to ddraw_surface_create_texture().
2013-11-28 11:19:06 +01:00
Henri Verbeet
5889f822f1
ddraw: Move the flippable validation from CreateSurface() to ddraw_surface_create_texture().
2013-11-27 11:30:23 +01:00
Henri Verbeet
3139249a2e
ddraw: Move the primary surface validation from CreateSurface() to ddraw_surface_create_texture().
2013-11-27 11:30:22 +01:00
Henri Verbeet
2105b4493f
ddraw: Create back buffers in ddraw_surface_create_texture().
2013-11-27 11:30:20 +01:00
Henri Verbeet
559229aa10
ddraw: Move the location validation from CreateSurface() to ddraw_surface_create_texture().
2013-11-27 11:30:18 +01:00
Henri Verbeet
4b3db52b53
wined3d: Merge the texture creation functions.
2013-11-27 11:30:15 +01:00
Henri Verbeet
995ff1d3f8
ddraw: Move the cube map validation from CreateSurface() to ddraw_surface_create_texture().
2013-11-26 13:52:06 +01:00
Henri Verbeet
f0f38d9b8d
ddraw: Move the TEXTUREMANAGE validation from CreateSurface() to ddraw_surface_create_texture().
2013-11-26 13:52:04 +01:00
Henri Verbeet
4d9c3151c3
ddraw: Don't bother setting *surface to NULL in CreateSurface().
...
None of the callers depend on this.
2013-11-26 13:52:02 +01:00
Henri Verbeet
659cd984d5
ddraw: Don't bother unsetting DDSCAPS2_MIPMAPSUBLEVEL in CreateSurface().
...
This is already handled in ddraw_surface_create_texture().
2013-11-26 13:52:00 +01:00
Henri Verbeet
0261c465eb
ddraw: Don't set the pixelformat's dwSize field in CreateSurface().
...
This should be unnecessary.
2013-11-26 13:51:58 +01:00
Henri Verbeet
b62d55d810
ddraw: Don't bother checking for DDSD_CAPS in CreateSurface().
...
We made sure it's always set earlier.
2013-11-25 15:15:54 +01:00
Henri Verbeet
8ce73e2ad6
ddraw: Only reset the device when creating an exclusive mode front buffer in ddraw_surface_create_texture().
2013-11-25 15:15:54 +01:00
Patrick Rudolph
626a3c6a5f
ddraw: Fill dwNumFourCCCodes in ddraw7_GetCaps.
2013-11-15 19:23:22 +01:00
Henri Verbeet
42f6ca821c
wined3d: Set the surface container in surface_init().
2013-11-15 12:00:32 +01:00
Henri Verbeet
afc3d2ab70
wined3d: Create surfaces inside wined3d.
2013-11-15 12:00:26 +01:00
Henri Verbeet
9443c95a89
ddraw: Move the display mode related surface desc fixups from CreateSurface() to ddraw_surface_create_texture().
2013-11-15 12:00:17 +01:00
Henri Verbeet
063a6c8d2d
ddraw: Move the mipmap count fixup from CreateSurface() to ddraw_surface_create_texture().
2013-11-15 12:00:15 +01:00
Henri Verbeet
9e44fadbfe
ddraw: Set the cube map flags for the root surface in ddraw_surface_create_texture() as well.
2013-11-14 16:21:00 +01:00
Henri Verbeet
80055e1fcd
ddraw: Pass the ddraw texture to ddraw_surface_init().
2013-11-14 16:20:58 +01:00
Henri Verbeet
10411fb2a1
ddraw: Move the surface desc fixups from ddraw_surface_init() to ddraw_surface_create_texture().
2013-11-14 16:20:56 +01:00
Henri Verbeet
45d37313b8
ddraw: Set WINED3D_SURFACE_PIN_SYSMEM directly in ddraw_surface_create_texture().
2013-11-14 16:20:49 +01:00
Henri Verbeet
afe5ceb729
ddraw: Create textures for additional surfaces.
2013-11-13 11:27:35 +01:00
Henri Verbeet
6ea9afe701
ddraw: Create textures for "standalone" surfaces.
2013-11-13 11:27:32 +01:00
Henri Verbeet
d6f12fcdc8
ddraw: Create textures for swapchain surfaces.
2013-11-13 11:27:28 +01:00
Henri Verbeet
3d452ed95a
ddraw: Create wined3d textures before ddraw surfaces.
2013-11-12 14:15:17 +01:00
Henri Verbeet
80dbeb9699
ddraw: Introduce a ddraw_texture structure as parent for textures.
2013-11-12 14:15:10 +01:00
Alexandre Julliard
c7803b885b
makefiles: Add makedep pragmas for registration idl files.
2013-11-05 20:38:18 +01:00
Henri Verbeet
026dc11677
ddraw/tests: Use explicit A calls.
2013-10-31 09:58:44 +01:00
Henri Verbeet
ff3014221e
ddraw: Use GET_MODULE_HANDLE_EX_FLAG_PIN.
2013-10-30 11:21:32 +01:00
Stefan Dösinger
7899850d60
ddraw/tests: r200 accepts 3DDEVICE | ZBUFFER render targets in ddraw4.
...
It doesn't in ddraw2 and 7.
2013-10-29 20:05:25 +01:00
Stefan Dösinger
4b39c46fa2
ddraw/tests: Make caps checking in test_rt_caps() less strict.
...
R200 creates P8 3DDEVICE surfaces in video memory, and consequently
returns a different error message when trying to create a device.
2013-10-29 20:02:40 +01:00
Stefan Dösinger
3fafd37905
ddraw/tests: Allow some flags to fail surface creation in test_rt_caps.
2013-10-29 20:01:04 +01:00
Stefan Dösinger
81ed93d4f7
ddraw/tests: Accept nvidia return values in test_rt_caps.
2013-10-29 19:59:27 +01:00
Francois Gouget
4dc152bd70
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-10-28 10:42:00 +01:00
Stefan Dösinger
e47edf47fe
ddraw/tests: Test DDLOCK_DISCARDCONTENTS.
2013-10-24 19:01:56 +02:00
Stefan Dösinger
9e0ba3eab0
ddraw: Make default pool resources dynamic.
...
To make DDLOCK_DISCARDCONTENTS actually do anything. The MAPPABLE flag
is now redundant.
2013-10-24 19:01:56 +02:00
Stefan Dösinger
a562af5ace
ddraw/tests: Test DDSCAPS2_D3DTEXTUREMANAGE.
2013-10-23 17:02:57 +02:00
Stefan Dösinger
db68ffcba1
ddraw: Treat D3DTEXTUREMANAGE like TEXTUREMANAGE.
...
Sim City 4 uses this flag. The main problem I noticed was with
WINED3D_MAP_DISCARD handling introduced for surfaces in patches that
aren't yet in the tree, but the difference already matters for older
cards because of video memory accounting.
2013-10-23 17:02:57 +02:00
Stefan Dösinger
9c456ef88c
ddraw/tests: Add surface lockability tests.
2013-10-23 17:02:57 +02:00
Frédéric Delanoy
3d30fb881a
ddraw/tests: Use BOOL type where appropriate.
2013-10-10 10:44:40 +02:00
Michael Stefaniuc
0e681027a2
tests: Compile the tests by default with -D__WINESRC__.
2013-10-02 11:04:02 +02:00
Francois Gouget
0cc1c22d16
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-10-01 10:56:28 +02:00
Henri Verbeet
e02de5ff16
ddraw: Avoid VOID.
2013-09-23 20:38:18 +02:00
Henri Verbeet
31de4f1670
ddraw/tests: Add a test for render target surface capabilities.
2013-09-20 11:27:37 +02: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
3fb53e21fb
ddraw: Don't set render target / depth stencil usage on sysmem surfaces.
...
Setting render target usage on a P8 surface for example would fail surface
creation, while such surfaces can't be used for actual rendering anyway. Tests
confirm that surface creation is supposed to succeed for P8 surfaces with both
DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set.
2013-09-17 12:01:21 +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
dbdde3bd4b
ddraw: Take surface usage into account when checking format capabilities in CreateSurface().
2013-09-16 12:51:13 +02:00
Francois Gouget
15b6ff2023
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-09-13 00:17:58 +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
73a0327487
ddraw: Avoid LPBYTE.
2013-09-11 09:59:06 +02:00
Henri Verbeet
87ef65ab7b
ddraw: Avoid LPVOID.
2013-09-11 09:59:04 +02:00
Henri Verbeet
9ccced6f41
ddraw: Get rid of get_config_key().
2013-09-11 09:58:55 +02:00
Stefan Dösinger
20ce6bd102
ddraw/tests: Don't test transformed vertices with normals.
...
They crash the GPU driver of my r200 WinXP laptop, causing anything from
a BSOD to a frozen or black screen and sometimes incorrectly set
resolutions.
2013-09-09 22:10:01 +02:00
Stefan Dösinger
b92928333b
ddraw/tests: Test unsupported texture formats.
2013-09-06 17:25:08 +02:00
Stefan Dösinger
f69ba15a92
ddraw/tests: Test blocked texture creation restrictions.
2013-09-06 17:25:08 +02:00
Stefan Dösinger
80638b6d2f
wined3d: Enforce texturing capability format restrictions on resource creation.
2013-09-06 17:25:08 +02:00
Stefan Dösinger
b464067313
ddraw: Create a sysmem surface if the format is not supported.
2013-09-06 17:25:08 +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
b88daee3bc
ddraw: Create managed pool textures.
...
The surfaces are already in WINED3D_POOL_MANAGED.
2013-09-05 17:56:17 +02:00
Stefan Dösinger
8da09ba196
ddraw/tests: Test DDCAPS2_TEXTUREMANAGE compatibility, with other flags.
2013-09-05 17:56:06 +02:00
Henri Verbeet
6f321ff2f9
ddraw: Don't imply WINED3DUSAGE_RENDERTARGET on primary surfaces.
...
If the application actually wants to do 3D rendering on the primary surface,
it should set DDSCAPS_3DDEVICE as well.
2013-09-05 13:18:23 +02:00
Stefan Dösinger
91fa7c07c9
ddraw/tests: Test WM_ACTIVATEAPP messages generated by SetCooperativeLevel.
2013-09-02 18:07:17 +02:00
Stefan Dösinger
769dd6d158
ddraw: Gracefully handle recursive SetCooperativeLevel calls.
2013-09-02 18:07:14 +02:00
Henri Verbeet
43ecaf29c3
wined3d: Get rid of the DDRAW_PITCH_ALIGNMENT and D3D8_PITCH_ALIGNMENT constants.
2013-08-29 19:56:17 +02:00
Stefan Dösinger
ac871305f8
wined3d: Store the mipmap level in the volume.
2013-08-22 20:15:18 +02:00
Stefan Dösinger
c0faf86fff
ddraw: Fix double to float conversion warnings.
2013-08-01 20:43:42 +02:00
Alexandre Julliard
cf8d7fbb6b
ddraw/tests: Remove a todo from a test that succeeds.
2013-07-29 15:52:17 +02:00
Francois Gouget
67307a9cf1
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2013-06-29 12:45:26 +02:00
Stefan Dösinger
cf1e6a487a
ddraw/tests: Get rid of D3DRENDERSTATE_LIGHTING hacks in ddraw4.c.
2013-06-20 22:14:36 +02:00
Stefan Dösinger
4b93cf707d
ddraw/tests: Test lighting control in different interface versions.
2013-06-20 22:14:36 +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
Stefan Dösinger
21491c8748
ddraw/tests: Add a test for fog_start == fog_end.
2013-06-19 20:09:53 +02:00
Henri Verbeet
4de77fa23f
wined3d: Allow a custom pitch to be specified in wined3d_surface_set_mem().
2013-06-14 11:46:20 +02:00
Francois Gouget
3cefe77667
ddraw: Remove WINAPI on static functions where not needed.
2013-06-10 11:49:43 +02:00
Henri Verbeet
29c43e2efc
ddraw: Rename PixelFormat_WineD3DtoDD() to ddrawformat_from_wined3dformat().
2013-06-07 11:58:29 +02:00
Henri Verbeet
86eb211159
ddraw: Rename PixelFormat_DD2WineD3D() to wined3dformat_from_ddrawformat().
...
For consistency with the other D3D dlls.
2013-06-07 11:58:27 +02:00
Henri Verbeet
d6bc4fe71a
wined3d: Allow surface flags to be passed to texture creation functions.
2013-06-06 11:47:19 +02:00
Stefan Dösinger
831424ef83
ddraw/tests: Fix a typo.
2013-06-06 10:45:46 +02:00
Stefan Dösinger
410151ca6a
ddraw: Update the SetCooperativeLevel comment.
2013-06-06 10:45:44 +02:00
Stefan Dösinger
89dd55c4a6
ddraw/tests: Add EXCLUSIVE->NORMAL coop level switching tests.
2013-06-06 10:45:42 +02:00
Stefan Dösinger
4e51195e0b
ddraw: Restore resolution on EXCLUSIVE->NORMAL switch.
2013-06-06 10:45:38 +02:00
Stefan Dösinger
6560135c64
ddraw: Update the focus window after recreating the swapchain.
2013-06-06 10:45:34 +02:00
Henri Verbeet
b23739316c
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_cube().
2013-06-05 17:31:39 +02:00
Henri Verbeet
9d4cbd6195
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_2d().
2013-06-05 17:31:39 +02:00
Henri Verbeet
13a38e8d5e
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_swapchain_surface().
2013-06-04 10:14:28 +02:00
Henri Verbeet
a4d2660c9b
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_texture_surface().
2013-06-04 10:14:26 +02:00
Henri Verbeet
e4816996c3
ddraw: Handle the "DirectDrawRenderer" registry key in wined3d.
2013-05-30 10:57:08 +02:00
Henri Verbeet
b886d06737
ddraw: Replace the various BOOLs in struct ddraw with a flags field.
2013-05-30 10:56:51 +02:00
Stefan Dösinger
9287bb80dc
d3d: d3d9ex does not do video memory accounting for D3DPOOL_DEFAULT resources.
2013-05-20 19:08:28 +02:00
Alexandre Julliard
0ad26e27f3
ddraw: Don't bother to unregister classes at process exit.
2013-05-14 11:31:31 +02:00
Alexandre Julliard
74f496d9bb
ddraw: De-duplicate display modes even when returning the refresh rate.
2013-04-09 21:27:57 +02:00
Sam Edwards
d1b67698b9
ddraw/tests: Verify window style after exiting fullscreen mode.
2013-04-03 11:34:05 +02:00
Stefan Dösinger
3eb6045325
ddraw/tests: Use hardware VP only if available in the visual tests.
2013-03-12 18:55:01 +01:00
Stefan Dösinger
f39443787a
ddraw/tests: Use a software VP device in test_surface_interface_mismatch.
2013-03-12 18:54:56 +01:00
Stefan Dösinger
a990dbfa22
ddraw/tests: Use a TnLHal device only if supported in ddraw7 tests.
...
Intel GPUs don't support d3d7 hardware vertexprocessing on Windows. In
d3d8 and d3d9 it is available starting with i965 chips, but for some
reason the driver does not expose this for d3d7.
2013-03-12 18:54:45 +01:00
Francois Gouget
3e6d0a373d
ddraw/tests: Fix the refresh rate test when running with the Windows 'Standard VGA' driver.
2013-02-20 10:34:41 +01:00
Michael Stefaniuc
54a1504c57
ddraw/tests: Simplify some equality comparisons between bools.
2013-02-20 10:34:29 +01:00
Michael Stefaniuc
7d0ab835ae
ddraw/tests: Use assignment instead of memcpy to copy structs.
2013-02-05 20:15:36 +01:00
Stefan Dösinger
ab8276fe91
ddraw/tests: Add viewport handling tests.
2013-01-29 11:48:19 +01: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
Stefan Dösinger
aaa11492db
wined3d: Ignore clears if count = 0 and rects != NULL.
2013-01-23 19:16:32 +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
Henri Verbeet
ce912d5149
wined3d: Get rid of the surface_type parameter to wined3d_surface_create().
2013-01-17 12:21:55 +01:00
Henri Verbeet
8e7590e22f
ddraw: Avoid LPD3DSTATUS.
2013-01-17 12:21:44 +01:00
Stefan Dösinger
a8469a458f
ddraw/tests: Add basic tests for DrawIndexedPrimitiveStrided.
2013-01-16 20:27:19 +01:00
Henri Verbeet
31e8976910
wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create().
2013-01-16 12:22:57 +01:00
Henri Verbeet
56b256cb77
ddraw: Update DefaultSurfaceType if we had to fallback to a wined3d object without 3D support.
2013-01-16 12:22:48 +01:00
Henri Verbeet
1bb17316ff
ddraw: Avoid LPD3DBRANCH.
2013-01-16 12:22:37 +01:00
Henri Verbeet
1ed6a0842d
ddraw: Avoid LPD3DTRIANGLE.
2013-01-16 12:22:35 +01:00
Henri Verbeet
a7f4ac283b
ddraw: Get rid of the local "window" variable in ddraw7_SetCooperativeLevel().
...
Having both a "hwnd" and a "window" here doesn't exactly make things much
easier to follow.
2013-01-15 12:13:08 +01:00
Henri Verbeet
292522c4ad
ddraw: Only modify the ddraw destination window at the end of ddraw7_SetCooperativeLevel().
...
We want this to happen after ddraw_destroy_swapchain() in particular, because
dest_window being different from d3d_window will cause it to destroy
d3d_window, but this seems like a good idea in general.
2013-01-15 12:13:04 +01:00
Henri Verbeet
ae725df54a
ddraw: Add a small tests for SetCooperativeLevel() calls with different windows.
...
In particular, test that the windows aren't destroyed by accident.
2013-01-15 12:12:56 +01:00
Henri Verbeet
b43f897675
ddraw: Avoid LPD3DPROCESSVERTICES.
2013-01-15 12:12:48 +01:00
Henri Verbeet
61e8f02ce2
ddraw: Avoid LPD3DSTATE.
2013-01-15 12:12:45 +01:00
Henri Verbeet
7595a58085
ddraw: Explicitly create a wined3d object without 3D capabilities when creating a normal wined3d object fails.
2013-01-14 11:01:53 +01:00
Henri Verbeet
af377acabe
ddraw: Get rid of dump_light().
2013-01-14 11:01:46 +01:00
Henri Verbeet
d9051bbe93
ddraw: Only check dwFlags if we actually have a D3DLIGHT2 structure in d3d_light_SetLight().
2013-01-14 11:01:42 +01:00
Henri Verbeet
cc60cc6abb
ddraw: Avoid LPD3DINSTRUCTION.
2013-01-14 11:01:34 +01:00
Henri Verbeet
e8f9704462
ddraw: Avoid LPD3DLIGHT2.
2013-01-11 18:14:06 +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
Andrew Talbot
1e31182c0b
ddraw: Avoid signed-unsigned integer comparisons.
2013-01-10 12:23:13 +01:00
Henri Verbeet
6ba9f27c16
ddraw: Cleanup ddraw7_QueryInterface() a bit.
2013-01-08 12:49:06 +01:00
Henri Verbeet
da817d8e91
ddraw: Get rid of some redundant code in IDirect3DImpl_GetCaps().
...
dwTextureBlendCaps is overwritten later, and (potentially) uninitialized here.
2013-01-07 11:12:28 +01:00
Henri Verbeet
293f362d55
ddraw: Avoid LPD3DMATRIX.
2013-01-04 12:16:27 +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