Commit Graph

966 Commits

Author SHA1 Message Date
Henri Verbeet 94c0da184e wined3d: Create a PBO in surface_load_location() even if SFLAG_INSYSMEM is already set.
In the longer term, sysmem and pbo should be separate resource locations.
2011-12-01 10:06:12 +01:00
Henri Verbeet 39ebb992f7 wined3d: Introduce a separate function to determine if a surface needs a PBO. 2011-12-01 10:06:07 +01:00
Henri Verbeet 4a7cbba0ea wined3d: Move the surface map counting code to wined3d_surface_map(). 2011-12-01 10:06:02 +01:00
Henri Verbeet 3a2921c559 ddraw: Keep the primary surface mapped at the same address for early ddraw versions. 2011-11-30 11:50:58 +01:00
Henri Verbeet 3430e11605 wined3d: Add a flags parameter to wined3d_surface_create(). 2011-11-30 11:50:48 +01:00
Henri Verbeet 24775459c8 wined3d: Don't apply fixups to converted surfaces. 2011-11-25 16:21:56 +01:00
Henri Verbeet 7459180a51 wined3d: Get rid of the WINED3DCOLORVALUE typedef. 2011-11-16 09:41:50 +01:00
Henri Verbeet 0ba5f7dd98 wined3d: Get rid of RTL_DISABLE. 2011-11-09 11:34:11 +01:00
Henri Verbeet b6c7a3dbc8 wined3d: Don't print FIXMEs for misaligned surface maps. 2011-11-09 11:34:04 +01:00
Henri Verbeet d6b432b068 wined3d: Get rid of client_memory from wineD3DSurface_DIB. 2011-11-08 09:50:23 +01:00
Henri Verbeet 896aaa67ca wined3d: Get rid of holdbitmap from wineD3DSurface_DIB. 2011-11-08 09:50:18 +01:00
Henri Verbeet 604d154002 wined3d: Only report a broken pitch in wined3d_surface_map().
We'd like the correct pitch for internal calls to wined3d_surface_get_pitch().
2011-11-08 09:50:13 +01:00
Stefan Dösinger 7eefed1410 wined3d: YUY2 and UYVY are block based. 2011-11-07 14:32:16 +01:00
Stefan Dösinger 7fd752047d d3d9/tests: Test partial block locks. 2011-11-07 14:27:24 +01:00
Henri Verbeet a64271c07e wined3d: Make the surface parameter to blit_shader.set_shader() const. 2011-11-07 11:32:47 +01:00
Henri Verbeet 35515e4669 wined3d: Remove surface_draw_overlay from wined3d_surface_ops. 2011-11-07 11:32:34 +01:00
Henri Verbeet 48b6050ca3 wined3d: Remove surface_preload from wined3d_surface_ops. 2011-11-07 11:32:28 +01:00
Henri Verbeet 3f11631e75 wined3d: Merge surface_getdc() and gdi_surface_getdc(). 2011-11-04 10:44:32 +01:00
Henri Verbeet 3bfecd58d2 wined3d: Avoid a drawable -> texture transfer through sysmem in arbfp_blit_surface() with backbuffer ORM. 2011-11-04 10:44:14 +01:00
Stefan Dösinger 9b0adb406d wined3d: Locking partial blocks is not allowed in DEFAULT pool resources. 2011-11-03 13:52:15 +01:00
Henri Verbeet 335a6ca78e wined3d: Use wined3d_surface_blt() in swapchain_gl_present(). 2011-11-03 13:00:50 +01:00
Henri Verbeet c30ea3767c wined3d: Use wined3d_surface_blt() in surface_upload_from_surface(). 2011-11-03 13:00:40 +01:00
Henri Verbeet fcf96b634a wined3d: Create the DIB section for DDSCAPS_OWNDC surfaces on initialization. 2011-10-31 23:52:51 +01:00
Henri Verbeet 7de4df9fd9 wined3d: Get rid of the wined3d_surface_bltfast() export. 2011-10-31 23:52:47 +01:00
Henri Verbeet bf5ab0a199 wined3d: Make the device parameter to surface_blt_to_drawable() const. 2011-10-27 19:34:19 +02:00
Henri Verbeet 61550ff1de wined3d: Use the correct pitch in surface_upload_data().
This fixes a regression introduced by commit
2da4f87a7e.
2011-10-27 19:34:00 +02:00
Henri Verbeet 22d2d26ffc wined3d: Make the device parameter to surface_blt_fbo() const. 2011-10-27 12:25:29 +02:00
Henri Verbeet 54dc38718b wined3d: Make the device parameter to wined3d_surface_depth_blt_fbo() const. 2011-10-27 12:25:24 +02:00
Henri Verbeet 6a981239db wined3d: Get rid of the unused palette9 wined3d_surface field. 2011-10-27 12:25:19 +02:00
Henri Verbeet a42774f042 wined3d: Only check for sRGB attachability when needed in surface_load_texture(). 2011-10-26 12:41:33 +02:00
Henri Verbeet 2da4f87a7e wined3d: Upload directly from the source surface in wined3d_surface_blt(), if possible.
This avoids either loading sysmem surfaces into video memory (wasting GPU
memory) and then doing a blit on the GPU, or downloading GPU surfaces to
sysmem, doing a blit on the CPU, and likely uploading it again. This mostly
matters for ddraw and d3d8 applications, d3d9 already has to go through
wined3d_device_update_surface() to transfer data from sysmem surfaces to GPU
surfaces.
2011-10-25 16:57:23 +02:00
Henri Verbeet e6101816a2 wined3d: Get rid of surface_gdi_cleanup().
It's effectively the same as surface_cleanup(). The GL objects that
surface_cleanup() destroys are never created for "GDI" surfaces.
2011-10-24 11:16:40 +02:00
Henri Verbeet 6e8273177a wined3d: Reject multisampled readbacks in wined3d_surface_get_render_target_data(). 2011-10-24 11:16:33 +02:00
Henri Verbeet 4229d865d2 wined3d: Only try to load surfaces from the drawable if the drawable is current in surface_load_sysmem(). 2011-10-24 11:16:27 +02:00
Henri Verbeet 82f067f5cd wined3d: Allow loading multisampled surfaces into sysmem. 2011-10-20 11:02:57 +02:00
Henri Verbeet 3042860478 wined3d: Detach any attached overlays on surface cleanup.
Spotted by Dan Kegel / Valgrind.
2011-10-19 12:23:47 +02:00
Henri Verbeet 68e1484bec wined3d: Mark default pool surfaces lost when they're unloaded. 2011-10-18 15:10:13 +02:00
Henri Verbeet ca43c49968 wined3d: Keep surfaces in sysmem if they're both already there in wined3d_surface_blt().
The idea is to avoid bouncing surfaces between the CPU and GPU when doing both
locks and blits on a surface. This is mostly an issue for ddraw applications.
2011-10-18 15:10:06 +02:00
Stefan Dösinger 496b438ede wined3d: Remove d3d8/9 palette support. 2011-10-11 13:37:49 +02:00
Henri Verbeet 5609f062d2 wined3d: Dump the WINEDDBLTFX structure in wined3d_surface_blt(). 2011-09-20 16:21:38 +02:00
Henri Verbeet b9fcf71c71 ddraw: Use real flips. 2011-09-16 17:23:08 +02:00
Henri Verbeet 8009a4947b wined3d: Flush after surface updates.
This is similar to 5d1d07abcf. We need to flush
to ensure resource updates are visible in other contexts, since otherwise GL
doesn't make any ordering guarantees between contexts.
2011-09-15 15:41:40 +02:00
Henri Verbeet bbb77cba74 wined3d: Add support for flipping compressed surfaces to surface_cpu_blt(). 2011-09-09 13:33:33 +02:00
Henri Verbeet 5c57b53a6c wined3d: Use the CPU blitter for blitting to converted surfaces. 2011-09-09 13:33:25 +02:00
Henri Verbeet e82e1c2ac5 wined3d: Disable sRGB decoding in draw_textured_quad().
We're always supposed to draw the RGB texture here. sRGB decoding may be
enabled if sRGB decoding was enabled to last time the surface was used as a
texture, or if it was never used as a texture at all.
2011-09-09 13:33:22 +02:00
Gerald Pfeifer 0affcc3a7d wined3d: Remove dead code (and variable) from wined3d_surface_flip. wined3d_surface_flip. 2011-09-08 20:08:06 +02:00
Henri Verbeet 19da825b12 wined3d: Use draw_binding for the surface_modify_location() call in surface_unmap() as well. 2011-09-08 11:11:10 +02:00
Henri Verbeet 79c438b2f2 wined3d: Implement wined3d_surface_flip() as a blit.
This allows us to actually take the "override" parameter into account. Plain
back -> front flips will be detected in wined3d_surface_flip() and will still
be handled by wined3d_swapchain_present().
2011-09-07 11:12:17 +02:00
Henri Verbeet 1b9bc1a950 wined3d: Try doing a present in wined3d_surface_blt() instead of IWineD3DSurfaceImpl_BltOverride(). 2011-09-06 10:48:36 +02:00
Henri Verbeet b86d69de16 wined3d: Don't override the swapchain present interval in IWineD3DSurfaceImpl_BltOverride(). 2011-09-06 10:48:31 +02:00