Commit Graph

340 Commits

Author SHA1 Message Date
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
Stefan Dösinger 2a85970631 wined3d: Move sysmem->drawable copying to LoadLocation. 2007-10-29 12:04:01 +01:00
Stefan Dösinger dc1848bd22 wined3d: Add a comment explaining what LoadLocation does. 2007-10-29 12:03:51 +01:00
Stefan Dösinger 34d6b38397 wined3d: Move drawable->sysmem reading to UpdateLocation. 2007-10-29 12:03:44 +01:00
Stefan Dösinger 20f1f50b2a wined3d: Move regular surface / texture downloading to LoadLocation. 2007-10-26 15:18:15 +02:00
Stefan Dösinger 123744910f wined3d: Add a method for surface location updates. 2007-10-26 15:17:30 +02:00
Stefan Dösinger dcff7dc213 wined3d: Begin centralizing surface location management. 2007-10-26 15:17:19 +02:00
Roderick Colenbrander e1a3e9a6ef wined3d: Rebind the 2D texture corresponding to the p8 surface. In some programs this caused nothing to show up. 2007-10-22 12:37:44 +02:00
Francois Gouget 7785c93b02 wined3d: Fix the d3dfmt_p8_init_palette() prototype. 2007-10-15 14:04:54 +02:00
Roderick Colenbrander b4678b7b10 wined3d: Optimize P8 fragment shader. 2007-10-15 11:10:26 +02:00
Roderick Colenbrander 134aa67ec9 wined3d: Use a fragment shader to do P8 palette conversion in hardware. 2007-10-12 11:07:23 +02:00
Roderick Colenbrander 5749dd4051 wined3d: Fix inverse palette lookup for P8 surfaces.
The previous method didn't take into account duplicate entries for the same color.
2007-10-12 11:07:07 +02:00
Roderick Colenbrander 8e64d870b1 wined3d: Merge p8 palette initialization code. 2007-10-10 11:59:51 +02:00
Francois Gouget b2bc712323 Assorted spelling fixes. 2007-09-27 20:12:53 +02:00
Stefan Dösinger 10f25e0104 wined3d: Add signed format conversion for glsl. 2007-09-24 13:29:54 +02:00
Stefan Dösinger e94a21b270 wined3d: Fix a typo in the surface code. 2007-09-20 15:53:28 +02:00
Stefan Dösinger 46e2d79508 wined3d: Move the software blitting to the base surface class. 2007-09-18 09:54:49 +02:00
Stefan Dösinger 3f0ea3d082 wined3d: Move lastActiveRenderTarget cleanup to the device. 2007-09-18 09:54:23 +02:00
Stefan Dösinger 5a7756447b wined3d: Move DIB section creation to the base surface implementation. 2007-09-18 09:54:05 +02:00
Stefan Dösinger e324da1494 wined3d: Remove a pbo check. 2007-09-18 09:53:50 +02:00
Stefan Dösinger 511f9dfb2d wined3d: Clean up SetMem. 2007-09-18 09:34:08 +02:00
Stefan Dösinger e56c6610c6 wined3d: Clean up SetFormatDesc. 2007-09-18 09:34:08 +02:00
Stefan Dösinger e2944175e5 wined3d: Base surface move, part 2. 2007-09-18 09:34:08 +02:00
Stefan Dösinger d99143c251 wined3d: Move non-rendering surface specific code to the base class. 2007-09-18 09:34:08 +02:00
Stefan Dösinger 0c91610433 wined3d: Move resource methods to the base surface class. 2007-09-18 09:34:08 +02:00
Stefan Dösinger 8434060b7e wined3d: Start of some surface cleanup.
This patch and the following intend to make the surface code more
manageable and are a preparation to add gl3 support. The code adds a
new IWineD3DBaseSurface surface type, which will contain the
non-rendering management code. IWineD3DSurface and IWineGDISurface
will be derived from IWineD3DBaseSurface, and IWineGL3Surface can be
added later.
2007-09-18 09:34:08 +02:00
Michael Stefaniuc a5fdea0e6a janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch. 2007-09-17 13:47:49 +02:00
Roderick Colenbrander 2374c456bc wined3d: Add pbo support for compressed textures. 2007-09-17 12:10:40 +02:00
Roderick Colenbrander f9002c2628 wined3d: Don't create a pbo for system memory surfaces. 2007-09-17 12:10:21 +02:00
Stefan Dösinger 3961491d15 wined3d: Do not invalidate the sysmem copy if a pbo exists. 2007-09-17 12:08:54 +02:00
Stefan Dösinger f42f228621 wined3d: Do not allocate memory if there's a pbo. 2007-09-17 12:08:47 +02:00
Roderick Colenbrander ad692f2a83 wined3d: Add PBO support for dynamically locked surfaces. 2007-09-13 11:00:47 +02:00
Stefan Dösinger 0ed81b20af wined3d: Emulate D3DFMT_L6V5U5. 2007-09-12 12:09:56 +02:00
Roderick Colenbrander 12e942b135 wined3d: Move the memory code of LockRect to the end of the function.
This is needed for PBOs because for those memory allocation works differently.
2007-09-12 11:20:35 +02:00
Stefan Dösinger 41bf0d48db wined3d: Fix WINED3DFMT_X8L8V8U8. 2007-09-11 13:48:15 +02:00
Roderick Colenbrander 63c06b4b38 wined3d: Fix ddraw-opengl surface free bug. 2007-09-10 16:47:49 +02:00
Stefan Dösinger bb213f67a3 wined3d: Take the format into account when finding the clear value. 2007-08-31 11:25:46 +02:00
Francois Gouget a116879507 Assorted spelling fixes. 2007-08-30 12:26:02 +02:00
Stefan Dösinger a489aa488b wined3d: Accept rendering to sublevels with backbuffer orm. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 3b822b80fe wined3d: Reject opengl accelerated blits with system memory surfaces. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 0d749e8e26 wined3d: Clear unused channels on R32F and R16F textures on readback. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 50c101135c wined3d: Refuse to ReleaseDC the wrong DC. 2007-08-23 13:34:00 +02:00
Stefan Dösinger ea283d3cba wined3d: Refuse to lock locked surfaces. 2007-08-23 13:33:40 +02:00
Roderick Colenbrander 3c08b23024 wined3d: Fix a null pointer dereference. 2007-08-21 21:38:57 +02:00
Stefan Dösinger 86b991c851 wined3d: Fix R32F and R16F. 2007-08-17 12:01:38 +02:00
Stefan Dösinger 028729d102 wined3d: Fix WINED3DFMT_A4L4. 2007-08-16 11:35:06 +02:00
Roderick Colenbrander e77da5ef8a wined3d: Don't call ActivateContext between ENTER_GL/LEAVE_GL. 2007-08-07 12:36:32 +02:00
H. Verbeet cfb07e7114 wined3d: Set SFLAG_INSYSMEM when WINED3DLOCK_DISCARD is passed to IWineD3DSurfaceImpl_LockRect. 2007-08-02 12:18:41 +02:00
Alexandre Julliard af4b9bb85c wined3d: Fix compiler warning. 2007-07-30 14:14:01 +02:00
Stefan Dösinger d2016ff892 wined3d: Store the gl format table in the gl info structure. 2007-07-30 12:49:50 +02:00
Stefan Dösinger a0131a3272 wined3d: Split up the format table. 2007-07-30 12:49:39 +02:00
Stefan Dösinger 59efd5c7ec wined3d: Set the pow2 sizes in gl surface private setup. 2007-07-26 11:48:36 +02:00
Michael Stefaniuc 25707d4c5d wined3d: Remove a return after a return. Found by Smatch. 2007-07-25 13:02:39 +02:00
Stefan Dösinger 9ba3f389f6 wined3d: Initialize surfaces at creation. 2007-07-10 13:30:31 +02:00
Michael Stefaniuc 0326da9dd5 wined3d: Remove superfluous casts of void pointers to other pointer types. 2007-06-27 12:53:37 +02:00
Stefan Dösinger fb269f9210 wined3d: Depthfill blits are allowed between BeginScene and Endscene. 2007-06-22 13:42:51 +02:00
Stefan Dösinger 6e5a5d2736 wined3d: DDraw surfaces are QWORD aligned. 2007-06-14 13:22:52 +02:00
Stefan Dösinger c9b8a79e0b wined3d: Implement vertical refresh sync. 2007-06-14 13:21:54 +02:00
Stefan Dösinger ef65b233c0 wined3d: Some render target->texture blit context handling. 2007-06-11 13:56:47 +02:00
Stefan Dösinger a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Francois Gouget 96c337f0a1 Assorted spelling fixes. 2007-06-07 19:24:32 +02:00
Phil Costin e7578dca36 wined3d: Add support for loading gamma corrected textures. 2007-06-07 13:01:49 +02:00
Lei Zhang f00670df61 wined3d: Various spelling fixes. 2007-06-06 13:40:01 +02:00
Chris Robinson 1e64bb93a4 wined3d: Add a few missing checkGLcall calls. 2007-06-05 12:19:10 +02:00
Kolbjoern Fredheim cb8a8182d1 wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying. 2007-05-22 12:26:49 +02:00
Stefan Dösinger 093261b729 wined3d: Only addref clippers if one exists. 2007-05-11 11:26:40 +02:00
Stefan Dösinger a90f650fd2 wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target. 2007-05-11 11:25:41 +02:00
Stefan Dösinger e7b68eec34 ddraw: Use point filter for blit operations.
D3DTEXF_NONE is a special value for mipmapping which disabled
mipmapping, but it is not a valid mag / min filter parameter.
D3DTEXF_POINT is what we want
2007-05-11 11:21:29 +02:00
Francois Gouget f999a9e433 wined3d: Add a missing '\n' to a trace. 2007-05-11 11:20:34 +02:00
Stefan Dösinger c9bc4ee760 wined3d: Handle DDPCAPS_ALPHA. 2007-05-08 18:28:38 +02:00
Stefan Dösinger 0fb41a8845 wined3d: Make the blit -> flip work for windowed rendering. 2007-05-08 18:28:08 +02:00
Stefan Dösinger d93e161b1f d3d: Move clippers from DDraw to wined3d. 2007-05-08 18:27:44 +02:00
H. Verbeet 7b48db196f d3d: Fix the surface locking rectangle validation. 2007-05-04 13:41:13 +02:00
Stefan Dösinger 61d1abb1c1 wined3d: Do not allocate surfaces unless needed. 2007-04-26 14:51:56 +02:00
H. Verbeet 5fddfd5bbc wined3d: Use surface_get_gl_buffer where appropriate. 2007-04-17 11:12:43 +02:00
H. Verbeet 1b9a5ba682 wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum. 2007-04-17 11:12:34 +02:00
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
H. Verbeet 2423c9f003 wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride. 2007-04-10 21:39:43 +02:00
H. Verbeet 75e91fa409 wined3d: Use the framebuffer blit extension to implement StretchRect. 2007-04-09 12:40:52 +02:00
H. Verbeet c9b178b594 wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target. 2007-04-09 12:39:23 +02:00