Commit Graph

419 Commits

Author SHA1 Message Date
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Alexander Dorofeyev db36665be5 wined3d: Add missing check for p8 primary in surface_download_data. 2008-04-21 14:22:35 +02:00
Roderick Colenbrander f2753d7189 wined3d: Add palette re-upload support for cards with hardware palette support.
Before it was broken and when it worked it was slow due to unneeded
gpu -> cpu -> gpu copying.
2008-04-21 13:36:19 +02:00
Stefan Dösinger a22203adeb wined3d: Make the mag filter lookup a separate array.
This makes it easier to make this a per texture / per adapter property.
Somewhen we should rename the remaining lookup type in the general
lookup table to wraplookup.
2008-04-09 11:48:30 +02:00
Stefan Dösinger 67e0943ba3 wined3d: Store the number of aux buffers in the context. 2008-04-09 11:47:24 +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
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 29b38bc886 wined3d: Implement CONVERT_RGB32_888 conversion. 2008-04-07 21:17:15 +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
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 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
Alexander Dorofeyev 9b913b3b79 wined3d: Don't use device palettes in RealizePalette. 2008-03-25 11:53:47 +01:00
Alexander Dorofeyev 13ce219235 wined3d: Don't use device palettes in GetDC. 2008-03-25 11:53:39 +01:00
Alexander Dorofeyev 85fd313046 wined3d: Don't use device palettes in read_from_framebuffer. 2008-03-25 11:53:24 +01:00
Alexander Dorofeyev 16da594354 wined3d: Fix comment. 2008-03-25 11:53:01 +01:00
Roderick Colenbrander 3771341774 wined3d: Add a missing break to blt_to_drawable. 2008-03-24 12:08:12 +01:00
Alexander Dorofeyev fc064cb04b wined3d: Use primary_render_target_is_p8 in read_from_framebuffer. 2008-03-10 12:55:02 +01:00
Alexander Dorofeyev 8f8076c3f7 wined3d: Get rid of spurious err when locking with WINED3DLOCK_DISCARD. 2008-03-10 12:54:48 +01:00
Stefan Dösinger 825506d5ff wined3d: General cross format blitting infrastrucutre, R32F->R16F blits. 2008-02-26 11:31:19 +01:00
Roderick Colenbrander 0b3d880c8e wined3d: Use the color key in glAlphaFunc in case of index_in_alpha. 2008-02-22 11:54:51 +01:00
Roderick Colenbrander 0cdccfc8b5 wined3d: Unify p8 render target detection code. 2008-02-22 11:54:40 +01:00
Roderick Colenbrander a5444cb897 wined3d: In DirectDraw a palette is a property of a surface while in d3d8/9 it is a property of a device. 2008-02-22 11:54:31 +01:00
Roderick Colenbrander 98a0786096 wined3d: Don't flush in D3D RealizePalette without a palette. 2008-02-22 11:53:45 +01:00
Roderick Colenbrander 8f18eeea35 wined3d: Let flush_to_framebuffer_drawpixels use a valid rect. 2008-02-20 12:06:46 +01:00
Roderick Colenbrander 28464f9689 wined3d: Fix lack of indent in PreLoad. 2008-02-19 13:39:25 +01:00
Roderick Colenbrander 48275308ee wined3d: Add a GL specific RealizePalette which also updates the drawable. 2008-02-19 13:39:25 +01:00
Alexander Dorofeyev 5346039d5a wined3d: Take alpha from device palette entry for d3d 8 and later.
Adds support for D3D >= 8 style palettes that contain alpha. This fixes
rendering problems in games like Commandos 3 and Madden NFL 2004.
2008-02-19 13:39:24 +01:00
Roderick Colenbrander a29584b34f wined3d: Add SURFACE_BUSY support to *_BltFast. 2008-02-18 14:19:44 +01:00
Roderick Colenbrander 5437cb01f1 wined3d: Add SURFACE_BUSY support to *_Blt. 2008-02-18 14:19:37 +01:00
Stefan Dösinger d49c9bbcbe wined3d: Do not change the texture unit when binding surfaces.
Changing the texture unit when binding a surface for loading can break
the state manager in the way that it changes the currently active
texture unit while it is setting up a texture that has to be loaded.
Instead find out the current unit to dirtify the correct sampler.
2008-02-18 13:34:13 +01:00
Roderick Colenbrander ba90a740be wined3d: Add read_from_framebuffer_texture which combines code from read_from_framebuffer (drawpixels) and LoadLocation.
This makes the code easier to read and the pieces borrowed from
read_from_framebuffer are more correct than the code in LoadLocation.
2008-02-11 19:58:58 +01:00
Roderick Colenbrander 059778446f wined3d: Upload p8 palette using GL_ALPHA instead of GL_RED. 2008-02-08 11:04:36 +01:00
Roderick Colenbrander 424e9c3e08 wined3d: Allow read back of P8 surfaces. This fixes some of the redrawing issues in Red Alert. 2008-02-06 11:36:35 +01:00
Roderick Colenbrander f84589ea1f wined3d: Reload the palette on a color key change. This fixes the ddex4/ddex5 samples from the dx7 sdk. 2008-02-06 11:36:23 +01:00
Roderick Colenbrander 1b78457bc6 wined3d: Make sure to set the color key when it is needed including for index_in_alpha. 2008-02-06 11:36:15 +01:00
Stefan Dösinger 33d012efcb wined3d: Unload implicit depth stencil buffers correctly.
We have to destroy potential fbo renderbuffers, and make sure the
texture is gone
2008-02-05 12:32:42 +01:00
Andrew Talbot 18047e77e5 wined3d: Remove unneeded casts. 2008-01-24 11:41:42 +01:00
Roderick Colenbrander a1364d11c0 wined3d: Don't use texture_rectangle for paletted textures. 2008-01-23 11:31:42 +01:00
Alexander Dorofeyev d9567b7627 wined3d: Fix not released swapchain in some codepaths. 2008-01-22 11:19:43 +01:00
Marcus Meissner d757432c7d wined3d: Removed deadcode. 2008-01-21 12:41:31 +01:00
Pablo Spallanzani 91afa09ac0 wined3d: Fix texture coordinate calculation in surface_blt_to_drawable. 2008-01-15 11:36:44 +01:00
Stefan Dösinger c372654b26 wined3d: Implement IWineD3DSurface::UnLoad. 2008-01-14 15:10:30 +01:00
Stefan Dösinger e59ddb0ab1 wined3d: Add a new IWineD3DResource::UnLoad method. 2008-01-14 15:10:17 +01:00
Roderick Colenbrander a74ecc5f2f wined3d: Unify color conversion code. 2008-01-07 22:57:05 +01:00
Roderick Colenbrander f2e32f7c45 wined3d: Use software palette conversion for non-texturing operations. 2008-01-07 18:20:07 +01:00
H. Verbeet bf50e07f34 wined3d: SFLAG_INTEXTURE is the same as SFLAG_INDRAWABLE for offscreen render targets when ORM_FBO is used. 2008-01-03 11:40:31 +01:00
H. Verbeet 4863daf06a wined3d: Bind the surface texture in LoadLocation(). 2008-01-03 11:40:31 +01:00
H. Verbeet 6cab4c8005 wined3d: Move binding the texture and dirtifying the sampler to its own function from surface_download_data(). 2008-01-03 11:40:31 +01:00
H. Verbeet c46c53a12c wined3d: Call ActivateContext regardless of WINED3DCREATE_MULTITHREADED. 2008-01-03 11:40:31 +01:00
Alexander Dorofeyev 7165d7268b wined3d: Fix regression of colorfill and texture to swapchain codepaths in BltOverride. 2007-12-31 17:49:00 +01:00
Roderick Colenbrander f3df6cf42b wined3d: Only store the palette index in the alpha component when the primary render target uses P8.
This was already done in other places but I missed this spot.
2007-12-28 11:45:03 +01:00
Roderick Colenbrander 756cb66e78 wined3d: In case of GL_EXT_paletted_textures we use GL_COLOR_INDEX and don't need a GL_RED fixup. 2007-12-28 11:44:49 +01:00
Stefan Dösinger 2bec23fd7c wined3d: Fix a problem in BltOverride. 2007-12-27 13:44:05 +01:00
Alexander Dorofeyev f5aaabd1f2 wined3d: Rewrite IWineD3DSurfaceImpl_BltOverride colorfill codepath. 2007-12-21 13:58:13 +01:00
Stefan Dösinger b95f30134b wined3d: Implement texture -> swapchain blits with stretch_rect_fbo. 2007-12-19 12:19:43 +01:00
Stefan Dösinger 37e872e901 wined3d: Some improvements for SFLAG_CONVERTED checking.
We can check this flag before setting up the gl lock, and add the
surface format to the FIXME.
2007-12-19 12:19:39 +01:00
Stefan Dösinger 7e9af243d1 wined3d: Implement blits from the active render target to swapchains. 2007-12-19 12:19:12 +01:00
Stefan Dösinger 83c0b13c5b wined3d: Split up the render target -> render target blit. 2007-12-18 14:08:28 +01:00
Stefan Dösinger df77e28854 wined3d: Implement D3DFMT_G16R16. 2007-12-18 14:08:18 +01:00
Alexander Dorofeyev 1dbc9d50c9 wined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride. 2007-12-10 12:36:06 +01:00
Francois Gouget 5f7a9cea38 Assorted spelling fixes. 2007-12-07 16:35:32 +01:00
Stefan Dösinger 9bc6200ece wined3d: Add a method for querying the gl drawable size of rendertarget. 2007-12-04 14:32:39 +01:00
Stefan Dösinger 94cd8c276a wined3d: Remove the X channel fixup in render target unlocking. 2007-11-30 14:01:34 +01:00
Stefan Dösinger d09cbcec91 wined3d: Activate GL_ARB_texture_rectangle. 2007-11-29 13:36:55 +01:00
Stefan Dösinger 3fd0916654 wined3d: Make the code aware of GL_ARB_texture_rectangle. 2007-11-29 13:36:37 +01:00
Stefan Dösinger 7925ef35cd wined3d: Avoid hardcoding GL_TEXTURE_2D. 2007-11-29 13:36:05 +01:00
Stefan Dösinger 4dbee07ff5 wined3d: Disable GL_TEXTURE_2D in the standard blit setup. 2007-11-29 13:35:53 +01:00
Stefan Dösinger a0127f2e1f wined3d: Allow using a different internal format for fbos.
OpenGL drivers do not support some low precision internal formats
like GL_RGB5 for fbo color targets. Direct3D application depend on them,
so provide a fallback format for render targets if the requested format
itself is not supported.
2007-11-28 13:40:29 +01:00
Stefan Dösinger b91c19af87 wined3d: Inform the texture about filtering changes.
The surface_blt_to_drawable function changes the filtering settings of
the texture object, but without informing the container about this
change. This patch makes sure that the basetexture knows about this and
reapplies the changed states to the settings chosen by the app.
2007-11-28 13:40:28 +01:00
Stefan Dösinger f13bb40671 wined3d: Do not call PreLoad in surface_download_data. 2007-11-16 13:23:02 +01:00
Roderick Colenbrander 9b0d661e43 wined3d: Flush GL calls after drawing to the drawable. This fixes apps that use multiple GL contexts. 2007-11-12 14:13:14 +01:00
Roderick Colenbrander b238e39ec8 wined3d: Make sure SFLAG_LOCKED is set at the start of LockRect as various functions called from LockRect depend on it (e.g. LoadTexture if called from LoadLocation). 2007-11-09 12:40:26 +01:00
Stefan Dösinger 24ee003bfe wined3d: Pass surface dirtification to the container. 2007-11-08 12:18:30 +01:00
Stefan Dösinger ed937c6ad4 wined3d: Take care for client storage and pbos. 2007-11-08 12:07:30 +01:00
Roderick Colenbrander b3f7a5565a wined3d: Make sure the format of the render target is P8 too. 2007-11-06 13:57:03 +01:00
Roderick Colenbrander 9f808670ac wined3d: UnlockRect regression fix. 2007-11-05 14:11:52 +01:00
Roderick Colenbrander d39abb7667 wined3d: Only use p8 conversion on render targets. 2007-11-05 14:11:44 +01:00
Roderick Colenbrander 1f34016401 wined3d: Fix LockedRect regression. 2007-11-05 13:24:37 +01:00
Stefan Dösinger d97e3fd086 wined3d: Move texture->sysmem specific code into its special function. 2007-11-05 13:24:36 +01:00
Stefan Dösinger 4678cd75be wined3d: Move drawable->sysmem specific code to its special function. 2007-11-05 13:24:36 +01:00
Stefan Dösinger 2d11b509b4 wined3d: Move sysmem->drawable specific blit code out of LoadLocation. 2007-11-05 13:24:36 +01:00
Stefan Dösinger 1367e00750 wined3d: Remove a wrong return. 2007-11-05 13:24:36 +01:00
Stefan Dösinger 7c97b80193 wined3d: Remove an unneeded check. 2007-11-05 13:24:36 +01:00
Stefan Dösinger 393ed4a070 wined3d: Make resource memory 32 byte aligned. 2007-11-01 12:38:45 +01:00
Stefan Dösinger 4d4fce7e33 wined3d: Disconnect allocatedMemory and Heap allocation. 2007-11-01 12:38:37 +01:00
Stefan Dösinger f1f84a3615 wined3d: Allocate memory for default pool resources too. 2007-11-01 12:38:25 +01:00
Stefan Dösinger a175e7b68e wined3d: Move a part of LockRect to the base class. 2007-11-01 12:38:17 +01:00
Stefan Dösinger 2a09716c75 wined3d: Reenable render target unlocking via textures. 2007-11-01 12:38:02 +01:00
Stefan Dösinger 64929cfb33 wined3d: Move memory allocation into a separate function. 2007-11-01 12:37:51 +01:00
Stefan Dösinger 948292dbc3 wined3d: Move texture -> drawable blits to LoadLocation. 2007-11-01 12:37:43 +01:00
Stefan Dösinger 58ed14eb52 wined3d: Honor pbos when downloading a compressed texture. 2007-10-29 12:04:18 +01:00
Stefan Dösinger f6637cae98 wined3d: Move texture loading to LoadLocation. 2007-10-29 12:04:11 +01:00