Marcus Meissner
49828372c1
wined3d: Fixed a operator precedence issue (Coverity).
2011-05-05 17:28:37 +02:00
Matteo Bruni
4f96f4f467
wined3d: Fix pow handling with special values in ARB backend.
2011-05-05 17:26:12 +02:00
Henri Verbeet
86b0c6bd7b
wined3d: Rename "shader_backend_t" to "wined3d_shader_backend_ops".
...
This makes it more consistent with the other call table names in wined3d.
2011-05-05 11:45:22 +02:00
John Edmonds
d9f8cba50f
wined3d: Turn off message filtering temporarily in the Reset() method to allow certain messages (e.g. WM_ACTIVATEAPP) through.
2011-05-04 20:42:34 +02:00
Francois Gouget
6c8c68f7b6
wined3d: Make wined3d_event_query_test() and resource_get_type() static.
2011-05-03 14:38:06 +02:00
Henri Verbeet
0116af3703
wined3d: Cleanup surfaces only once.
2011-05-03 14:38:06 +02:00
John Edmonds
2fb6b509cb
wined3d: If Wine fails to acquire the focus window, allow the wndproc function to continue receiving messages.
2011-05-02 12:59:10 +02:00
Adam Martinson
f912e55610
wined3d: Fix an oops/crash in context_destroy_gl_resources().
...
Introduced by 96b150929b
.
2011-05-02 12:54:25 +02:00
Henri Verbeet
c4b73c4550
wined3d: Get rid of the IWineD3DSurface typedefs.
2011-04-29 16:52:13 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
ab199f56a6
wined3d: Merge the IWineD3DSurface::Blt() implementations.
2011-04-29 16:52:13 +02:00
Henri Verbeet
29c95df7c3
wined3d: Merge the IWineD3DSurface::BltFast() implementations.
2011-04-29 16:52:12 +02:00
Henri Verbeet
0b523df93c
wined3d: Merge the IWineD3DSurface::Flip() implementations.
2011-04-29 16:52:12 +02:00
Matteo Bruni
eba8fd0b77
wined3d: Remove an unused field.
2011-04-28 16:47:14 +02:00
Matteo Bruni
9da924039f
wined3d: Split pow instruction handling in the ARB backend.
2011-04-28 12:12:18 +02:00
Matteo Bruni
db8d681a5b
wined3d: Remove rcp special handling of 0 from the ARB shader backend.
2011-04-28 12:11:55 +02:00
Matteo Bruni
0210a8384a
wined3d: Add missing temporary variable declaration to ARB shader backend.
2011-04-28 12:11:53 +02:00
Henri Verbeet
c5baf8f237
wined3d: Merge the IWineD3DSurface::SetFormat() implementations.
2011-04-28 11:08:55 +02:00
Henri Verbeet
92120cb527
wined3d: Merge the IWineD3DSurface::SetMem() implementations.
2011-04-28 11:08:51 +02:00
Henri Verbeet
a5febcf7a1
wined3d: Merge the IWineD3DSurface::ReleaseDC() implementations.
2011-04-28 11:08:45 +02:00
Henri Verbeet
dcaca7225b
wined3d: Merge the IWineD3DSurface::GetDC() implementations.
2011-04-28 11:08:36 +02:00
Henri Verbeet
13146e216f
wined3d: Merge the IWineD3DSurface::PreLoad() implementations.
2011-04-28 11:08:27 +02:00
Henri Verbeet
34ba20fe35
wined3d: Merge the IWineD3DSurface::Unmap() implementations.
2011-04-27 11:50:53 +02:00
Henri Verbeet
825341e7c2
wined3d: Merge the IWineD3DSurface::Map() implementations.
2011-04-27 11:50:48 +02:00
Henri Verbeet
a2ef014342
wined3d: Merge the IWineD3DSurface::Release() implementations.
2011-04-27 11:50:41 +02:00
Henri Verbeet
d9ace3c9f7
wined3d: Only invalidate the INDRAWABLE location for onscreen surfaces in surface_realize_palette().
...
For offscreen surfaces this might actually remove the texture we just loaded.
2011-04-27 11:50:35 +02:00
Henri Verbeet
a05841bd1a
wined3d: Rename "pCaps" to "caps".
2011-04-27 11:50:29 +02:00
Henri Verbeet
3f0120241b
wined3d: Enable SM3 if ARB_shader_texture_lod is supported.
2011-04-26 10:46:52 +02:00
Henri Verbeet
9d0e17e9ea
wined3d: Either set SM3 for both vertex and fragment shaders or for neither.
2011-04-26 10:46:45 +02:00
Henri Verbeet
f63a84be61
wined3d: Merge surface_base.c into surface.c.
2011-04-26 10:46:40 +02:00
Henri Verbeet
11d44809bb
wined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface.
2011-04-26 10:46:23 +02:00
Stefan Dösinger
dbc8702e44
wined3d: Scale the depthbias factor by the depth buffer's depth.
2011-04-22 17:51:29 +02:00
Stefan Dösinger
96b758f7b3
d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
...
ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.
2011-04-22 17:51:29 +02:00
Henri Verbeet
c852200b03
wined3d: Get rid of IWineD3DSurface::GetType().
2011-04-22 10:44:28 +02:00
Henri Verbeet
cc39bde98d
wined3d: Get rid of wined3d_volume_get_type().
2011-04-22 10:44:23 +02:00
Henri Verbeet
efc080e3a3
wined3d: Get rid of wined3d_buffer_get_type().
2011-04-22 10:44:20 +02:00
Henri Verbeet
82e39ced7f
wined3d: Make sure we release the correct DC in context_update_window().
2011-04-22 10:44:16 +02:00
Henri Verbeet
f6e4f4a122
wined3d: Get rid of the mipmap hint code.
...
Mipmap hint isn't a texture parameter, but a global hint. This never worked,
it just causes GL errors.
2011-04-21 16:53:41 +02:00
Matteo Bruni
a3c12c5be4
wined3d: Fallback to our private window when context activation fails otherwise.
2011-04-20 16:31:48 +02:00
Matteo Bruni
edebabc2ec
wined3d: Add two functions for GL context activation/restore.
2011-04-20 16:31:45 +02:00
Henri Verbeet
0de0e81793
wined3d: Decrement the vertex declaration refcount on stateblock destruction.
2011-04-20 13:06:35 +02:00
Henri Verbeet
e30a057487
wined3d: Don't bother unsetting texture resources in IWineD3DDeviceImpl_Uninit3D().
...
Releasing the stateblock already takes care of this.
2011-04-19 13:29:36 +02:00
Henri Verbeet
4651746102
wined3d: Set resource bindings to NULL before releasing them on stateblock destruction.
...
To prevent ERRs from device_resource_released().
2011-04-19 13:29:32 +02:00
Henri Verbeet
516ade9b2b
wined3d: Also update ds_current_size if there's no current DS location in surface_load_ds_location().
2011-04-19 13:29:28 +02:00
Henri Verbeet
84d50f7353
wined3d: Remove IWineD3DSurface::GetImplType() from the public interface.
2011-04-18 11:45:55 +02:00
Henri Verbeet
52edf556f6
wined3d: Merge surface_gdi.c into surface.c.
2011-04-18 11:45:51 +02:00
Henri Verbeet
38800d8e9a
wined3d: Forward volume refcounts to the container.
2011-04-18 11:45:20 +02:00
Henri Verbeet
fadfdf21c0
wined3d: Forward surface refcounts to the container.
...
This will prevent textures from being released if one of its surfaces is still
in use by the stateblock. We have similar constructions in d3d8 and d3d9, but
those won't prevent the wined3d texture from being released.
2011-04-18 11:45:17 +02:00
Henri Verbeet
a5983e0c3d
wined3d: Use the correct mask for depth/stencil locations in surface_load_ds_location().
2011-04-18 11:45:09 +02:00
Henri Verbeet
6a135a1511
wined3d: Get rid of the IWineD3DBase interface.
2011-04-15 10:07:58 +02:00
Henri Verbeet
7b8bbdcc44
wined3d: Get rid of the IWineD3DResource interface.
2011-04-15 10:07:58 +02:00
Henri Verbeet
66875c6dc7
wined3d: Don't flush just because a swapchain has multiple contexts.
...
If you really have e.g. multiple draws to the same drawable, this is not
enough, and you should use the StrictDrawOrdering registry setting. In the
other cases it just slows things down unnecessarily.
2011-04-15 10:07:58 +02:00
Henri Verbeet
89a4e696a2
wined3d: Get rid of the IWineD3DVolume typedefs.
2011-04-15 10:07:58 +02:00
Henri Verbeet
2c450571e5
wined3d: Remove COM from the volume implementation.
2011-04-15 10:07:57 +02:00
Henri Verbeet
be378c6529
wined3d: Decrement the refcount in wined3d_query_decref().
2011-04-14 17:13:57 +02:00
Henri Verbeet
c1575cb65c
wined3d: Get rid of the unused vSyncCounter swapchain field.
2011-04-14 17:13:57 +02:00
Henri Verbeet
d30da7ae39
wined3d: Get rid of the IWineD3DSwapChain typedefs.
2011-04-14 17:13:57 +02:00
Henri Verbeet
3ec19590d5
wined3d: Remove COM from the swapchain implementation.
2011-04-14 17:13:57 +02:00
Henri Verbeet
178061d3c1
wined3d: Merge the GL and GDI swapchain vtbls.
2011-04-14 17:13:56 +02:00
Stefan Dösinger
c79864f871
wined3d: Only acquire a context in buffer::PreLoad if we have to.
2011-04-13 16:03:27 +02:00
Henri Verbeet
7ace689742
wined3d: Take hDestWindowOverride into account in IWineGDISwapChainImpl_Present().
2011-04-13 14:13:52 +02:00
Henri Verbeet
926dfc5c49
wined3d: Merge the IWineD3DSwapChain::SetDestWindowOverride() implementations.
2011-04-13 14:13:51 +02:00
Henri Verbeet
3068ae9e83
wined3d: Remove IWineD3DSwapChain::Destroy() from the public interface.
2011-04-13 14:13:51 +02:00
Henri Verbeet
d2e665230a
wined3d: Get rid of the swapchain destroy callback.
2011-04-13 14:13:51 +02:00
Stefan Dösinger
5627ee49ea
wined3d: Remove FLOAT16 vertex attribute conversion support.
...
All mayor drivers support GL_ARB_half_float_vertex now and the half
float conversion doesn't work well in practise. The only game that was
ever playable with it was Eve online.
2011-04-12 17:42:12 +02:00
Stefan Dösinger
46d879eef6
wined3d: Don't drop VBOs for full buffer reloading without conversion.
2011-04-12 17:42:12 +02:00
Henri Verbeet
17c51d49b7
wined3d: Flush after accessing the front buffer in flush_to_framebuffer_drawpixels().
2011-04-11 23:54:09 +02:00
Henri Verbeet
55e957a31a
wined3d: Flush after accessing the front buffer in surface_blt_fbo().
2011-04-11 23:54:05 +02:00
Henri Verbeet
68c4a1b61a
wined3d: Depth-only clears are done offscreen.
...
This fixes a regression introduced by commit
99bfd81714
.
2011-04-11 23:54:01 +02:00
Henri Verbeet
84103460bd
wined3d: Check FBO completeness after the read / draw buffers are specified.
...
Unless the driver implements ARB_ES2_compatibility / GL4.1, FBO completeness
depends on what read / draw buffers are set.
2011-04-11 11:50:51 +02:00
Henri Verbeet
8e12b2e61e
wined3d: Set the read buffer to GL_NONE for draws and clears on an FBO.
...
For the benefit of depth-only draws and clears, that would otherwise fail FBO
completeness, unless the driver supports ARB_ES2_compatibility.
2011-04-11 11:50:48 +02:00
Henri Verbeet
2f3c147ab2
wined3d: Only set draw buffers that are explicitly specified in context_apply_draw_buffers().
...
Anything that isn't explicitly specified is set to GL_NONE by
glDrawBuffersARB().
2011-04-11 11:50:44 +02:00
Henri Verbeet
bf99c0248f
wined3d: Explicitly handle 0 rt_count right at the start of context_apply_draw_buffers().
...
It's trivial, and allows the rest of the code to assume at least 1 render
target is present.
2011-04-11 11:50:40 +02:00
Henri Verbeet
dd2c7d0d8c
wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
...
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet
d19c3588bc
wined3d: Merge the IWineD3DSwapChain::Destroy() implementations.
...
They're mostly the same, except for the GL version also destroying its
contexts, and being a bit more careful about the order in which backbuffers
are destroyed.
2011-04-08 14:40:43 +02:00
Henri Verbeet
28137ba2e9
wined3d: Only create a swapchain context array for GL swapchains.
...
Lying about the number of contexts a swapchain has isn't very useful.
2011-04-08 14:40:39 +02:00
Henri Verbeet
032c374307
wined3d: Merge swapchain_base.c into swapchain.c.
2011-04-07 19:27:01 +02:00
Henri Verbeet
0a174ae542
wined3d: Merge swapchain_gdi.c into swapchain.c.
2011-04-07 19:26:50 +02:00
Henri Verbeet
617efafecf
wined3d: Don't use IWineD3DDeviceImpl_GetSwapChain() in IWineD3DDeviceImpl_Present().
...
It adds COM overhead and validation of the swapchain index, but we already
know the index is valid.
2011-04-07 19:26:19 +02:00
Henri Verbeet
fb4c7e9f9b
wined3d: Rename "NumberOfSwapChains" to "swapchain_count".
2011-04-06 21:18:16 +02:00
Henri Verbeet
5555531950
wined3d: Rename "NumberOfPalettes" to "palette_count".
2011-04-06 21:18:11 +02:00
Henri Verbeet
9d405473d0
wined3d: Don't unregister windows with the wrong window proc on unload either.
...
This is the same issue as 7a354177b3
, just on
wined3d unload this time.
2011-04-06 21:18:06 +02:00
Henri Verbeet
a96f749ce0
wined3d: Add support for depth blits to the blitter.
2011-04-06 21:17:48 +02:00
Henri Verbeet
2ab5b833d7
wined3d: Remove COM from the rendertarget view implementation.
2011-04-06 12:05:07 +02:00
Henri Verbeet
519a3a9162
wined3d: Add depth fills to the blitter interface.
2011-04-06 12:05:07 +02:00
Henri Verbeet
99bfd81714
wined3d: Allow depth and stencil clears on surfaces other than the current depth / stencil buffer.
2011-04-06 12:05:06 +02:00
Henri Verbeet
419d6e9acd
wined3d: Introduce a separate function for depth fills.
2011-04-06 12:05:06 +02:00
Henri Verbeet
90da00927e
wined3d: Make "blit_operation" naming a bit more consistent.
2011-04-06 12:05:06 +02:00
Henri Verbeet
b372faec3c
wined3d: Correctly check if the destination format is FBO attachable in fbo_blit_supported().
...
Like ca381b610c
, this was introduced by
f1ca14cb5b
.
2011-04-05 11:14:04 +02:00
Henri Verbeet
032f8702ed
wined3d: Fix partial depth buffer copies.
...
Don't overwrite the entire buffer if only part of it is not current. The data
we're copying may not be completely current either. This is for the case where
the inner rect is not current and the outer edge is. The reverse case where
the inner rect is current and we need to mask already works correctly.
2011-04-05 11:13:46 +02:00
Henri Verbeet
0ce17ea27e
wined3d: Don't bother setting a depth render buffer for WINED3DFMT_NULL render targets.
2011-04-05 11:13:39 +02:00
Matteo Bruni
77face22d5
wined3d: Get rid of context_validate.
...
It should not be needed anymore, now the wined3d context is implicitly
validated on GL context activation. The check itself wasn't reliable
because of some threading issues and it also brought a small performance hit.
2011-04-04 12:25:56 +02:00
Henri Verbeet
ae58e47ca0
wined3d: Introduce a helper function for translating blend operations.
2011-04-04 11:53:50 +02:00
Henri Verbeet
6aa02f11ea
wined3d: Fix ARB_0001 with pixel shaders in arb_get_helper_value().
2011-04-04 11:53:45 +02:00
Matteo Bruni
06ef87ceb1
wined3d: Better handle some instances when we can't make the required GL context current.
2011-04-01 11:50:20 +02:00
Matteo Bruni
0322114cd6
wined3d: Fix an error message.
2011-04-01 11:50:05 +02:00
Henri Verbeet
02480a902e
wined3d: Get rid of the ARB_imaging extension.
2011-03-31 23:47:00 +02:00
Henri Verbeet
97a5336ca9
wined3d: Fix the EXT_blend_subtract extension definitions.
2011-03-31 23:46:51 +02:00
Henri Verbeet
e4e28c47ea
wined3d: Fix the EXT_blend_color extension definitions.
2011-03-31 23:43:14 +02:00
Henri Verbeet
f8507d6061
wined3d: Fix the EXT_blend_minmax extension definitions.
2011-03-31 23:43:05 +02:00
Henri Verbeet
692aa004d0
wined3d: Rename "numContexts" to "context_count".
2011-03-31 12:37:47 +02:00
Henri Verbeet
8fe80e18b2
wined3d: Get rid of the IWineD3DBaseShader typedefs.
2011-03-31 12:37:47 +02:00
Henri Verbeet
f8f83ff2f7
wined3d: Remove COM from the shader implementation.
2011-03-31 12:37:46 +02:00
Henri Verbeet
5555d904be
wined3d: Get rid of IWineD3DBaseShaderClass.
2011-03-31 12:37:46 +02:00
Henri Verbeet
45fd0d4e7a
wined3d: Merge the IWineD3DBaseShader implementations.
2011-03-31 12:37:46 +02:00
Henri Verbeet
99bed5d41d
wined3d: Get rid of IWineD3DPixelShaderImpl.
2011-03-30 12:18:20 +02:00
Henri Verbeet
4674b94d23
wined3d: Get rid of struct wined3d_geometryshader.
2011-03-30 12:18:14 +02:00
Henri Verbeet
dab01d435e
wined3d: Get rid of IWineD3DVertexShaderImpl.
2011-03-30 12:18:09 +02:00
Henri Verbeet
3d4fe0b750
wined3d: Get rid of IWineD3DPixelShader.
2011-03-30 12:18:03 +02:00
Henri Verbeet
9ea2ee5f4e
wined3d: Get rid of IWineD3DGeometryShader.
2011-03-30 12:17:56 +02:00
Henri Verbeet
49725ba583
wined3d: Get rid of IWineD3DVertexShader.
2011-03-30 12:17:51 +02:00
Henri Verbeet
c9ba0949c2
Revert "wined3d: Prevent crash when blit_priv is NULL.".
...
This reverts commit 37aadc9e37
.
This patch was superseded by b2132202c7
.
2011-03-30 12:17:44 +02:00
Henri Verbeet
57d70bfdda
wined3d: Move IWineD3DVertexShader::SetLocalConstantsF() to IWineD3DBaseShader.
2011-03-29 12:34:59 +02:00
Henri Verbeet
19e66a0dc9
wined3d: Replace "is_srgb" in wined3d_texture with a flag.
2011-03-29 12:34:54 +02:00
Henri Verbeet
0e22aea01e
wined3d: Replace "pow2_matrix_identity" in wined3d_texture with a flag.
2011-03-29 12:34:49 +02:00
Henri Verbeet
e111acdf11
wined3d: Replace "cond_np2" in wined3d_texture with a flag.
2011-03-29 12:34:44 +02:00
Henri Verbeet
c5bf96c951
wined3d: Get rid of IWineD3DBaseTextureClass.
2011-03-29 12:34:40 +02:00
Konrad Rzepecki
e1524883c1
wined3d: Implement WINED3DFMT_YUY2 to WINED3DFMT_B5G6R5_UNORM conversion function.
2011-03-29 12:20:04 +02:00
Konrad Rzepecki
37aadc9e37
wined3d: Prevent crash when blit_priv is NULL.
2011-03-29 12:19:48 +02:00
Maarten Lankhorst
d19f840361
wined3d: Fix a clipping issue with D3DSPSM_SIGNNEG.
2011-03-28 18:42:37 +02:00
Roderick Colenbrander
b2132202c7
wined3d: Check for ARB_fragment_program in arbfp_blit_supported.
2011-03-28 18:35:28 +02:00
Marcus Meissner
14d246665b
wined3d: Mark up fallthrough breaks (Coverity).
2011-03-28 17:11:06 +02:00
Henri Verbeet
eb5bfad18d
wined3d: Get rid of the IWineD3DBaseTexture typedefs.
2011-03-28 17:08:52 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
87087f379f
wined3d: Merge the texture implementations.
2011-03-28 17:08:52 +02:00
Henri Verbeet
85f2348549
wined3d: Get rid of the IWineD3DBase requirement for surface_set_container().
...
This made sense back when we needed the container's parent and didn't know the
container's type, but neither of those is true anymore.
2011-03-28 17:08:52 +02:00
Henri Verbeet
96a8417a21
wined3d: Merge the texture cleanup functions.
2011-03-18 15:59:05 +01:00
Henri Verbeet
d30d9d5e49
wined3d: Merge the IWineD3DBaseTexture::AddDirtyRegion() implementations.
2011-03-18 15:59:04 +01:00
Henri Verbeet
afa93a5b58
wined3d: Get rid of IWineD3DCubeTextureImpl.
2011-03-18 15:59:04 +01:00
Henri Verbeet
b8c40f3a7e
wined3d: Get rid of IWineD3DCubeTexture.
2011-03-18 15:59:04 +01:00
Henri Verbeet
b17d64923e
wined3d: Don't use surface_from_resource() to retrieve volumes.
...
This happened to work because the field offsets are the same.
2011-03-17 10:42:09 +01:00
Henri Verbeet
09b4ed2e75
wined3d: Get rid of IWineD3DBaseTexture::IsCondNP2().
2011-03-17 10:41:54 +01:00
Henri Verbeet
2d4bce87ba
wined3d: Get rid of IWineD3DTextureImpl.
2011-03-17 10:41:41 +01:00
Henri Verbeet
f1ec3820d7
wined3d: Get rid of IWineD3DTexture.
2011-03-17 10:40:52 +01:00
Stefan Dösinger
82f6410bfc
wined3d: Disable the depth stencil if it is smaller than the primary color buffer.
...
This way we get correct behavior if the application has depth and stencil related tests
disabled. If we attach the depth stencil GL limits the framebuffer size to the smallest
surface, making some parts of the framebuffer inaccessible.
2011-03-16 16:31:53 +01:00
Stefan Dösinger
0fc6381bc7
wined3d: Check the framebuffer setup in ValidateDevice.
2011-03-16 16:31:53 +01:00
Stefan Dösinger
38c213ecda
wined3d: Ignore clears when the framebuffer setup is broken.
2011-03-16 16:31:53 +01:00
Francois Gouget
60b63fea4e
wined3d: Make IWineD3DVolumeImpl_GetResource() static.
2011-03-16 14:14:23 +01:00
Roderick Colenbrander
d003215ab4
wined3d: Add latest Nvidia GPUs.
2011-03-16 14:14:22 +01:00
Roderick Colenbrander
b1a97099e7
wined3d: Update Nvidia Geforce6+ driver version.
2011-03-16 14:14:22 +01:00
Henri Verbeet
f77c0e36a4
wined3d: Get rid of IWineD3DVolumeTextureImpl.
2011-03-16 14:14:22 +01:00
Henri Verbeet
ed0037854a
wined3d: Get rid of IWineD3DVolumeTexture.
2011-03-16 14:14:21 +01:00
Henri Verbeet
6110fe3a82
wined3d: Use the correct resource_ops in cubetexture_unload().
2011-03-16 14:14:21 +01:00
Henri Verbeet
4a10bbc76d
wined3d: Generalize AddDirtyRect() / AddDirtyBox() to AddDirtyRegion().
2011-03-15 17:14:07 +01:00
Henri Verbeet
e409b83bcb
wined3d: Get rid of IWineD3DVolumeTexture::Unmap().
2011-03-15 17:14:06 +01:00
Henri Verbeet
4c3d55f10e
wined3d: Get rid of IWineD3DVolumeTexture::Map().
2011-03-15 17:14:06 +01:00
Henri Verbeet
3494106d77
wined3d: Get rid of IWineD3DCubeTexture::Unmap().
2011-03-14 12:39:27 +01:00
Henri Verbeet
3ac924a2da
wined3d: Get rid of IWineD3DCubeTexture::Map().
2011-03-14 12:39:27 +01:00
Henri Verbeet
13b05b9dbe
wined3d: Get rid of IWineD3DTexture::Unmap().
2011-03-14 12:39:27 +01:00
Henri Verbeet
b77a661515
wined3d: Get rid of IWineD3DTexture::Map().
2011-03-14 12:39:27 +01:00
Henri Verbeet
1bff3599ce
wined3d: Don't invalidate STATE_VDECL in context_set_render_offscreen().
...
This used to be invalidated to update the vertex shader position fixup
uniform, but this is handled by STATE_VIEWPORT now. Any performance impact
from this will be minimal, since in practice there are enough other things
invalidating STATE_VDECL that it's close to being invalidated for every draw
anyway.
2011-03-11 11:40:56 +01:00
Henri Verbeet
adb1e10979
wined3d: Get rid of wined3d_buffer_get_desc().
2011-03-11 11:40:47 +01:00
Henri Verbeet
5f73f41f35
wined3d: Get rid of IWineD3DVolume::GetDesc().
2011-03-11 11:40:37 +01:00
Henri Verbeet
2b18192e7a
wined3d: Get rid of IWineD3DSurface::GetDesc().
2011-03-11 11:40:31 +01:00
Henri Verbeet
4fd03150f6
wined3d: Get rid of IWineD3DBaseTexture::GetSubResourceDesc().
2011-03-10 12:53:13 +01:00
Henri Verbeet
8809ebdf79
wined3d: Generalize GetSurfaceLevel() / GetVolumeLevel() to GetSubResource().
2011-03-10 12:53:04 +01:00
Henri Verbeet
4be256a47c
wined3d: Introduce wined3d_resource_get_desc() to retrieve the resource desc.
2011-03-10 12:52:58 +01:00
Henri Verbeet
ac9c592ca9
wined3d: Store all the resource desc information in struct wined3d_resource.
2011-03-09 12:29:17 +01:00
Henri Verbeet
63b72d789d
wined3d: Move the GetLevelDesc() functions to the IWineD3DBaseTexture interface.
2011-03-09 12:29:04 +01:00
Henri Verbeet
756fdb7c5a
wined3d: Merge the various resource desc structures.
2011-03-09 12:28:58 +01:00
Henri Verbeet
aa420ced0e
wined3d: Pass gl_info to volume_bind_and_dirtify().
2011-03-08 12:27:33 +01:00
Henri Verbeet
60a710455e
wined3d: Try to evict the surface's sysmem copy in surface_load_location().
...
The memory may not be freed until surface destruction otherwise. The PBO
creation code in surface_prepare_system_memory() also depends on the SYSMEM
location being recreated regularly, although arguably that's just a symptom of
the resource location management being somewhat broken.
2011-03-07 11:10:14 +01:00
Henri Verbeet
b1e03b3250
wined3d: Clear SFLAG_LOCKED as soon as possible in IWineD3DSurfaceImpl_Unmap().
2011-03-07 11:10:10 +01:00
Henri Verbeet
eb3796083a
wined3d: Get rid of the SFLAG_LOCKED hack in flush_to_framebuffer_drawpixels().
2011-03-07 11:10:06 +01:00
Henri Verbeet
9059271442
wined3d: Check subresources for NULL during texture cleanup.
...
This fixes a regression introduced by
1de6adfbae
.
2011-03-07 11:10:01 +01:00
Henri Verbeet
bea8d0a713
wined3d: Get rid of the IWineD3DBuffer typedef.
2011-03-04 16:25:58 +01:00
Henri Verbeet
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01:00
Henri Verbeet
39aa477e4c
wined3d: Pass gl_info to surface_bind().
2011-03-04 16:25:58 +01:00
Henri Verbeet
af0a4b6956
wined3d: Pass gl_info to basetexture_bind().
2011-03-03 17:47:14 +01:00
Henri Verbeet
75c8e9f7b4
wined3d: Use EXT_texture_sRGB_decode to avoid sRGB texture duplication.
2011-03-03 17:47:13 +01:00
Henri Verbeet
a97c1ad15e
wined3d: Add support for EXT_texture_sRGB_decode.
2011-03-03 17:47:13 +01:00
Henri Verbeet
09c3537ad0
wined3d: Retrieve the GL texture through a function.
2011-03-03 17:47:13 +01:00
Henri Verbeet
d523dee76b
wined3d: Retrieve the surface's texture name through a function.
2011-03-02 12:50:59 +01:00
Henri Verbeet
ddc7a803e9
wined3d: Standalone surfaces should never be sRGB.
2011-03-02 12:50:59 +01:00
Henri Verbeet
fe425a2f23
wined3d: Use basetexture_set_dirty() in some more places.
2011-03-02 12:50:59 +01:00
Henri Verbeet
7b2274dff1
wined3d: The basetexture_set_dirty() return value is never used.
2011-03-02 12:50:59 +01:00
Henri Verbeet
ff8c79e45b
wined3d: Recognize some Nouveau renderer strings.
2011-03-01 13:21:59 +01:00
Henri Verbeet
02fa8bf013
wined3d: Rename ATI to AMD.
2011-03-01 13:21:59 +01:00
Henri Verbeet
1de6adfbae
wined3d: Make IWineD3DResourceImpl an independent structure.
2011-03-01 13:21:59 +01:00
Henri Verbeet
1674ca1ebd
wined3d: Pass const resources to some resource functions.
2011-03-01 13:21:58 +01:00
Henri Verbeet
39497ff4d1
wined3d: Remove IWineD3DResource::UnLoad() from the public interface.
2011-02-28 11:09:48 +01:00
Henri Verbeet
1da773ff4d
wined3d: Merge device_unload_resource() and reset_unload_resources().
2011-02-28 11:09:38 +01:00
Henri Verbeet
14050e125d
wined3d: Recognize some Northern Islands cards in select_card_ati_mesa().
2011-02-28 11:09:35 +01:00
Henri Verbeet
d9d2fe31e3
wined3d: Filter sRGB capabilities during format initialization.
2011-02-28 11:09:25 +01:00
Matteo Bruni
75386a99b4
wined3d: Make clip planes independent from offscreen/onscreen drawing.
2011-02-15 17:24:26 +01:00
Gerald Pfeifer
54d98ba791
wined3d: Remove an old hack around Mesa choking on protected memory from flush_to_framebuffer_drawpixels.
2011-02-14 13:33:30 +01:00
Henri Verbeet
14c3387fc2
wined3d: Get rid of the IWineD3DQuery typedefs.
2011-02-04 15:25:32 +01:00
Henri Verbeet
a5fe3610ad
wined3d: Remove COM from the query implementation.
2011-02-04 15:25:32 +01:00
Henri Verbeet
831a29d250
wined3d: Use an internal call table for query operations.
2011-02-04 15:25:31 +01:00
Henri Verbeet
b59dc811e2
wined3d: Get rid of the IWineD3DClipper typedefs.
2011-02-04 15:25:31 +01:00
Henri Verbeet
304d713860
wined3d: Remove COM from the clipper implementation.
2011-02-04 15:25:31 +01:00
Henri Verbeet
e1815f5e3b
wined3d: Get rid of the IWineD3DPalette typedefs.
2011-02-03 13:15:17 +01:00
Henri Verbeet
5963483fc2
wined3d: Remove COM from the palette.
2011-02-03 13:15:17 +01:00
Henri Verbeet
fe3cfb3e8e
wined3d: Get rid of the IWineD3DVertexDeclaration typedefs.
2011-02-03 13:15:17 +01:00
Henri Verbeet
5765632d9f
wined3d: Remove COM from the vertex declaration.
2011-02-03 13:15:17 +01:00
Henri Verbeet
074977d404
wined3d: Get rid of the IWineD3D typedefs.
2011-02-02 12:22:53 +01:00
Henri Verbeet
36d4268e3c
wined3d: Remove COM from IWineD3D.
2011-02-02 12:22:42 +01:00
Henri Verbeet
1fd7c96a31
wined3d: Make volumetexture_ops static.
2011-02-02 12:21:23 +01:00
Henri Verbeet
ddb36691f6
wined3d: Pass a const adapter to the format caps checking functions.
2011-02-01 12:01:18 +01:00
Henri Verbeet
4c30b82c83
wined3d: Just fail if the texture type is not supported in create_glsl_blt_shader() (LLVM/Clang).
...
Changing the texture type has no effect at this point, and it wouldn't work
properly anyway.
2011-02-01 12:01:10 +01:00
Henri Verbeet
96d225d4dd
wined3d: Get rid of the IWineD3DStateBlockImpl typedef.
2011-01-31 12:25:05 +01:00
Henri Verbeet
b98cd5d982
wined3d: Get rid of the IWineD3DStateBlock typedef.
2011-01-31 12:25:01 +01:00
Henri Verbeet
4b109ff1f8
wined3d: Remove COM from the stateblock.
2011-01-31 12:24:58 +01:00
Henri Verbeet
a538d28f28
wined3d: Set color / depth / stencil surfaces to NULL before releasing them in IWineD3DDeviceImpl_Uninit3D().
2011-01-31 12:24:55 +01:00
Stefan Reimer
1c25577873
wined3d: Adding AMD HD5670, HD5570, HD5550, HD5450 detection.
2011-01-28 17:23:57 +01:00
Henri Verbeet
1b726498ed
wined3d: Set all render targets to NULL in IWineD3DDeviceImpl_Uninit3D().
2011-01-28 11:58:06 +01:00
Henri Verbeet
c964134a59
wined3d: Add support for the NULL format.
2011-01-27 14:13:55 +01:00
Henri Verbeet
2469597e2a
wined3d: Verify we have at least one framebuffer attachment before doing clears or draws.
2011-01-27 14:13:39 +01:00
Henri Verbeet
7438e42f1a
wined3d: Do checks at the start of surface_init() (LLVM/Clang).
2011-01-26 15:00:12 +01:00
Henri Verbeet
91ac0c37b1
wined3d: Disable vertex shader output clamping.
...
It looks like NV50+ hardware gets you infinities and NaN's in D3D as well for
most things, so we should only need special handling for pow and nrm.
2011-01-25 12:32:38 +01:00
Henri Verbeet
a50546e563
wined3d: Use dot() instead of length() in shader_glsl_nrm().
...
As Eric Anholt pointed out, using length() here is suboptimal. It essentially
translates into "inversesqrt(dot(x, x));", but needs to handle the case of
zero-length vectors, much like nrm.
2011-01-24 14:43:26 +01:00
Henri Verbeet
010e285b88
wined3d: WINED3DFMT_INTZ is a FOURCC format.
...
This is mostly for consistency, in practice ddraw code is never going to use
this format.
2011-01-24 14:43:26 +01:00
Henri Verbeet
4891ca168e
wined3d: Remove IWineD3DSurface::DrawOverlay() from the public interface.
2011-01-24 14:43:26 +01:00
Henri Verbeet
05603c4568
wined3d: Remove IWineD3DSurface::RealizePalette() from the public interface.
2011-01-24 14:43:26 +01:00
Henri Verbeet
1eefb46a57
wined3d: Remove IWineD3DVolume::LoadTexture() from the public interface.
2011-01-21 18:37:11 +01:00
Henri Verbeet
ce050c89de
wined3d: Get rid of IWineD3DSurface::GetData().
2011-01-21 18:37:09 +01:00
Henri Verbeet
0b7fef751e
wined3d: Remove IWineD3DSurface::LoadTexture() from the public interface.
2011-01-21 18:37:06 +01:00
Henri Verbeet
629d81b192
wined3d: Remove IWineD3DSurface::BindTexture() from the public interface.
2011-01-21 18:37:04 +01:00
Henri Verbeet
227efbbf65
wined3d: Store a pointer to an array of IWineD3DSwapChainImpl pointers in the device.
2011-01-20 12:19:04 +01:00
Henri Verbeet
6f95f05aaf
wined3d: Move swapchain context retrieval to swapchain.c.
2011-01-20 12:18:58 +01:00
Henri Verbeet
f250ee66a3
wined3d: Pass an IWineD3DSwapChainImpl pointer to findThreadContextForSwapChain().
2011-01-19 12:22:41 +01:00
Henri Verbeet
b439fa9d8f
wined3d: Pass an IWineD3DSwapChainImpl pointer to swapchain_create_context_for_thread().
2011-01-19 12:22:38 +01:00
Henri Verbeet
237cdefe7f
wined3d: Pass an IWineD3DVolumeImpl pointer to volume_bind_and_dirtify().
2011-01-19 12:22:34 +01:00
Henri Verbeet
ace5f8e60e
wined3d: Pass an IWineD3DVolumeImpl pointer to volume_add_dirty_box().
2011-01-19 12:22:31 +01:00
Henri Verbeet
d91a413ade
wined3d: Store an IWineD3DClipperImpl pointer in IWineD3DSurfaceImpl.
2011-01-18 12:32:10 +01:00
Henri Verbeet
098cdf4ae3
wined3d: Store an IWineD3DResourceImpl pointer in struct wined3d_rendertarget_view.
2011-01-18 12:32:06 +01:00
Henri Verbeet
e42e5247dd
wined3d: Pass an IWineD3DResourceImpl pointer to wined3d_rendertarget_view_init().
2011-01-18 12:32:01 +01:00
Henri Verbeet
2ceb2a8cdd
wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_unloaded().
2011-01-18 12:31:58 +01:00
Stefan Dösinger
e98a0e5bb1
wined3d: Don't set cube and volume POW2 caps if np2 textures are supported.
2011-01-17 17:33:36 +01:00
Henri Verbeet
c28d6f38af
wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_released().
2011-01-17 13:22:06 +01:00
Henri Verbeet
834b599e19
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_released().
2011-01-17 13:22:06 +01:00
Henri Verbeet
852ac57db6
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_add().
2011-01-17 13:22:06 +01:00
Henri Verbeet
2ad540cea5
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_remove().
2011-01-17 13:22:06 +01:00
Matteo Bruni
ef0f358813
wined3d: Don't call glPointParameter with a random context.
2011-01-07 15:01:38 +01:00
Henri Verbeet
c117248bd1
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_type().
2011-01-07 10:23:37 +01:00
Henri Verbeet
7e67bcedfd
wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_priority().
2011-01-07 10:23:25 +01:00
Henri Verbeet
2d9748b1e3
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_priority().
2011-01-07 10:23:21 +01:00
Henri Verbeet
a80749fd57
wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_private_data().
2011-01-07 10:23:17 +01:00
Henri Verbeet
92e439b0f0
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_private_data().
2011-01-06 11:33:33 +01:00
Henri Verbeet
a97ae0db6a
wined3d: Pass an IWineD3DResourceImpl pointer to resource_free_private_data().
2011-01-06 11:33:29 +01:00
Henri Verbeet
134137cdb4
wined3d: Pass an IWineD3DResourceImpl pointer to resource_cleanup().
2011-01-06 11:33:24 +01:00
Henri Verbeet
7080922e0e
wined3d: Pass an IWineD3DResourceImpl pointer to resource_init().
2011-01-06 11:33:19 +01:00
Henri Verbeet
d72520b5cc
wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface.
2011-01-05 17:22:01 +01:00
Henri Verbeet
f9a1e8813e
wined3d: Pass an IWineD3DDeviceImpl pointer to create_primary_opengl_context().
2011-01-05 17:21:47 +01:00
Henri Verbeet
7e0909d058
wined3d: Pass an IWineD3DDeviceImpl pointer to delete_opengl_contexts().
2011-01-05 17:21:37 +01:00
Henri Verbeet
e5d1a0c72d
wined3d: Use surface_modify_location() to manipulate location flags in IWineD3DSurfaceImpl_Unmap().
...
Directly setting SFLAG_INFRAWABLE breaks for offscreen render targets, where
the drawable and texture are the same thing. Before commit
d3fd7b247b
the explicit load of the texture
location with the default RTL_READTEX render target lock mode would have
prevented the flags from becomming inconsistent.
2011-01-05 17:21:28 +01:00
Henri Verbeet
3a59137b09
wined3d: Pass an IWineD3DBaseTextureImpl pointer to internal_preload().
2011-01-04 11:09:52 +01:00
Henri Verbeet
a2c81adae1
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_apply_state_changes().
2011-01-04 11:09:49 +01:00
Henri Verbeet
32779a2232
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_bind().
2011-01-04 11:09:47 +01:00
Henri Verbeet
bf108ac872
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_generate_mipmaps().
2011-01-04 11:09:45 +01:00