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