Commit Graph

6488 Commits

Author SHA1 Message Date
Henri Verbeet 09fda3b805 d3d9: Improve d3d9_device_TestCooperativeLevel(). 2014-06-27 10:37:36 +02:00
Matteo Bruni b42fe709d6 wined3d: Validate and handle query size parameter. 2014-06-16 13:56:35 +02:00
Henri Verbeet fa312a32b2 wined3d: Add format information for WINED3DFMT_R8_UNORM. 2014-06-13 10:11:59 +02:00
Stefan Dösinger 3909215773 wined3d: Remove d3dfmt_p8_init_palette. 2014-06-11 16:14:38 +02:00
Andrei Slăvoiu fbdf618251 wined3d: Recognize cards that expose GLSL 1.30 as DX10 capable even if they don't support EXT_GPU_SHADER4. 2014-06-11 12:58:55 +02:00
Henri Verbeet 7b8aa8606c wined3d: Recognize the SM4 ishl opcode. 2014-05-20 09:44:25 +02:00
Henri Verbeet 3555eab8b9 wined3d: Recognize the SM4 dp2 opcode. 2014-05-20 09:44:21 +02:00
Henri Verbeet c81d3b7336 wined3d: Recognize the SM4 discard opcode. 2014-05-20 09:44:17 +02:00
Henri Verbeet 0fe183c299 wined3d: Increase the SM4 instruction length mask size. 2014-05-19 09:55:25 +02:00
Stefan Dösinger bdc396e4f5 wined3d: Fix indentation in d3dfmt_p8_init_palette. 2014-05-15 19:05:03 +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 3cd83f4d56 wined3d: Use GL_ALPHA8 for WINED3DFMT_P8_UINT surfaces. 2014-05-14 13:30:19 +02:00
Stefan Dösinger 7b049245f5 wined3d: Always provide P8 GL texture information. 2014-05-14 13:30:08 +02:00
Stefan Dösinger bfb5be0f4b wined3d: Remove WINED3D_CT_PALETTED_CK.
There's no difference between WINED3D_CT_PALETTED_CK and
WINED3D_CT_PALETTED with the palette index in the alpha channel.
2014-05-14 13:29:58 +02:00
Stefan Dösinger c1cca63e5d wined3d: Always store the palette index in the alpha component. 2014-05-14 13:29:52 +02:00
Stefan Dösinger fc25510fad wined3d: Remove wined3d_surface_get_palette. 2014-05-12 21:24:59 +02:00
Stefan Dösinger 46df06aae7 wined3d: Implement DDBLTFX_MIRRORUPDOWN for DXT2. 2014-05-12 21:24:49 +02:00
Joachim Priesner 3cd86c9f62 wined3d: Clear active lights when cleaning up a D3D stateblock.
This prevents dangling pointers as the light structures that the pointers in
the state->lights array point to are freed below when cleaning the light maps.
2014-05-09 20:03:43 +02:00
Stefan Dösinger 1558391a11 wined3d: Store RGBQUADs in palettes. 2014-05-07 20:21:56 +02:00
Stefan Dösinger 19f45af19c wined3d: Copy the DIB to sysmem when PIN_SYSMEM is set. 2014-05-07 20:21:55 +02:00
Stefan Dösinger 39212d2ffb wined3d: Remove broken gdi palette code. 2014-05-02 16:32:54 +02:00
Henri Verbeet 0eebe0515f wined3d: Fix a couple of string declarations. 2014-05-02 13:45:10 +02:00
Henri Verbeet 14e3f71c75 wined3d: Bump ps_1x_max_value.
Shader model 4 hardware should generally have real floats for everything, and
FLT_MAX matches the value from the Windows drivers for that kind of hardware.
OpenGL requires at least 2^10 for colors, and 2^32 for other floats.
2014-05-02 13:45:04 +02:00
André Hentschel 84c63435b4 wined3d: Add NVIDIA Geforce GTX 780 Ti to supported device list. 2014-04-23 17:31:17 +02:00
Henri Verbeet 5cf9fe1c63 wined3d: Get rid of surface_set_texture_target(). 2014-04-23 15:00:46 +02:00
Henri Verbeet 23eed88fde wined3d: Implement support for per-stage texture stage constants.
This patch is loosely based on an earlier patch by Christian Costa.
2014-04-23 15:00:43 +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 81fb749ecf wined3d: Introduce a separate function to calculate the pitch for a given format and width. 2014-04-23 15:00:14 +02:00
Henri Verbeet a1c63c2781 wined3d: Simplify the driver version info lookup in init_driver_info(). 2014-04-23 15:00:02 +02:00
Henri Verbeet 36d8d6bf8e wined3d: Ignore invalid PCI vendor/device overrides. 2014-04-22 11:26:31 +02:00
Andrew Sheldon 5ef54904f2 wined3d: Add NVIDIA Geforce GTX 780 to supported device list. 2014-04-21 17:08:04 +02:00
Matteo Bruni a1784d9ed9 wined3d: Add support for timestamp queries. 2014-04-17 13:53:00 +02:00
Matteo Bruni 4811a839cf wined3d: Add support for GL_ARB_timer_query extension. 2014-04-17 13:52:53 +02:00
Henri Verbeet 5b8d3a0c70 wined3d: Set the WINED3DPBLENDCAPS_SRCALPHASAT destination blend cap when ARB_blend_func_extended is supported. 2014-04-15 21:03:54 +02:00
Henri Verbeet 7f2ae9889d wined3d: Set VTF filter caps when VTF is supported. 2014-04-15 21:03:54 +02:00
Ryan Turner a69c488f08 wined3d: Add NVIDIA Geforce GTX 750 to device list. 2014-04-11 17:04:06 +02:00
Ryan Turner ed51082dd6 wined3d: Add NVIDIA Geforce GTX 760 to device list. 2014-04-09 19:17:21 +02:00
Stefan Dösinger 62f7ba2555 wined3d: Raise MaxPrimitiveCount and MaxVertexIndex. 2014-03-31 17:27:21 +02:00
Stefan Dösinger f3488d0fea wined3d: Translate shader model 2.0+ EXPP to EX2. 2014-03-27 18:57:50 +01:00
Stefan Dösinger 9ccaacf60d wined3d: Translate LOGP to LG2 in the ARB shader backend. 2014-03-27 18:57:46 +01:00
Stefan Dösinger c2541a5887 wined3d: Handle RCP in shader_hw_scalar_op. 2014-03-27 18:57:40 +01:00
Stefan Dösinger 5114507f19 wined3d: Handle LOG and LOGP in shader_hw_scalar_op. 2014-03-27 18:57:37 +01:00
Stefan Dösinger f20173e51b wined3d: Select the component by editing the swizzle. 2014-03-27 18:57:33 +01:00
Stefan Dösinger ebd5f96aea wined3d: Remove resource private data methods. 2014-03-24 20:20:18 +01:00
Ken Thomases f3aa481238 wined3d: Track if a context's private hdc has had its pixel format set, so we don't need to check it. 2014-03-24 20:20:14 +01:00
Ken Thomases 272873823e wined3d: Track if a context's hdc is private so we never need to restore its pixel format.
This currently only applies to the swapchain backup DC, but it will soon be
used for surfaces created using the WGL_WINE_surface extension.  Also, there
are a couple of cases where ddraw creates private windows and passes them in.
It could be extended to those.
2014-03-24 20:20:13 +01:00
Ken Thomases 57c51710e0 wined3d: When restoring pixel format in context_release(), mark the context as needing to be set on the next context_acquire().
If we had to restore the pixel format then we know it won't be what we need
when the app calls into wined3d again.  This helps avoid the GetPixelFormat()
in context_acquire().
2014-03-24 20:20:12 +01:00
Ken Thomases ffb357b717 wined3d: Don't call GetPixelFormat() to set a flag that's already set. 2014-03-24 20:20:12 +01:00
Ken Thomases 90d7f3e03f wined3d: Simplify the error path of context_update_window(). 2014-03-24 20:20:11 +01:00
Ken Thomases 03ca2b2932 wined3d: Don't leak the HDC of an invalid context in context_update_window().
If context_set_gl_context() fails, it marks the context as invalid.  It still
has an HDC, though, and context_update_window() would lose the reference to
it.
2014-03-24 20:20:10 +01:00
Stefan Dösinger 938529e1f9 wined3d: Remove the version parameter. 2014-03-20 19:04:37 +01:00
Stefan Dösinger 7d793715f3 ddraw: Use the new private store api. 2014-03-17 20:23:58 +01:00
Stefan Dösinger 6a34d4b40f wined3d: Decouple private data from the resource structure. 2014-03-14 18:54:48 +01:00
Henri Verbeet 64dd435e2a wined3d: Only use a single allocation for each struct private_data. 2014-03-13 20:22:01 +01:00
Stefan Dösinger 3754cdd793 wined3d: Correctly handle the size parameter in get_private_data. 2014-03-12 19:01:07 +01:00
Henri Verbeet a05dcd911e wined3d: Handle shader_arb_free_context_data() during context creation. 2014-03-11 19:39:38 +01:00
Stefan Dösinger ab6368b6e8 wined3d: Don't modify existing data if set_private_data fails. 2014-03-11 19:39:30 +01:00
Henri Verbeet ae63dee517 wined3d: Get rid of GL_VENDOR_INTEL. 2014-03-06 12:01:27 +01:00
Matteo Bruni 9c5c3a81ce wined3d: Free CS data on CS destruction. 2014-03-05 19:18:26 +01:00
Henri Verbeet 720f686874 wined3d: Recognize VMware SVGA3D.
Unfortunately I was only able to test this by overriding the GL_RENDERER and
GL_VENDOR strings returned by the driver.
2014-03-05 11:49:53 +01:00
Henri Verbeet c1032e977b wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps. 2014-03-04 11:50:54 +01:00
Stefan Dösinger dfbff712f4 wined3d: surface_load_ds_location can handle WINED3D_LOCATION_DISCARDED. 2014-03-03 17:46:46 +01:00
Henri Verbeet b40eda767b wined3d: Also trace "mem" and "pitch" in wined3d_surface_update_desc(). 2014-03-03 17:02:25 +01:00
Ken Thomases 4c4552c5a1 wined3d: Restore the pixel format of the window whose pixel format was actually changed. 2014-02-22 08:41:55 -06:00
Ken Thomases b8569d2f30 wined3d: Make context_update_window() just mark the GL context as needing to be set rather than setting it. 2014-02-22 08:41:51 -06:00
Ken Thomases baa85a097a wined3d: Use a separate flag to track if the GL context needs to be made current.
The new needs_set flag can be cleared after it's been heeded whereas restore_ctx
must not be cleared until the context has been released back to level 0.
2014-02-22 08:41:47 -06:00
Ken Thomases 2d1e67ee68 wined3d: Remove redundant call to context_set_pixel_format() from context_update_window().
It calls context_set_gl_context() just after and that starts with a call to
context_set_pixel_format().  Also, context_update_window() didn't do the
right thing (fall back to swapchain backup DC) if context_set_pixel_format()
fails.
2014-02-22 08:41:42 -06:00
Ken Thomases 088dd7289c wined3d: Call context_enter() before context_update_window() so it records the proper restore state. 2014-02-22 08:41:38 -06:00
Martin Storsjo 1275525789 wined3d: Use an rbtree for storing shaders for texture format conversion/blitting. 2014-02-17 20:16:30 +01:00
Martin Storsjo 171529106b wined3d: Add support for NV12 textures. 2014-02-17 20:16:29 +01:00
Stefan Dösinger 2728e7b887 wined3d: Reject height scaled repacked np2 textures. 2014-02-12 19:15:32 +01:00
Stefan Dösinger 6583379077 wined3d: Don't use NP2 repacking for RECT textures. 2014-02-12 19:15:31 +01:00
Martin Storsjo fd21351947 wined3d: Fix the YV12 illustration. 2014-02-12 19:15:30 +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
Martin Storsjo 963c26b36f wined3d: Fix clamping in reading rectangular YV12 textures.
The lower bound for chroma components is size.y + 1/2, not
size.y - 1/2.
2014-02-11 19:20:08 +01:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Ken Thomases 59226e36b7 wined3d: Don't clear the GL context if it's not the one being destroyed by context_destroy_gl_resources().
The previous code clears the GL context if the context being destroyed is
not valid, even though the current one is some arbitrary, unrelated context.
2014-02-06 17:08:09 +01:00
Ken Thomases 75d53c9aed wined3d: Don't clear the GL context such that it can't be restored. 2014-02-06 17:08:08 +01:00
Henri Verbeet 82b38139eb wined3d: Also destroy the logo and cursor textures in wined3d_device_reset() when resetting state. 2014-01-30 17:48:35 +01:00
Henri Verbeet 175c63773d wined3d: Don't allow format conversion on Present() for d3d8.
Note that this isn't currently enforced by wined3d_swapchain_create() or
wined3d_device_reset() though.
2014-01-29 20:25:52 +01:00
Ken Thomases d2c56a6027 wined3d: Improve CheckDeviceType() support for windowed mode.
For windowed mode:
* It doesn't matter if there are no adapter modes for the display format.
* A backbuffer format is valid so long as there's support for color conversion
 to the display format.
