Robin Kertels
625622ad41
d3dx9: Ignore filter in D3DXLoadSurfaceFromSurface() when rects match.
...
This allows us to use IDirect3DDevice9_StretchRect
and avoid GPU synchronization.
It massively improves performance in Dead Space 1 which
calls LoadSurfaceFromSurface every frame before presenting.
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 00:04:31 +02:00
Alistair Leslie-Hughes
bb222133a8
d3dx9: Add support for D3DFMT_P8 in DDS files.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48731
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 11:20:00 +02:00
Christian Costa
06918ba76b
d3dx9: Support D3DFMT_X8L8V8U8 in DDS files.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 19:45:40 +01:00
Matteo Bruni
9069913dbb
d3dx9: Fix pitch passed to DXTn [de]compression functions.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47862
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-02 23:48:25 +02:00
Matteo Bruni
f934ef1a14
d3dx9: Compute the correct source rect in D3DXLoadSurfaceFromFileInMemory().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 22:43:07 +02:00
Matteo Bruni
536fce7f3b
d3dx9: Don't pass the D3DLOCK_DISCARD flag when mapping a texture.
...
We aren't necessarily rewriting the whole surface (e.g. rect smaller than
the whole surface, color key).
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 22:43:05 +02:00
Matteo Bruni
a838e144dc
d3dx9: Implement DXTn compression for offset destination rect.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 22:43:02 +02:00
Matteo Bruni
88d8ae3839
d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41936
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 22:43:00 +02:00
Matteo Bruni
a9c158b72a
d3dx9: Move the source rect alignment check into the condition for simple copy.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 22:42:57 +02:00
Matteo Bruni
376182062f
d3dx9: Handle compressed surfaces in D3DXLoadSurfaceFromMemory.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24983
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 21:04:39 +02:00
Matteo Bruni
1f9243c757
d3dx9: Add traces to filtering functions.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 21:03:26 +02:00
Matteo Bruni
e371085aaf
d3dx9: Relax a block alignment check.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 22:41:55 +02:00
Matteo Bruni
b744a309ac
d3dx9: Simplify unsupported format check.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 22:41:50 +02:00
Matteo Bruni
eadc7b3128
d3dx9: Get rid of unused unlock_surface() argument.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 21:22:47 +02:00
Paul Gofman
378204527e
d3dx9: Pass rectangle to {lock|unlock}_surface().
...
This fixes regressions introduced by commits
65956ae50a
, 092c14b9d8
.
Surface source or destination rectangles were left behind.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47546
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 21:22:36 +02:00
Alexandre Julliard
9fb5745a79
d3dx9: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 20:20:09 +02:00
Matteo Bruni
8bed853c43
d3dx9: Fix argument type in convert_dib_to_bmp().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 17:24:14 +02:00
Nikolay Sivov
77c3761ad4
d3dx9: Use wincodecs directly without initializing COM system.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 22:22:37 +01:00
Paul Gofman
65956ae50a
d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:46 +01:00
Paul Gofman
092c14b9d8
d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
...
Fixes a regression triggered by commit
949dbbd31f
.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:43 +01:00
Paul Gofman
ce09011434
d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:41 +01:00
Paul Gofman
4e44d74afb
d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
...
Fixes a regression triggered by commit 949dbbd31f
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46453
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:31 +01:00
Paul Gofman
33be8439fc
d3dx9: Factor out {lock|unlock}_surface() functions.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:28 +01:00
Henri Verbeet
9ff5aae4c8
d3dx9: Try to use IDirect3DDevice9_StretchRect() in D3DXLoadSurfaceFromSurface().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:00:50 +01:00
Henri Verbeet
6c7c777f8d
d3dx9: Use intermediate surfaces for loading from unmappable source surfaces in D3DXLoadSurfaceFromSurface().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:00:47 +01:00
Henri Verbeet
9ab14dff87
d3dx9: Use a staging texture to update unmappable surfaces in D3DXLoadSurfaceFromMemory().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Paul Gofman
126d3b703b
d3dx9: Add FIXME for unlockable source surface in D3DXLoadSurfaceFromSurface().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 16:32:59 +01:00
Michael Stefaniuc
f46c96332b
d3dx9: Use the available ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 15:31:29 +01:00
Matteo Bruni
84a290c12b
d3dx9: Don't forbid supported format conversions.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:49 +01:00
Matteo Bruni
4d1192ad89
d3dx9: Cleanup header includes.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-15 14:12:29 +09:00
Christian Costa
d2307b1ffc
d3dx9: Improve generated DDS file header.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-08 21:37:32 +09:00
Matteo Bruni
d71970f658
d3dx9: Don't take the fastpath when converting between texture formats of different type.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:49 +09:00
Józef Kucia
ece3af7855
d3dx9: Use D3DFMT constants instead of MAKEFOURCC codes.
2015-08-25 16:57:55 +09:00
Józef Kucia
853be6e1d8
d3dx9: Fix miplevels handling for DDS file format.
2015-08-25 16:57:55 +09:00
Józef Kucia
ba53012fcf
d3dx9: Fix typo in DDS_WIDTH define.
2015-08-25 16:57:55 +09:00
Andrey Gusev
07630a9eae
d3dx9_36: Assorted spelling and typos fixes.
2015-03-31 00:04:42 +09:00
Matteo Bruni
fb9c01f1dc
d3dx9: Handle GUID_WICPixelFormat8bppGray format.
2014-11-11 14:21:00 +09:00
Matteo Bruni
807c01727c
d3dx9: Avoid reading outside of the allocated surface memory (Valgrind).
2014-08-27 19:23:06 +02:00
Frédéric Delanoy
95ae71f3ab
Assorted spelling/grammar fixes.
2014-07-01 13:09:13 +02:00
Matteo Bruni
596557a57a
d3dx9: Support skipping mip levels in D3DXCreateTextureFromFileInMemoryEx.
2014-03-05 19:18:17 +01:00
Matteo Bruni
df3c573f63
d3dx9: Allow loading DDS volume textures into 2D textures.
2014-03-03 17:53:53 +01:00
Matteo Bruni
8226a187d6
d3dx9: Don't call CoUninitialize if CoInitializeEx failed.
2014-02-25 14:18:07 -06:00
Matteo Bruni
fa8a0dc7f6
d3dx9: Allow loading float "FOURCC" DDS files.
2014-02-20 13:25:29 +01:00
Matteo Bruni
950c40b117
d3dx9: Handle pixel formats larger than 32 bits in surface loading / filtering functions.
2014-02-17 20:16:24 +01:00
Matteo Bruni
ac5664c879
d3dx9: Trace DDS pixel format.
2014-02-17 20:16:22 +01:00
Henri Verbeet
49a3dbc453
d3dx9: Avoid CONST.
2013-09-20 11:27:49 +02:00
Henri Verbeet
75511e351c
d3dx9: Avoid LPCSTR.
2013-09-02 18:02:48 +02:00
Henri Verbeet
2a24b11af5
d3dx9: Avoid LPWSTR.
2013-09-02 18:02:46 +02:00
Henri Verbeet
82710124e3
d3dx9: Avoid LPCWSTR.
2013-08-30 11:19:05 +02:00
Henri Verbeet
9595dd873e
d3dx9: Simplify D3DXLoadSurfaceFromResourceW().
2013-08-28 11:17:09 +02:00