Henri Verbeet
d0d094dea2
wined3d: Respect SFLAG_PIN_SYSMEM when creating a surface DIB section.
2012-01-19 11:56:30 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Francois Gouget
cbc7a0361e
wined3d: Add a trailing '\n' to a FIXME() message.
2012-01-16 12:45:34 +01:00
Henri Verbeet
e70990041b
wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef.
2012-01-13 17:34:31 +01:00
Henri Verbeet
a206f43648
wined3d: Get rid of wined3d_surface_set_format().
2012-01-13 17:34:30 +01:00
Henri Verbeet
afb64506ba
ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc().
2012-01-13 17:34:30 +01:00
Matteo Bruni
c6c5c6905e
wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
...
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all
surfaces anyway.
2012-01-13 17:34:30 +01:00
Matteo Bruni
add5916c77
wined3d: Set depth textures dirty after modifying the underlying surface.
2012-01-13 17:34:30 +01:00
Diego Nieto Cid
759bad0202
wined3d: Convert rtInternal and glGammaInternal.
2012-01-11 19:42:50 +01:00
Henri Verbeet
b55e3d82cf
wined3d: Set SFLAG_PIN_SYSMEM when the application tries to use surfaces that are currently mapped.
2012-01-11 12:32:55 +01:00
Matteo Bruni
1c14c0d2fc
wined3d: Don't use separate location flags for depth buffers.
2012-01-10 10:48:26 +01:00
Matteo Bruni
e4c0d6abbe
wined3d: Don't try to remove the location flag if it's not there in the first place.
2012-01-10 10:48:13 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
f1e2c5df93
wined3d: Only flip SFLAG_DIBSECTION once in flip_surface().
...
We already swap all flags at a later point in flip_surface().
2012-01-09 12:22:03 +01:00
Henri Verbeet
3d33887c2f
wined3d: Get rid of the WINED3DSWAPEFFECT typedef.
2012-01-06 19:24:22 +01:00
Henri Verbeet
0feb72f000
wined3d: Handle client storage in surface_remove_pbo().
2011-12-21 10:14:44 +01:00
Henri Verbeet
317d5406d5
wined3d: Handle client storage in surface_init_sysmem().
2011-12-21 10:14:41 +01:00
Henri Verbeet
b57d1e7c33
wined3d: Don't call surface_init_sysmem() on surfaces with a PBO.
2011-12-21 10:14:37 +01:00
Henri Verbeet
3082c1a9de
wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef.
2011-12-20 10:11:47 +01:00
Henri Verbeet
943fcb0fc4
wined3d: Use the correct source pitch and byte_count for uploading converted surfaces.
2011-12-13 18:58:57 +01:00
Henri Verbeet
e6fb4537f0
ddraw: Move clipper handling to ddraw.
2011-12-13 18:58:37 +01:00
Henri Verbeet
f3afa69f8d
wined3d: Introduce a helper function for checking colors against a color key.
2011-12-09 21:15:24 +01:00
Henri Verbeet
3dd03f642d
wined3d: Get rid of the WINEDDCOLORKEY typedef.
2011-12-08 10:27:53 +01:00
Henri Verbeet
2d1a941b7d
wined3d: Properly check if a surface has a DIB section in gdi_surface_map().
2011-12-08 10:27:32 +01:00
Henri Verbeet
56e3e05e57
wined3d: Read the PBO back into the DIB section if we have one in surface_remove_pbo().
2011-12-08 10:27:29 +01:00
Henri Verbeet
5c5216e609
wined3d: Get rid of the WINED3DBOX typedef.
2011-12-07 17:49:56 +01:00
Henri Verbeet
eafebc0491
wined3d: Get rid of the WINED3DLOCKED_RECT typedef.
2011-12-06 15:50:58 +01:00
Henri Verbeet
94c9b0b4fc
wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef.
2011-12-02 11:51:29 +01:00
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
Henri Verbeet
3346fc747c
wined3d: Get rid of the rect checks for present in IWineD3DSurfaceImpl_BltOverride().
2011-09-05 10:56:54 +02:00
Henri Verbeet
ca69a23d52
wined3d: Get rid of some redundant else statements in IWineD3DSurfaceImpl_BltOverride().
2011-09-02 10:09:01 +02:00
Henri Verbeet
179d6f8087
wined3d: Remove a redundant compare in IWineD3DSurfaceImpl_BltOverride().
...
If the source surface isn't on the destination swapchain it can't be a
backbuffer there either.
2011-09-02 10:08:57 +02:00
Henri Verbeet
cc10600b52
wined3d: Print a FIXME for any flags passed to wined3d_surface_flip().
2011-09-02 10:08:53 +02:00
Henri Verbeet
55ce85ad29
wined3d: Merge the wined3d_surface_flip() implementations.
2011-09-01 18:06:36 +02:00
Henri Verbeet
b587b85394
wined3d: Merge the wined3d_surface_set_mem() implementations.
2011-09-01 18:06:36 +02:00
Austin English
b2f7461a4d
wined3d: Remove an unused variable.
2011-09-01 18:06:36 +02:00
Henri Verbeet
dd462052c6
wined3d: Use the resource size for copying between a surface's DIB and PBO.
2011-08-31 12:07:57 +02:00
Matteo Bruni
0386b44bad
wined3d: Keep track of the current texture type for each texture unit.
2011-08-29 12:08:19 +02:00
Henri Verbeet
641f52ef96
wined3d: Add multisampling support.
2011-08-26 11:28:47 +02:00
Henri Verbeet
3b478afd10
wined3d: Get rid of the location fixup in surface_blt_fbo().
2011-08-26 11:27:50 +02:00
Henri Verbeet
eac640532d
wined3d: Get rid of the location fixup for ORM_FBO in surface_modify_location().
2011-08-26 11:27:46 +02:00
Henri Verbeet
68a5305dfd
wined3d: Get rid of the location fixup for ORM_FBO in surface_load_location().
2011-08-26 11:27:43 +02:00
Matteo Bruni
d485e04576
wined3d: Fetch currently active texture unit from the wined3d_context.
2011-08-25 11:31:55 +02:00
Matteo Bruni
f47f9f7c74
wined3d: Store currently active texture in the wined3d context.
2011-08-25 11:31:55 +02:00
Matteo Bruni
e53ae83d74
wined3d: Pass around the context instead of gl_info.
2011-08-25 11:31:55 +02:00
Matteo Bruni
be8ea9c36e
wined3d: Make context_acquire() unconditional in a bunch of places.
2011-08-25 11:31:55 +02:00
Henri Verbeet
6cdfb95c8e
wined3d: Use draw_binding in surface_unload().
2011-08-25 11:31:53 +02:00
Henri Verbeet
1d43f07239
wined3d: Use draw_binding in surface_realize_palette().
2011-08-25 11:31:53 +02:00
Henri Verbeet
683b52ed92
wined3d: Use draw_binding in surface_unmap().
2011-08-25 11:31:53 +02:00
Henri Verbeet
1ae498dc59
wined3d: Use draw_binding in IWineD3DSurfaceImpl_BltOverride().
2011-08-25 11:31:53 +02:00