Commit Graph

2195 Commits

Author SHA1 Message Date
Stefan Dösinger df2b1bea63 wined3d: Mark the SYSMEM copy outdated after releasing memory.
Strictly speaking this is redundant because the UnLoad before did the
job, but if we mess with the allocated memory we have to tell the
surface about that. Updating INDRAWABLE will automatically mark SYSMEM
outdated.
2008-04-08 11:59:46 +02:00
Stefan Dösinger 0de167db9e wined3d: Put implicit surfaces into drawable on unload.
If we mark the sysmem copy up to date we would have to take care about
allocating it. As explained in the comment, INDRAWABLE is a saner
choice
2008-04-08 11:59:28 +02:00
Rico Schüller a44da70d63 wined3d: Improve drawStridedInstanced(). 2008-04-07 21:20:07 +02:00
Rico Schüller 73d98ccd4e wined3d: Filter out invalid stuff in SetStreamSourceFreq(). 2008-04-07 21:19:57 +02:00
Alexander Dorofeyev 65f9abc88d wined3d: Move PreLoad to avoid calling it with gl lock held. 2008-04-07 21:18:47 +02:00
Alexander Dorofeyev 7f2257ca55 wined3d: Add device->isInDraw checks in LoadLocation.
Prevents calling ActivateContext while holding gl lock, e.g. when preloading 
texture in sampler().
2008-04-07 21:18:36 +02:00
Alexander Dorofeyev 71ca80355d wined3d: move ENTER_GL in IWineD3DDeviceImpl_Init3D. 2008-04-07 21:18:28 +02:00
Alexander Dorofeyev b949190dcd wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_Issue. 2008-04-07 21:18:18 +02:00
Alexander Dorofeyev 93fefdf94d wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_Issue. 2008-04-07 21:18:12 +02:00
Alexander Dorofeyev 84553fd864 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_GetData. 2008-04-07 21:18:06 +02:00
Alexander Dorofeyev 2711b84601 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_GetData. 2008-04-07 21:18:00 +02:00
Alexander Dorofeyev f24289e49a wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DQueryImpl_Release. 2008-04-07 21:17:55 +02:00
Alexander Dorofeyev 5ccf91b705 wined3d: LEAVE_GL when exiting with error in tesselate_rectpatch. 2008-04-07 21:17:49 +02:00
Alexander Dorofeyev 2157c7d76c wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ResourceReleased. 2008-04-07 21:17:37 +02:00
Alexander Dorofeyev a2017f4f21 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ColorFill. 2008-04-07 21:17:31 +02:00
Alexander Dorofeyev 7c261553d0 wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_Uninit3D. 2008-04-07 21:17:26 +02:00
Alexander Dorofeyev 29b38bc886 wined3d: Implement CONVERT_RGB32_888 conversion. 2008-04-07 21:17:15 +02:00
Alexander Dorofeyev 2f9e8a901c wined3d: Don't copy the extra line.
biSizeImage has an extra line added to it, and passing it to memcpy can cause a 
crash.
2008-04-07 21:17:06 +02:00
Francois Gouget 8a18e0e43a Assorted spelling fixes. 2008-04-07 13:36:18 +02:00
Roderick Colenbrander f04d870a8d wined3d: Remove a PBO when a converted surface is detected.
This can happen e.g. when suddenly color keying is activated and at
some stages we don't know if we will need conversion at PBO creation
time.
2008-04-07 12:05:54 +02:00
Roderick Colenbrander 0efefef34b wined3d: Use the render target its palette when performing a texture copy as the texture doesn't hold one. 2008-04-07 12:05:39 +02:00
Allan Tong a68637b59b wined3d: Call ActivateContext before any gl call in IWineD3DSurfaceImpl_Release. 2008-04-04 11:43:50 +02:00
Stefan Dösinger 03bacf7247 wined3d: Advertise shader emulation of bumpmap formats. 2008-04-04 11:05:07 +02:00
Stefan Dösinger ffbc96b43c wined3d: Advertize postpixelshader blending for surfaces. 2008-04-04 11:04:58 +02:00
Stefan Dösinger ddf52dda15 wined3d: Deactivate GL_FRAGMENT_SHADER_ATI before deactivating a context.
Mesa has a bug that causes a crash due to a NULL pointer dereference
with the R200 driver when making a context current that has
GL_FRAGMENT_SHADER_ATI enabled. This patch works around this bug by
making sure that GL_FRAGMENT_SHADER_ATI is disabled before deactivating
a context, and reactivates it afterwards. The context manager keeps
GL_ATI_FRAGMENT_SHADER generally enabled, except if the context is in 2D
blit mode.
2008-04-03 12:02:24 +02:00
Stefan Dösinger 20e63160df wined3d: Initialize some ARB shader output parameters. 2008-04-03 12:01:32 +02:00
Alexander Dorofeyev d6ba069d9e wined3d: Improve detection of device palette change. 2008-04-03 11:31:57 +02:00
Alexander Dorofeyev 1c89795438 wined3d: Support index in alpha in BltOverride colorfill codepath.
Fixes a failure in ddraw p8_primary_test when running with opengl ddraw renderer.
2008-04-03 11:31:43 +02:00
Alexander Dorofeyev 8ec63a9cf7 wined3d: Remove ENTER_GL/LEAVE_GL in IWineD3DCubeTextureImpl_PreLoad. 2008-04-03 11:31:27 +02:00
Alexander Dorofeyev 9b04822170 wined3d: Remove ENTER_GL/LEAVE_GL in IWineD3DTextureImpl_PreLoad. 2008-04-03 11:31:19 +02:00
Alexander Dorofeyev b54553a253 wined3d: Avoid calling LoadTexture with gl lock held in IWineD3DSurfaceImpl_PreLoad.
Needed to prevent ActivateContext being called while holding gl lock.
2008-04-03 11:31:09 +02:00
Alexander Dorofeyev 1e6f02ed2b wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DSurfaceImpl_Release. 2008-04-03 11:30:55 +02:00
Alexander Dorofeyev 088c34ec1c wined3d: Add ENTER_GL/LEAVE_GL in surface_allocate_surface. 2008-04-03 11:30:47 +02:00
Alexander Dorofeyev d5b400307b wined3d: Add ENTER_GL/LEAVE_GL in surface_bind_and_dirtify. 2008-04-03 11:30:38 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +02:00
Stefan Dösinger bd68237096 wined3d: Implement TSSARGTEMP with register combiners. 2008-04-02 20:07:40 +02:00
Stefan Dösinger 0f1c2370b1 wined3d: Do not report pixel shaders if not supported. 2008-04-02 20:07:30 +02:00
Stefan Dösinger 287f60a2b2 wined3d: Implement D3DTA_TEMP in the GL_ATI_fragment_shader codepath. 2008-04-02 20:07:19 +02:00
Stefan Dösinger 8f9a14e312 wined3d: Prepare the atifs shader generator for temp register support. 2008-04-02 20:07:03 +02:00
Stefan Dösinger ab86a4e963 wined3d: Catch D3DUSAGE_AUTOGENMIPMAP and D3DUSAGE_RENDERTARGET combos. 2008-04-01 20:31:59 +02:00
Stefan Dösinger a29a229324 wined3d: Refuse 3D initialization without opengl. 2008-04-01 20:31:44 +02:00
Stefan Dösinger 8673be0bd7 wined3d: Return a fake pixel format if gl is not loaded. 2008-04-01 20:31:37 +02:00
Stefan Dösinger 9e831a8733 wined3d: Create a fake non-gl adapter. 2008-04-01 20:31:30 +02:00
Roderick Colenbrander 4120188f99 wined3d: Request a pixel format with alpha support in case of P8 render targets. 2008-03-31 13:01:24 +02:00
Roderick Colenbrander 76014205de wined3d: Fix a postpixelshader_blending bug. 2008-03-31 12:14:33 +02:00
Roderick Colenbrander c0be6047ef wined3d: Also move the rendertarget capability to the formats table. 2008-03-29 10:31:50 +01:00
Roderick Colenbrander ef73fe5d47 wined3d: Add a depthstencil flag to the formats table and make use of it in CheckDepthStencilCapability. 2008-03-29 10:31:36 +01:00
Roderick Colenbrander e1bf1cd640 wined3d: Make the filtering capability of a format a flag in the formats table. 2008-03-29 10:31:18 +01:00
Roderick Colenbrander 69a40127c6 wined3d: Add D3DUSAGE_QUERY_PIXELSHADER_BLENDING to CheckDeviceFormat. 2008-03-28 15:50:36 +01:00
Roderick Colenbrander 4eaa424c79 wined3d: Initial post pixelshader blending support. [attempt 2].
For each pixel format we store a flag in the table whether it supports
post pixelshader blending. Before applying blending or during a
context switch we verify that blending is turned off for the
format. In case of R32F this gave a 5-6x performance boost (without
filtering and software conversion).
2008-03-28 15:50:24 +01:00