Commit graph

1804 commits

Author SHA1 Message Date
Connor McAdams f9676836d6 d3dx9: Fix destination rectangles passed from D3DXLoadSurfaceFromMemory() to d3dx_load_image_from_memory().
d3dx_load_image_from_memory() expects the address of the dst_memory
argument to represent the top left corner of the surface. If a surface
is locked using a rectangle that doesn't start at the top left corner
of the surface, the rectangle we pass to d3dx_load_image_from_memory()
needs to be adjusted so that it properly represents the locked area.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-05-15 22:51:33 +02:00
Connor McAdams e6f79a8059 d3dx9: Only do direct copies of full blocks for compressed formats.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-05-15 22:51:33 +02:00
Connor McAdams 7ebd102886 d3dx9/tests: Add a new compressed surface loading test.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-05-15 22:51:33 +02:00
Connor McAdams c04d5622ac d3dx9/tests: Add a test for negative values in the source rectangle passed to D3DXLoadSurfaceFromMemory.
This behavior is mentioned in the wine code documentation comment for
this function as being allowed, but the behavior is not tested.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-05-15 22:51:33 +02:00
Jacek Caban 7b15890fe8 d3dx9/tests: Remove xfile dumping functionality. 2024-05-13 21:05:04 +02:00
Nikolay Sivov d01ae1512f d3dcompiler: Set correct compilation target for effects profiles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 08:31:51 +01:00
Connor McAdams ec44170322 d3dx9: Preserve the contents of unaligned compressed destination surfaces.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams a1381fbedb d3dx9: Split off image decompression into a helper function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams 7ff4e5672d d3dx9: Split D3DXLoadSurfaceFromMemory functionality into a separate function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams 20b50c0096 d3dx9: Use base image pointer when decompressing source image.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Connor McAdams b5cd4c471a d3dx9/tests: Add more tests for misaligned compressed surface loading.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2024-03-07 22:56:12 +01:00
Alexandre Julliard 1c95001f8f d3dx9/tests: Mark failing tests as todo.
Triggered by the vkd3d 1.11 import.
2024-03-07 22:56:12 +01:00
Matteo Bruni bc1ba43942 d3dx9: Check for successful sprite draw in DrawTextW(). 2023-12-06 23:09:44 +01:00
Alex Henrie 17da2665e2 d3dx9: Use CRT allocation functions. 2023-12-04 22:10:21 +01:00
Alex Henrie bc13bda5ee d3dx9_36/tests: Use CRT allocation functions. 2023-11-28 22:58:42 +01:00
Nikolay Sivov c944db5fc0 d3dx9/tests: Fix a crash when d3d9 object can't be created. 2023-11-27 22:39:52 +01:00
Paul Gofman 557a4e061b d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:40 +01:00
Paul Gofman 8da63cf548 d3dx9: Factor out mesh_get_parse_func(). 2023-11-24 22:27:39 +01:00
Paul Gofman 6348888a41 d3dx9: Unify calling parse_mesh helper functions. 2023-11-24 22:27:39 +01:00
Paul Gofman 6787e3c365 d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:39 +01:00
Paul Gofman 8be03417fd d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory(). 2023-11-24 22:27:39 +01:00
Nikolay Sivov ddf3b418ed d3dx9/effect: Rename effect initialization helper. 2023-11-15 10:40:53 +01:00
Alexandre Julliard 7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Alex Henrie c7d9c4a8b6 d3dx9_36: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 21:37:01 +02:00
Nikolay Sivov f690784338 d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-13 22:49:29 +02:00
Alexandre Julliard 1255764ad5 makefiles: Remove unnecessary imports of usp10.dll.
The functions are in gdi32 nowadays.
2023-10-12 10:45:23 +02:00
Alistair Leslie-Hughes 21e91690b1 d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory(). 2023-10-09 20:51:37 +02:00
Matteo Bruni 526909f8b1 d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest(). 2023-10-09 20:51:37 +02:00
Alistair Leslie-Hughes cef39a24ee d3dx9: Trace pointer value in D3DXValidMesh(). 2023-09-27 21:42:52 +02:00
Paul Gofman e802019d47 d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace(). 2023-09-15 18:34:11 +02:00
Paul Gofman 629c2f90d6 d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace(). 2023-09-15 18:34:11 +02:00
Alexandre Julliard 47cd5b1499 d3dx9/tests: Use nameless unions/structs. 2023-08-15 18:56:45 +02:00
Jeff Smith c449da64e1 d3dx9_36/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 11:57:21 +09:00
Alistair Leslie-Hughes 36ef8327ac d3dx9_36: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Matteo Bruni 3149d84502 d3dx9/tests: Use test contexts in test_effect_commitchanges().
And do some mandatory cleanup while at it.
2023-07-04 20:46:07 +02:00
Matteo Bruni 4acb858fc6 d3dx9/tests: Use test contexts in test_effect_preshader_ops(). 2023-07-04 20:46:06 +02:00
Matteo Bruni e39e904392 d3dx9/tests: Get rid of unnecessary checks in test_effect_states(). 2023-07-04 20:46:06 +02:00
Matteo Bruni f529c5db4d d3dx9/tests: Use test contexts in test_effect_parameter_value().
And give a good clean up to the test and all its helpers.
2023-07-04 20:46:05 +02:00
Matteo Bruni 321efd4441 d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni f504db74a9 d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni 06eede965a d3dx9/tests: Use test message contexts in test_ID3DXFont(). 2023-07-04 20:46:05 +02:00
Matteo Bruni 64d9bc872b d3dx9/tests: Get rid of unnecessary checks. 2023-07-04 20:46:05 +02:00
Eric Pouech 8031d00fed d3dx9/tests: Clean up some ok() messages. 2023-07-04 20:46:05 +02:00
Matteo Bruni a3ad4a5066 d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
Otherwise it fails for me on 32-bit Linux with my current compiler.
2023-07-04 20:46:03 +02:00
Paul Gofman 0b9620266f d3dx9: Fix dst pitch for compressed format in D3DXLoadSurfaceFromMemory().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54901
2023-05-02 22:21:30 +02:00
Stefan Dösinger 6d41756ce1 d3dx9: Load D3DAssemble via GetProcAddress.
This allows linking our d3dx9.dll to Microsoft's d3dcompiler.lib implib.
2023-04-27 20:22:45 +02:00
Stefan Dösinger 9e99c6f66d d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics. 2023-04-18 21:33:17 +02:00
Stefan Dösinger 54890fe3c4 d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
MSVC doesn't support "name...".
2023-04-18 21:33:17 +02:00
Nikolay Sivov 94da4fc44e d3dx9: Partially implement D3DXFillCubeTextureTX().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-01-27 13:39:48 +01:00
Nikolay Sivov 1908d0b385 d3dx9: Fix ARGB texture fills with negative component values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-01-27 13:39:48 +01:00