Commit Graph

5145 Commits

Author SHA1 Message Date
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
Alexandre Julliard 8cbc6efdca Revert "wined3d: Update detection of vertex blend capabilities."
This reverts commit f41fdb225c.
It's wrong and was committed by mistake.
2011-01-03 19:32:48 +01:00
Jeremy Chin f41fdb225c wined3d: Update detection of vertex blend capabilities. 2011-01-03 11:54:05 +01:00
Henri Verbeet 9de4433dbe wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_autogen_filter_type(). 2011-01-03 11:54:05 +01:00
Henri Verbeet 568f9ecb22 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_autogen_filter_type(). 2011-01-03 11:54:04 +01:00
Henri Verbeet 54e1aeeb62 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_lod(). 2011-01-03 11:54:04 +01:00
Henri Verbeet 482a5fd030 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_lod(). 2011-01-03 11:54:04 +01:00
Andrew Nguyen 12880784fe wined3d: Handle the swapchain presentation interval with wglSwapIntervalEXT. 2010-12-27 15:39:41 +01:00
Andrew Nguyen 0f050b3ecb wined3d: Fix typo in GL_SGIS_generate_mipmap preprocessor definition. 2010-12-27 15:39:41 +01:00
Andrew Nguyen 7e13b1afaf wined3d: Remove references to GLX_SGI_video_sync.
Usage of GLX_SGI_video_sync is problematic, and wined3d cannot use GLX extensions.
2010-12-27 15:39:41 +01:00
Rico Schüller 5b985bcb03 wined3d: Fix memset size in IWineD3DVolumeImpl_Unmap. 2010-12-20 12:47:38 +01:00
Henri Verbeet f5d96d1701 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_level_count(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 2438968c34 wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_cleanup(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 47fcc00cce wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_unload(). 2010-12-16 11:50:09 +01:00
Henri Verbeet 7bc7caf423 wined3d: Pass an IWineD3DBaseTextureImpl array to pixelshader_update_samplers(). 2010-12-16 11:50:09 +01:00
Henri Verbeet bd2e7aedcf wined3d: Store an IWineD3DBaseShaderImpl pointer in wined3d_shader_context. 2010-12-15 11:55:22 +01:00
Henri Verbeet 2f36d600ef wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_main(). 2010-12-15 11:55:19 +01:00
Henri Verbeet 51f06dcf0c wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_get_registers_used(). 2010-12-15 11:55:16 +01:00
Henri Verbeet c492ec196e wined3d: Pass implementation pointers to get_glsl_program_entry(). 2010-12-15 11:55:13 +01:00
Henri Verbeet d6446c7a97 wined3d: Store implementation pointers in glsl_program_key_t. 2010-12-14 11:38:42 +01:00
Henri Verbeet dd1ba15ec7 wined3d: Store implementation pointers in struct glsl_shader_prog_link. 2010-12-14 11:38:39 +01:00
Henri Verbeet b0bc24eec3 wined3d: Pass implementation pointers to generate_param_reorder_function(). 2010-12-14 11:38:37 +01:00
Henri Verbeet 77beea98b9 wined3d: Avoid some interface pointers in set_glsl_shader_program(). 2010-12-14 11:38:34 +01:00
Henri Verbeet bbbab10c8e wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_cleanup(). 2010-12-13 16:24:27 +01:00
Henri Verbeet fe2ffe1e6a wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_destroy(). 2010-12-13 16:24:23 +01:00
Henri Verbeet 97ca0e6863 wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_glsl_declarations(). 2010-12-13 16:24:19 +01:00
Henri Verbeet 8ea7d1ef71 wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_arb_declarations(). 2010-12-13 16:24:15 +01:00
Henri Verbeet 0e3c60786e wined3d: Explicitly pass gl_info to unset_shader(). 2010-12-10 13:02:26 +01:00
Henri Verbeet ae7a20af2f wined3d: Explicitly pass blit_priv and gl_info to set_shader(). 2010-12-10 13:02:24 +01:00
Henri Verbeet 0caed0a771 wined3d: Explicitly pass blit_priv and gl_info to gen_p8_shader(). 2010-12-10 13:02:22 +01:00
Henri Verbeet fa75517155 wined3d: Explicitly pass blit_priv and gl_info to gen_yuv_shader(). 2010-12-10 13:02:19 +01:00
Henri Verbeet 7f09eb6a7a wined3d: Pass an IWineD3DDeviceImpl pointer to free_private(). 2010-12-09 12:14:31 +01:00
Henri Verbeet 4ba3b64c57 wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private(). 2010-12-09 12:14:25 +01:00
Henri Verbeet a3b2407824 wined3d: Remove IWineD3DBaseTexture::SetDirty() from the public interface. 2010-12-09 12:14:19 +01:00
Henri Verbeet 4dd3066ea3 wined3d: Remove the unused IWineD3DBaseTexture::GetDirty() method. 2010-12-09 12:14:11 +01:00
Henri Verbeet b5637a934e wined3d: Store an IWineD3DDeviceImpl pointer in IWineD3DBaseShaderClass. 2010-12-08 11:27:49 +01:00
Henri Verbeet 018a48493b wined3d: Remove a redundant SetDirty() call from IWineD3DSurfaceImpl_Map().
The surface_add_dirty_rect() call already does this.
2010-12-08 11:27:44 +01:00
Henri Verbeet 5fc53941ef wined3d: Pass a wined3d_buffer structure to buffer_get_memory(). 2010-12-08 11:27:40 +01:00
Henri Verbeet 46f3cc9df6 wined3d: Don't leak heapMemory in surface_remove_pbo(). 2010-12-08 11:27:34 +01:00
Henri Verbeet cd30e9562c wined3d: Explicitly pass gl_info to shader_arb_generate_pshader(). 2010-12-07 11:33:27 +01:00
Henri Verbeet 202a60c489 wined3d: Explicitly pass gl_info to shader_arb_generate_vshader(). 2010-12-07 11:33:25 +01:00
Henri Verbeet db164a990c wined3d: Rename shader_reg_maps to wined3d_shader_reg_maps.
For consistency with other shader translation structures.
2010-12-07 11:33:23 +01:00
Henri Verbeet 78652a5fe8 wined3d: Explicitly pass shader_data, reg_maps and gl_info to vshader_add_footer(). 2010-12-06 12:21:35 +01:00
Henri Verbeet e9ff40d918 wined3d: Use local reg_maps variables where possible. 2010-12-06 12:21:31 +01:00
Henri Verbeet 0405733ff7 wined3d: Explicitly pass shader_data and reg_maps to reserved_vs_const(). 2010-12-06 12:21:27 +01:00
Henri Verbeet a564101630 wined3d: Explicitly pass shader_data and reg_maps to need_helper_const(). 2010-12-06 12:21:24 +01:00
Henri Verbeet 6a646ac25d wined3d: shader_get_registers_used() is only called during shader initialization. 2010-12-03 11:04:39 +01:00
Henri Verbeet 8c1e326e3c wined3d: Explicitly pass shader_data and reg_maps to need_rel_addr_const(). 2010-12-03 11:04:36 +01:00
Henri Verbeet e43cd744b6 wined3d: need_rel_addr_const() is only ever called for vertex shaders. 2010-12-03 11:04:32 +01:00
Henri Verbeet fe47ba8fa2 wined3d: Move the rel_offset vertex shader field to the ARB shader backend. 2010-12-03 11:04:28 +01:00
Henri Verbeet b72b037128 wined3d: Properly initialize min_rel_offset.
This somehow got lost in 14da44aa36.
2010-12-03 11:04:22 +01:00
Henri Verbeet 03d7f527cf wined3d: Move min_rel_offset / max_rel_offset to the shader_reg_maps structure. 2010-12-02 11:54:20 +01:00
Henri Verbeet a4477fea4a wined3d: Pass an IWineD3DDeviceImpl pointer to free_private(). 2010-12-02 11:54:15 +01:00
Henri Verbeet 6b9118e462 wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private(). 2010-12-02 11:54:10 +01:00
Henri Verbeet 00550613e7 wined3d: Remove a redundant parameter to enable_extension(). 2010-12-02 11:54:03 +01:00
Henri Verbeet f92a0667d7 wined3d: Remove a unused parameter to shader_dirtifyable_constants(). 2010-12-02 11:53:57 +01:00
Henri Verbeet f45aeb4abe wined3d: Pass an IWineD3DDeviceImpl pointer to shader_free_private(). 2010-12-01 11:09:08 +01:00
Henri Verbeet 4a69874938 wined3d: Pass an IWineD3DDeviceImpl pointer to shader_alloc_private(). 2010-12-01 11:09:02 +01:00
Henri Verbeet 77923346da wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_pixel_constants(). 2010-12-01 11:08:57 +01:00
Henri Verbeet 4a6d0da207 wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_vertex_constants(). 2010-12-01 11:08:51 +01:00
Henri Verbeet fad461eefa wined3d: Move the PrivateData structure to resource.c. 2010-12-01 11:08:39 +01:00
Henri Verbeet 7363b0e98a wined3d: Explicitly pass data and gl_info to shader_deselect_depth_blt(). 2010-11-30 10:57:23 +01:00
Henri Verbeet 93a824d744 wined3d: Explicitly pass data and gl_info to shader_select_depth_blt(). 2010-11-30 10:57:17 +01:00
Henri Verbeet 363d8a316e wined3d: Pass an IWineD3DDeviceImpl pointer to drawPrimitive(). 2010-11-30 10:57:10 +01:00
Henri Verbeet 6476ef599d wined3d: Pass an IWineD3DDeviceImpl pointer to drawStridedSlow(). 2010-11-30 10:57:01 +01:00
Marcus Meissner 5d657bfdba wined3d: Detect nouveau as NVIDIA. 2010-11-29 19:43:35 +01:00
Christian Inci 4229b1f3b6 wined3d: Add nVidia GT 320M to the table. 2010-11-26 14:58:39 +01:00
Austin English 90f428cd85 wined3d: Add detection for Nvidia GT 330. 2010-11-23 14:16:21 +01:00
Henri Verbeet a147fd9c36 wined3d: Fix the indentation in buffer_direct_upload(). 2010-11-23 13:15:39 +01:00
Henri Verbeet 03f7a2d88e wined3d: Get rid of the remaining "Flags". 2010-11-23 13:15:36 +01:00
Henri Verbeet b459b917fb wined3d: Textures never have a resource size.
They're just containers for their subresources.
2010-11-23 13:15:32 +01:00
Henri Verbeet 4f651808fc wined3d: Disallow empty surfaces. 2010-11-18 12:37:36 +01:00
Henri Verbeet faba8d734d wined3d: Send a notification that the GL texture changed in flip_surface().
Strictly speaking the texture doesn't get unloaded, but it does get associated
with a different surface. The FBO cache in particular is much happier when it
gets notified of these.
2010-11-17 14:01:14 +01:00
Henri Verbeet fadd192cba wined3d: buffer_get_sysmem() potentially invalidates the current element array buffer binding.
This fixes a regression introduced by commit
2a7a237170.
2010-11-16 13:48:46 +01:00
Henri Verbeet 4dc28005eb wined3d: Remove a redundant flag in IWineD3DSurfaceImpl_SetMem(). 2010-11-16 13:48:42 +01:00
Henri Verbeet 745126b05d wined3d: Properly recreate the sysmem resource location in IWineD3DSurfaceImpl_SetMem().
Otherwise we could end up with surfaces that have SFLAG_INSYSMEM set, but no
actual system memory allocated. This was exposed by
3bbe658ef1.
2010-11-15 15:04:41 +01:00
Henri Verbeet 44b9712cd6 wined3d: Add a trace to IWineD3DSurfaceImpl_SetMem(). 2010-11-15 15:04:36 +01:00
Henri Verbeet 60b5dc04b7 wined3d: Rename the IWineD3DPaletteImpl "Flags" field to "flags". 2010-11-15 15:04:32 +01:00
Henri Verbeet efb185dcd5 wined3d: Rename the wined3d_format "Flags" field to "flags". 2010-11-12 15:43:08 +01:00
Henri Verbeet 027fdb31c2 wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags". 2010-11-12 15:43:07 +01:00
Henri Verbeet a59ee29dec wined3d: Simplify a condition in IWineD3DSurfaceImpl_LoadTexture(). 2010-11-12 15:43:07 +01:00
Henri Verbeet 4bd1f04fbd wined3d: Check for depth/stencil surfaces in general in IWineD3DSurfaceImpl_Unmap().
Instead of just the current one.
2010-11-12 15:43:07 +01:00
Henri Verbeet db013ed213 wined3d: Avoid marking samplers dirty in IWineD3DSurfaceImpl_Unmap().
Resources are explicitly loaded in context_apply_draw_state() when needed, the
resource location management takes care of all of this.
2010-11-12 15:43:07 +01:00
Henri Verbeet 3bbe658ef1 wined3d: Remove some useless code. 2010-11-11 13:11:37 +01:00
Henri Verbeet 78abb8ae07 wined3d: Simply use surface_modify_location() in IWineD3DSurfaceImpl_Map() with WINED3DLOCK_DISCARD.
The call to surface_add_dirty_rect() would have taken care of evicting the
other locations anyway, but we really shouldn't be touching the location flags
directly.
2010-11-11 13:11:34 +01:00
Henri Verbeet d3fd7b247b wined3d: Handle rendertargetlock_mode in surface_load_location(). 2010-11-11 13:11:30 +01:00
Henri Verbeet 1fa19d8e42 wined3d: Take the location into account in context_apply_fbo_state_blit(). 2010-11-11 13:11:26 +01:00
Jaime Rave 6bf3f67c01 wined3d: Added Intel GM45 video card detection. 2010-11-11 13:08:25 +01:00
Henri Verbeet 7a354177b3 wined3d: Don't unregister a window unless the window proc is what we expect it to be.
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +01:00
Henri Verbeet 9a1fddb0fd wined3d: Register a window only once. 2010-11-10 12:19:16 +01:00
Henri Verbeet 4503d0cb4b wined3d: Use a lookup table in select_card_ati_binary(). 2010-11-10 12:18:54 +01:00
Henri Verbeet 3bb40b0776 wined3d: Use lookup tables in select_card_nvidia_binary(). 2010-11-09 14:21:00 +01:00
Henri Verbeet a9da30dc5f wined3d: Use lookup tables in select_card_ati_mesa(). 2010-11-09 14:20:51 +01:00
Henri Verbeet bed0266a8c wined3d: Recognize Evergreen in select_card_ati_mesa(). 2010-11-09 14:20:42 +01:00
Henri Verbeet 50b76b76cb wined3d: Test for "AMD" in the renderer string as well to detect AMD cards.
Specifically, the Gallium r600 driver reports "X.Org" for vendor and a string
of the form "Gallium 0.4 on AMD RV730" for the renderer.
2010-11-08 13:31:09 +01:00
Henri Verbeet 7a64870014 wined3d: Don't use floating point textures without ARB_texture_float.
The floating point formats from ARB_texture_rg are only defined when
ARB_texture_float is also supported. It would have been nice if the formats
table itself was able to express this, but as far as I'm aware this is only an
issue for ARB_texture_rg, so it's probably not worth changing.
2010-11-08 13:30:59 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
Henri Verbeet b898130a11 wined3d: Do not activate the window when restoring the styles.
This is consistent with device_setup_fullscreen_window(), and ddraw actually
has a test for this in ddrawmodes.c. (Although it doesn't actually use
device_setup_fullscreen_window() until the next patch.)
2010-11-08 13:30:46 +01:00
Henri Verbeet 45cee64295 wined3d: Move the fullscreen window setup / restore code to the device. 2010-11-08 13:30:40 +01:00
Henri Verbeet feaf81f60d wined3d: Use SetWindowPos() to make the focus window active. 2010-11-05 17:15:37 +01:00
Henri Verbeet f0b0c1b1dd wined3d: Add support for the INTZ format. 2010-11-05 17:15:36 +01:00
Michael Stefaniuc 1183383a6f wined3d: Fix some checkGLcall() messages. 2010-11-05 17:15:34 +01:00
Michael Stefaniuc 809741d5ae wined3d: Move the checkGLcall() right after the corresponding GL call. 2010-11-05 17:15:34 +01:00
Henri Verbeet 8e059205ba wined3d: Translate drawable coordinates in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:35 +01:00
Henri Verbeet 3f0d16c5bf wined3d: Do not use "lockedRect" unless the surface is locked in flush_to_framebuffer_drawpixels(). 2010-11-02 13:17:31 +01:00
Henri Verbeet b66478dfbc wined3d: Set an A window proc on non-unicode windows. 2010-11-02 13:17:25 +01:00
Francois Gouget b990617a95 Assorted spelling fixes. 2010-11-02 13:16:57 +01:00
Henri Verbeet e35b6aa1a7 wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates. 2010-11-01 13:34:43 +01:00
Stefan Dösinger f89fdb4429 wined3d: Don't reapply lighting when vertex shaders are used.
If a vertex shader is used the GL_LIGHTING state is ignored. If the
shader is turned off state_vdecl is called anyway, so it will adjust the
lighting state to match the available fixed function vertex attributes.
2010-11-01 11:43:45 +01:00
Stefan Dösinger 7173a56161 wined3d: Don't change GL_TEXTURE* when using the arb fragment pipeline. 2010-11-01 11:43:39 +01:00
Stefan Dösinger 5082c57e77 wined3d: Don't pass the texture stages to basetexture_apply_state_changes. 2010-11-01 11:43:35 +01:00
Henri Verbeet 27bf4c3747 wined3d: Remove some redundant state save/restore code from flush_to_framebuffer_drawpixels(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 7414ebc975 wined3d: Don't flip the coordinate system in set_blit_dimension(). 2010-10-29 14:33:57 +02:00
Henri Verbeet 1e301027dc wined3d: Only complain about unsupported filtering if we have a reason to. 2010-10-29 14:33:56 +02:00
Henri Verbeet e832b57a15 wined3d: Move loop state to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet 8a4a76f9a7 wined3d: Move "parse_state" to wined3d_shader_context. 2010-10-29 14:33:56 +02:00
Henri Verbeet f216dba1e3 wined3d: Access reg_maps though ins->ctx in get_loop_control_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 5b36e29298 wined3d: Access reg_maps though ins->ctx in get_bool_const(). 2010-10-28 18:18:12 +02:00
Henri Verbeet ac2805e5b3 wined3d: Access reg_maps though ins->ctx in shader_hw_mov(). 2010-10-28 18:18:12 +02:00
Henri Verbeet 6c5caf7a8b wined3d: Access reg_maps though ins->ctx in shader_arb_get_register_name(). 2010-10-28 18:18:11 +02:00
Henri Verbeet 3a41bbdd71 wined3d: Access reg_maps though ins->ctx in shader_glsl_get_register_name().
This is all part of the ongoing work to make the shader backend interface less
dependent on wined3d internals.
2010-10-28 18:18:11 +02:00
Henri Verbeet 5e24ccfd0c wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec(). 2010-10-27 12:11:49 +02:00
Henri Verbeet 8f5bb62769 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3vspec(). 2010-10-27 12:11:45 +02:00
Henri Verbeet f624d8f7b6 wined3d: Read transform flags from the compile args in pshader_hw_texm3x3tex(). 2010-10-26 11:58:34 +02:00
Henri Verbeet db156977dd wined3d: Read transform flags from the compile args in pshader_hw_texm3x2tex().
Instead of directly from the stateblock. Note that the GLSL backend doesn't
take these flags into account at all. That's probably a bug in the GLSL
backend, but needs tests.
2010-10-26 11:58:31 +02:00
Henri Verbeet 8c36e4ce1d wined3d: Explicitly pass parameters to shader_arb_ps_local_constants(). 2010-10-26 11:58:23 +02:00
Henri Verbeet 5afb593cb2 wined3d: Explicitly pass parameters to shader_arb_vs_local_constants(). 2010-10-26 11:58:19 +02:00
Henri Verbeet 1b2f9d29d7 wined3d: Get rid of the posFixup field from the device. 2010-10-26 11:58:12 +02:00
Henri Verbeet 5ef7a8c242 wined3d: Explicitly pass parameters to shader_load_np2fixup_constants(). 2010-10-25 14:29:37 +02:00
Henri Verbeet 6dd9109358 wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods. 2010-10-25 14:29:31 +02:00
Henri Verbeet f0a0714ecd wined3d: Pass a sub-resource index instead of a miplevel to 2D texture methods. 2010-10-25 14:29:21 +02:00
Henri Verbeet 7f8ea7fffc wined3d: Pass a sub-resource index instead of a miplevel to volume texture methods.
For volume textures this is mostly just a conceptual change, it'll only make a
difference for texture arrays and cube textures.
2010-10-21 16:15:38 +02:00
Henri Verbeet 2b58f80c27 wined3d: Use surface_blt_to_drawable() in IWineD3DSurfaceImpl_BltOverride(). 2010-10-21 16:15:31 +02:00
Henri Verbeet 574169174e wined3d: Check if we can do the blit before messing with surface flags in IWineD3DSurfaceImpl_BltOverride().
As an added benefit blit_supported() will now get the rectangles in the
correct coordinate system.
2010-10-21 16:15:25 +02:00
Henri Verbeet b0c8b4dd95 wined3d: Flip destination coordinates when blitting to an offscreen target in arbfp_blit_surface(). 2010-10-21 16:15:20 +02:00
Henri Verbeet d508a855c1 wined3d: Recognize the SM4 sqrt opcode. 2010-10-20 18:37:07 +02:00
Henri Verbeet 58ecf706e2 wined3d: Handle WINED3DFMT_R10G10B10A2_UNORM in getColorBits(). 2010-10-20 18:37:07 +02:00
Henri Verbeet 53f2765445 wined3d: Remove a FIXME in context_apply_blit_state().
There are some legitimate cases for this codepath, for example when blitting
to a render target with fixups or a color key.
2010-10-19 13:50:17 +02:00
Henri Verbeet 1237e8065e wined3d: Properly flip in surface_blt_to_drawable().
We want to flip the coordinate system, not just the rectangle.
2010-10-19 13:50:13 +02:00
Henri Verbeet 8a96a8cc1f wined3d: Always pass a valid rectangle to surface_get_blt_info(). 2010-10-19 13:50:09 +02:00
Henri Verbeet ca381b610c wined3d: Allow FBO blits again between surfaces with fixups if they have the same format.
For some reason f1ca14cb5b disabled this.
2010-10-19 13:50:01 +02:00
Henri Verbeet 70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet 1fa3365832 wined3d: Flip destination coordinates when blitting to an offscreen target in BltOverride(). 2010-10-15 16:19:50 +02:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 4eb8fd7960 wined3d: Recognize the SM4 sample_d opcode. 2010-10-14 17:54:52 +02:00
Henri Verbeet e54d9afbc3 wined3d: Recognize the SM4 ABS and NEG source modifiers. 2010-10-13 13:00:39 +02:00
Henri Verbeet 50f6fbadb0 wined3d: Recognize the SM4 ld opcode. 2010-10-13 13:00:30 +02:00
Henri Verbeet 7c6658f970 wined3d: Recognize the SM4 ieq opcode. 2010-10-13 13:00:26 +02:00
Henri Verbeet a9e3058426 wined3d: Recognize the SM4 ftoi opcode. 2010-10-13 13:00:22 +02:00
Henri Verbeet b53d346d35 wined3d: Recognize the SM4 div opcode. 2010-10-13 13:00:17 +02:00
Henri Verbeet 5eb7a44a2e wined3d: Skip SM4 instruction modifiers. 2010-10-12 17:36:40 +02:00
Henri Verbeet 0e4e196979 wined3d: Skip SM4 source register modifiers. 2010-10-12 17:36:36 +02:00
Henri Verbeet 916167e93a wined3d: Recognize the SM4 resource register type. 2010-10-12 17:36:30 +02:00
Henri Verbeet 6cbf1dd4b5 wined3d: Recognize the SM4 sampler register type. 2010-10-12 17:36:27 +02:00
Henri Verbeet 3c45bba11e wined3d: Add traces to IWineD3DDeviceImpl_AcquireFocusWindow() / IWineD3DDeviceImpl_ReleaseFocusWindow(). 2010-10-11 17:11:34 +02:00
Henri Verbeet ff9c2fcdb2 wined3d: Recognize the SM4 utof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 18d7a73af8 wined3d: Recognize the SM4 sample_l opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 407ed1b875 wined3d: Recognize the SM4 sample opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet b2f520b5f0 wined3d: Recognize the SM4 itof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet 1fe1676ae9 wined3d: SM4 immediate constants are typeless. 2010-10-08 15:26:42 +02:00
Henri Verbeet 3e45fe7488 wined3d: The SM4 sincos opcode has two destination arguments. 2010-10-08 15:26:37 +02:00
Henri Verbeet d369136a96 wined3d: Recognize the SM4 imul opcode. 2010-10-08 15:26:33 +02:00
Henri Verbeet 0677a67c7b wined3d: Recognize the SM4 NULL register type. 2010-10-08 15:26:28 +02:00