* A backbuffer format of D3DFMT_UNKNOWN is allowed and means that it should be
 the same as the display format.
2014-01-28 19:38:47 +01:00
Stefan Dösinger 9f72f78431 wined3d: Set buffer->map_ptr to NULL on unmap. 2014-01-27 17:39:47 +01:00
Stefan Dösinger d640018a3c wined3d: Only set SFLAG_DYNLOCK when map_binding = sysmem.
All other map bindings are never freed. Setting SFLAG_DYNLOCK if
map_binding != sysmem might only keep a heap memory allocation around
(e.g. after device_reset) that is never used.
2014-01-17 18:10:18 +01:00
Stefan Dösinger 5630cb5dc8 wined3d: Don't set SFLAG_DYNLOCK at surface creation.
We no longer depend on SFLAG_DYNLOCK to create buffers and PIN_SYSMEM
makes sure the address remains constant.
2014-01-17 18:10:13 +01:00
Stefan Dösinger b81e560531 wined3d: Migrate surfaces to the new location flags. 2014-01-17 18:10:10 +01:00
Stefan Dösinger beb64c9998 wined3d: Separate surface locations and flags. 2014-01-17 18:10:08 +01:00
Stefan Dösinger 00923cb50c wined3d: Remove surface_ops->map. 2014-01-17 18:10:05 +01:00
Stefan Dösinger f1ac04f2a6 wined3d: Add a missing break. 2014-01-17 16:22:51 +01:00
Stefan Dösinger 65bc678fcc wined3d: Prevent blits to surfaces that will be converted. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 09dbba00d0 wined3d: Remove surface_init_sysmem. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 10a8b2cd7f wined3d: Remove resource->allocatedMemory. 2014-01-16 21:04:19 +01:00
Stefan Dösinger abb620ed2e wined3d: Sysmem can be freed when user memory is used. 2014-01-16 21:04:19 +01:00
Stefan Dösinger 2b8e900ac4 wined3d: Give buffers their own location. 2014-01-15 20:03:53 +01:00
Stefan Dösinger 321cd8e825 wined3d: Decide about PBO use at surface creation time. 2014-01-15 20:03:47 +01:00
Stefan Dösinger 7c052171d6 wined3d: Remove SFLAG_PBO. 2014-01-15 20:03:35 +01:00
Stefan Dösinger 035012d5aa wined3d: Load textures from dib without copying to sysmem first. 2014-01-15 20:03:33 +01:00
Stefan Dösinger 42927d0e9d wined3d: Add INDIB and INUSERMEM to resource_access_from_location. 2014-01-15 20:03:31 +01:00
Stefan Dösinger d0823eb4f0 wined3d: Re-enable mapping into the DIB. 2014-01-14 20:18:25 +01:00
Stefan Dösinger 9665884766 wined3d: Don't map the surface in getdc.
This avoids bouncing the content between the map binding and DIB.
2014-01-14 20:18:25 +01:00