Commit Graph

4912 Commits

Author SHA1 Message Date
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