Commit Graph

2378 Commits

Author SHA1 Message Date
Alex Henrie 062f1ae752 ddraw: Validate the "surface" pointer before creating the surface in CreateSurface().
And thereby avoid leaking the surface on the error path.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-16 19:08:36 +01:00
Alex Henrie 438d0fed86 ddraw/tests: Validate the "surface" pointer is unmodified after CreateSurface() without cooperative level.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-16 19:08:26 +01:00
Michael Stefaniuc 427c607a6c ddraw/tests: Fix double assigment to the same lvalue (coccinellery).
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 16:16:59 +01:00
Henri Verbeet ebcf5196fc ddraw: Implement GetSurfaceFromDC().
Many thanks to Dmitry Timoshkov for helping figure this out.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:40 +01:00
Henri Verbeet e28a5fa393 ddraw/tests: Rewrite GetDCTest().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:36 +01:00
Nikolay Sivov 1a7ddf8dd9 dxgi: Added support for DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:16:57 +01:00
Matteo Bruni a65f16bf64 ddraw/tests: Fix IDirect3DDevice typo.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:00:06 +01:00
Józef Kucia a865aa368f ddraw/tests: Add basic test for D3DOP_TEXTURELOAD.
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>
2017-02-07 14:45:39 +01:00
Józef Kucia 19d85623cf ddraw: Implement D3DOP_TEXTURELOAD.
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>
2017-02-07 14:45:37 +01:00
Henri Verbeet aa8cedb033 ddraw: Update the primary surface format when changing the display mode.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:52 +01:00
Henri Verbeet 312cb81138 ddraw: Validate the primary surface format in ddraw_surface7_Restore().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:52 +01:00
Henri Verbeet ca6b29983b ddraw: Validate the primary surface dimensions in ddraw_surface7_Restore().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:51 +01:00
Henri Verbeet 0885e3f5ae ddraw: Mark surfaces as lost when changing the display mode.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:51 +01:00
Alex Henrie c9e29bff7b ddraw: Don't crash if writing out a new ddraw7 surface segfaults.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:48 +01:00
Alex Henrie 1850ac5770 ddraw: Don't crash if writing out a new ddraw4 surface segfaults.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:48 +01:00
Alex Henrie f6997e8fe0 ddraw: Don't crash if writing out a new ddraw2 surface segfaults.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:48 +01:00
Alex Henrie d9f2b4627a ddraw: Don't crash if writing out a new ddraw1 surface segfaults.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:48 +01:00
Józef Kucia 2bef0eafd0 ddraw: Relax "dwSize" validation in ddraw_surface*_Lock().
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>
2017-01-25 15:52:35 +01:00
Józef Kucia d7b3ef0783 ddraw: Cleanup ddraw7_GetAvailableVidMem().
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>
2017-01-25 15:52:20 +01:00
Henri Verbeet 31fcbb6bf2 ddraw: Kill stray tabs.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:25:53 +01:00
Michael Stefaniuc 34737c6704 ddraw/tests: Remove some no longer needed broken(TRUE).
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-20 17:39:36 +01:00
Józef Kucia 2c46fd0807 ddraw/tests: Rewrite StructSizeTest().
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>
2017-01-17 15:41:35 +01:00
Józef Kucia 2abbc1d564 ddraw/tests: Fix compilation on systems that don't support nameless unions.
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>
2017-01-13 16:27:47 +01:00
Henri Verbeet e48d75862f ddraw: Set the swapchain palette in ddraw_create_swapchain().
This fixes a regression introduced by commit
9d49b7a9be.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-13 14:51:13 +01:00
Józef Kucia 0bcc46874f ddraw/tests: Add test for display mode surface pixel format.
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>
2017-01-12 14:09:15 +01:00
Henri Verbeet 544fd16c15 ddraw/tests: Try to avoid killing the Intel (kernel) driver.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-11 16:03:54 +01:00
Francois Gouget 45a7e7482a ddraw/tests: Spelling fixes in a few comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-09 20:49:10 +01:00
Henri Verbeet c7c0415689 ddraw: Keep an explicit reference to the wined3d device in surfaces.
Version 1 and version 2 surfaces don't keep references to the ddraw interface
that created them, so such surfaces may get destroyed after the corresponding
ddraw object was destroyed. Wined3d requires that the device is destroyed
after all its resources are destroyed. In principle this issue always existed,
but it was probably made worse by changes in the texture cleanup code.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-04 11:11:09 +01:00
Józef Kucia 9090995115 ddraw: Subtract framebuffer size from reported available video memory.
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>
2017-01-02 20:27:10 +01:00
Józef Kucia ffcea8af77 wined3d: Implement primitive restart.
Based on a patch by Andrew Wesie.

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-12-08 13:54:06 +01:00
Daniel Lehman 5244bd0748 gdi32: Initialize rgbReserved to zero in SetDIBColorTable.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-23 22:36:39 +01:00
Stefan Dösinger 59c4d8581d ddraw: Implement executebuffer point and line draws.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 13:46:16 -06:00
Stefan Dösinger 15fc10a728 ddraw: Avoid redundant src vertex buffer discards.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 13:46:14 -06:00
Stefan Dösinger 72eab6f214 ddraw: Avoid redundant index buffer discards.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 13:46:12 -06:00
Stefan Dösinger 0d91d86bba ddraw: Use wined3d_device_process_vertices for execute buffers.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 13:46:06 -06:00
Stefan Dösinger b7c9d14e8e ddraw: Use d3d buffers for executebuffer data.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-31 15:40:46 +01:00
Stefan Dösinger b44a5668f1 ddraw/tests: Add D3DVIEWPORT2 transform tests.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:01 +02:00
Stefan Dösinger 58b82c6751 ddraw: Use the clip space matrix in TransformVertices.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:01 +02:00
Stefan Dösinger cb078e10ed ddraw: Apply legacy clipspace to d3d2.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:00 +02:00
Stefan Dösinger 969368341e ddraw/tests: Test d3d2 and 3 drawing with non-standard viewports.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:00 +02:00
Stefan Dösinger ce7fa156a5 ddraw: Store d3d1 projection matrices in device->legacy_projection.
The math in transform_vertex is now the same as in wined3d's
process_vertices_strided. Calling wined3d_device_process_vertices is
easier now, but that will require moving the vertex and index data into
buffers.

Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:00 +02:00
Stefan Dösinger f660a56322 ddraw/tests: Add position tests for D3DPROCESSVERTICES_TRANSFORM.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:00 +02:00
Stefan Dösinger 85ae10698c ddraw/tests: Port test_transform_vertices to ddraw2 and ddraw4.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Stefan Dösinger 33fbdd8bdc ddraw/tests: Test matrices in TransformVertices.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Stefan Dösinger bc1bcf0f31 ddraw/tests: Make the vec parameter of compare_vec4 const.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Henri Verbeet 612071c365 ddraw: Use resource mapping functions in d3d_device7_DrawIndexedPrimitiveVB().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:37 +09:00
Henri Verbeet a8da2f35af ddraw: Use resource mapping functions in d3d_device7_DrawIndexedPrimitiveStrided().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:36 +09:00
Henri Verbeet f72b682d49 ddraw: Use resource mapping functions in d3d_device7_DrawPrimitiveStrided().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:36 +09:00
Stefan Dösinger b12ab05f10 ddraw/tests: Extend TransformVertices invalid data tests.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:35 +09:00
Stefan Dösinger 3cd0d92c8c ddraw: Validate the input data in TransformVertices.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:34 +09:00