Henri Verbeet
7438e42f1a
wined3d: Do checks at the start of surface_init() (LLVM/Clang).
2011-01-26 15:00:12 +01:00
Henri Verbeet
4891ca168e
wined3d: Remove IWineD3DSurface::DrawOverlay() from the public interface.
2011-01-24 14:43:26 +01:00
Henri Verbeet
05603c4568
wined3d: Remove IWineD3DSurface::RealizePalette() from the public interface.
2011-01-24 14:43:26 +01:00
Henri Verbeet
ce050c89de
wined3d: Get rid of IWineD3DSurface::GetData().
2011-01-21 18:37:09 +01:00
Henri Verbeet
0b7fef751e
wined3d: Remove IWineD3DSurface::LoadTexture() from the public interface.
2011-01-21 18:37:06 +01:00
Henri Verbeet
629d81b192
wined3d: Remove IWineD3DSurface::BindTexture() from the public interface.
2011-01-21 18:37:04 +01:00
Henri Verbeet
227efbbf65
wined3d: Store a pointer to an array of IWineD3DSwapChainImpl pointers in the device.
2011-01-20 12:19:04 +01:00
Henri Verbeet
d91a413ade
wined3d: Store an IWineD3DClipperImpl pointer in IWineD3DSurfaceImpl.
2011-01-18 12:32:10 +01:00
Henri Verbeet
134137cdb4
wined3d: Pass an IWineD3DResourceImpl pointer to resource_cleanup().
2011-01-06 11:33:24 +01:00
Henri Verbeet
7080922e0e
wined3d: Pass an IWineD3DResourceImpl pointer to resource_init().
2011-01-06 11:33:19 +01:00
Henri Verbeet
d72520b5cc
wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface.
2011-01-05 17:22:01 +01:00
Henri Verbeet
e5d1a0c72d
wined3d: Use surface_modify_location() to manipulate location flags in IWineD3DSurfaceImpl_Unmap().
...
Directly setting SFLAG_INFRAWABLE breaks for offscreen render targets, where
the drawable and texture are the same thing. Before commit
d3fd7b247b
the explicit load of the texture
location with the default RTL_READTEX render target lock mode would have
prevented the flags from becomming inconsistent.
2011-01-05 17:21:28 +01:00
Henri Verbeet
3a59137b09
wined3d: Pass an IWineD3DBaseTextureImpl pointer to internal_preload().
2011-01-04 11:09:52 +01:00
Henri Verbeet
0e3c60786e
wined3d: Explicitly pass gl_info to unset_shader().
2010-12-10 13:02:26 +01:00
Henri Verbeet
ae7a20af2f
wined3d: Explicitly pass blit_priv and gl_info to set_shader().
2010-12-10 13:02:24 +01:00
Henri Verbeet
7f09eb6a7a
wined3d: Pass an IWineD3DDeviceImpl pointer to free_private().
2010-12-09 12:14:31 +01:00
Henri Verbeet
4ba3b64c57
wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private().
2010-12-09 12:14:25 +01:00
Henri Verbeet
a3b2407824
wined3d: Remove IWineD3DBaseTexture::SetDirty() from the public interface.
2010-12-09 12:14:19 +01:00
Henri Verbeet
018a48493b
wined3d: Remove a redundant SetDirty() call from IWineD3DSurfaceImpl_Map().
...
The surface_add_dirty_rect() call already does this.
2010-12-08 11:27:44 +01:00
Henri Verbeet
46f3cc9df6
wined3d: Don't leak heapMemory in surface_remove_pbo().
2010-12-08 11:27:34 +01:00
Henri Verbeet
7363b0e98a
wined3d: Explicitly pass data and gl_info to shader_deselect_depth_blt().
2010-11-30 10:57:23 +01:00
Henri Verbeet
93a824d744
wined3d: Explicitly pass data and gl_info to shader_select_depth_blt().
2010-11-30 10:57:17 +01:00
Henri Verbeet
03f7a2d88e
wined3d: Get rid of the remaining "Flags".
2010-11-23 13:15:36 +01:00
Henri Verbeet
4f651808fc
wined3d: Disallow empty surfaces.
2010-11-18 12:37:36 +01:00
Henri Verbeet
faba8d734d
wined3d: Send a notification that the GL texture changed in flip_surface().
...
Strictly speaking the texture doesn't get unloaded, but it does get associated
with a different surface. The FBO cache in particular is much happier when it
gets notified of these.
2010-11-17 14:01:14 +01:00
Henri Verbeet
4dc28005eb
wined3d: Remove a redundant flag in IWineD3DSurfaceImpl_SetMem().
2010-11-16 13:48:42 +01:00
Henri Verbeet
745126b05d
wined3d: Properly recreate the sysmem resource location in IWineD3DSurfaceImpl_SetMem().
...
Otherwise we could end up with surfaces that have SFLAG_INSYSMEM set, but no
actual system memory allocated. This was exposed by
3bbe658ef1
.
2010-11-15 15:04:41 +01:00
Henri Verbeet
44b9712cd6
wined3d: Add a trace to IWineD3DSurfaceImpl_SetMem().
2010-11-15 15:04:36 +01:00
Henri Verbeet
60b5dc04b7
wined3d: Rename the IWineD3DPaletteImpl "Flags" field to "flags".
2010-11-15 15:04:32 +01:00
Henri Verbeet
efb185dcd5
wined3d: Rename the wined3d_format "Flags" field to "flags".
2010-11-12 15:43:08 +01:00
Henri Verbeet
027fdb31c2
wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags".
2010-11-12 15:43:07 +01:00
Henri Verbeet
a59ee29dec
wined3d: Simplify a condition in IWineD3DSurfaceImpl_LoadTexture().
2010-11-12 15:43:07 +01:00
Henri Verbeet
4bd1f04fbd
wined3d: Check for depth/stencil surfaces in general in IWineD3DSurfaceImpl_Unmap().
...
Instead of just the current one.
2010-11-12 15:43:07 +01:00
Henri Verbeet
db013ed213
wined3d: Avoid marking samplers dirty in IWineD3DSurfaceImpl_Unmap().
...
Resources are explicitly loaded in context_apply_draw_state() when needed, the
resource location management takes care of all of this.
2010-11-12 15:43:07 +01:00
Henri Verbeet
3bbe658ef1
wined3d: Remove some useless code.
2010-11-11 13:11:37 +01:00
Henri Verbeet
78abb8ae07
wined3d: Simply use surface_modify_location() in IWineD3DSurfaceImpl_Map() with WINED3DLOCK_DISCARD.
...
The call to surface_add_dirty_rect() would have taken care of evicting the
other locations anyway, but we really shouldn't be touching the location flags
directly.
2010-11-11 13:11:34 +01:00
Henri Verbeet
d3fd7b247b
wined3d: Handle rendertargetlock_mode in surface_load_location().
2010-11-11 13:11:30 +01:00
Henri Verbeet
8e059205ba
wined3d: Translate drawable coordinates in flush_to_framebuffer_drawpixels().
2010-11-02 13:17:35 +01:00
Henri Verbeet
3f0d16c5bf
wined3d: Do not use "lockedRect" unless the surface is locked in flush_to_framebuffer_drawpixels().
2010-11-02 13:17:31 +01:00
Henri Verbeet
e35b6aa1a7
wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates.
2010-11-01 13:34:43 +01:00
Henri Verbeet
27bf4c3747
wined3d: Remove some redundant state save/restore code from flush_to_framebuffer_drawpixels().
2010-10-29 14:33:57 +02:00
Henri Verbeet
7414ebc975
wined3d: Don't flip the coordinate system in set_blit_dimension().
2010-10-29 14:33:57 +02:00
Henri Verbeet
2b58f80c27
wined3d: Use surface_blt_to_drawable() in IWineD3DSurfaceImpl_BltOverride().
2010-10-21 16:15:31 +02:00
Henri Verbeet
574169174e
wined3d: Check if we can do the blit before messing with surface flags in IWineD3DSurfaceImpl_BltOverride().
...
As an added benefit blit_supported() will now get the rectangles in the
correct coordinate system.
2010-10-21 16:15:25 +02:00
Henri Verbeet
1237e8065e
wined3d: Properly flip in surface_blt_to_drawable().
...
We want to flip the coordinate system, not just the rectangle.
2010-10-19 13:50:13 +02:00
Henri Verbeet
8a96a8cc1f
wined3d: Always pass a valid rectangle to surface_get_blt_info().
2010-10-19 13:50:09 +02:00
Henri Verbeet
ca381b610c
wined3d: Allow FBO blits again between surfaces with fixups if they have the same format.
...
For some reason f1ca14cb5b
disabled this.
2010-10-19 13:50:01 +02:00
Henri Verbeet
1fa3365832
wined3d: Flip destination coordinates when blitting to an offscreen target in BltOverride().
2010-10-15 16:19:50 +02:00
Henri Verbeet
95469309d6
wined3d: Consistently use Map/Unmap for mapping resources.
2010-10-14 17:54:52 +02:00
Henri Verbeet
b68d257710
wined3d: Get rid of redundant comparisons against NULL / 0.
2010-09-14 09:43:33 -05:00
Henri Verbeet
8fbf23f0cc
wined3d: Don't overwrite the offscreen depth/stencil surface with undefined data in surface_load_ds_location().
2010-09-06 16:14:26 +02:00
Henri Verbeet
8e0cb60b09
wined3d: Do not call device_switch_onscreen_ds() while under the GL lock.
2010-09-06 16:14:18 +02:00
Henri Verbeet
bc2db78c3a
wined3d: Explicitly document some more consequences of GL locking policy.
...
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
3a7f08a56f
wined3d: Rename wined3d_format_desc to wined3d_format.
2010-08-31 14:23:47 +02:00
Henri Verbeet
4005eb2a18
wined3d: Get rid of WINED3DRECT.
2010-08-31 14:23:47 +02:00
Henri Verbeet
1bf25cfe3f
wined3d: Use debug_surflocation() in surface_load_location().
2010-08-31 14:23:46 +02:00
Henri Verbeet
c689280beb
wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ColorFill().
2010-08-30 11:26:45 +02:00
Henri Verbeet
ecc67757ab
wined3d: Introduce surface_color_fill().
...
This is also a first attempt at a more structured interface to blitter
operations.
2010-08-30 11:26:45 +02:00
Henri Verbeet
b233e7b301
wined3d: Rename the "format" field in wined3d_format_desc to "id".
2010-08-26 12:41:44 +02:00
Henri Verbeet
42b814c7d1
wined3d: Remove the GetContainer() methods from the public wined3d interface.
...
There's nothing left that uses these.
2010-08-26 12:41:39 +02:00
Henri Verbeet
22428d97e1
wined3d: Don't set a NULL container of type WINED3D_CONTAINER_TEXTURE.
...
Any container type other than WINED3D_CONTAINER_NONE implies a valid pointer
of the specified type. This fixes a regression introduced by
368e5eb87a
.
2010-08-26 12:41:34 +02:00
Henri Verbeet
87e12b8b6a
wined3d: Introduce a local variable for gl_info in IWineD3DSurfaceImpl_BltOverride().
2010-08-25 11:57:12 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
50b5955288
wined3d: Use floating point colors in the blitter's color_fill functions.
2010-08-24 12:24:39 +02:00
Henri Verbeet
9956ea7044
wined3d: Convert from floating point to specific surface formats.
...
Instead of from WINED3DFMT_B8G8R8A8_UNORM.
2010-08-24 12:24:33 +02:00
Henri Verbeet
a455a918c1
wined3d: Explicitly pass the draw rect to device_clear_render_targets().
...
For regular clears this is the intersection of the viewport and scissor
rectangles, but color fills shouldn't be affected by those.
2010-08-24 12:24:28 +02:00
Henri Verbeet
b93a9b37fa
wined3d: Pass a WINED3DCOLORVALUE structure to IWineD3DDeviceImpl_ClearRendertargetView().
...
The structure is nicer to work with than the array.
2010-08-23 12:05:24 +02:00
Henri Verbeet
910d3022c3
wined3d: Do not release a reference we do not have in IWineD3DSurfaceImpl_Flip().
...
This fixes a regression introduced by 368e5eb87a
.
2010-08-20 14:11:10 +02:00
Henri Verbeet
f06b22a537
wined3d: Add a TRACE to IWineD3DSurfaceImpl_LoadTexture().
2010-08-18 09:39:42 +02:00
Henri Verbeet
368e5eb87a
wined3d: Avoid IWineD3DSurface_GetContainer().
2010-08-17 11:55:32 +02:00
Henri Verbeet
8292c687d8
wined3d: Get rid of the now redundant SFLAG_SWAPCHAIN surface flag.
2010-08-17 11:55:32 +02:00
Henri Verbeet
0b24db5db5
wined3d: Also store the subresource container type.
2010-08-17 11:55:32 +02:00
Henri Verbeet
61db577a4b
wined3d: Remove SetContainer() from the public IWineD3DSurface interface.
2010-08-17 11:55:32 +02:00
Henri Verbeet
a16cf58494
wined3d: Fix a couple of typos.
2010-08-16 13:47:53 +02:00
Henri Verbeet
d494dfb6c0
wined3d: Rename surface_calculate_size() to wined3d_format_calculate_size().
2010-08-16 13:47:42 +02:00
Henri Verbeet
3a36013065
wined3d: Print the correct resource location in surface_set_texture_name().
2010-08-16 13:47:33 +02:00
Henri Verbeet
e1188b0c8e
wined3d: Fix some misspellings of "surface".
2010-08-16 13:47:17 +02:00
Henri Verbeet
5f2fcfdd6b
wined3d: Reattach FBO attachments when any of the corresponding surfaces is unloaded.
2010-08-16 13:47:08 +02:00
Henri Verbeet
2b88b2d351
wined3d: Only try to acquire a context in surface_cleanup() if there are GL resources to be destroyed.
...
The reason we're in surface_cleanup() might for example be that context
creation failed.
2010-08-04 13:24:21 +02:00
Henri Verbeet
88ff3f406d
wined3d: Always set the get_drawable_size() surface function.
2010-08-03 11:06:47 +02:00
Henri Verbeet
b2e1e1fd71
wined3d: Pass the color as floating point values to device_clear_render_targets().
2010-08-03 11:06:42 +02:00
Henri Verbeet
6e68dd52c4
wined3d: Use the correct divider for 15-bit depth formats in IWineD3DSurfaceImpl_BltZ().
2010-08-03 11:06:20 +02:00
Henri Verbeet
6874743e78
wined3d: Add a missing return statement to surface_prepare_texture().
...
Calling surface_prepare_texture_internal() twice on the same surface is
harmless, but unnecessary.
2010-07-26 18:38:31 +02:00
Henri Verbeet
0bf68b846a
wined3d: Merge strect_rect_fbo() and surface_load_srgb_fbo().
2010-07-26 18:38:31 +02:00
Henri Verbeet
943fb2fb57
wined3d: Do RGB <=> sRGB transfers using FBO blits.
...
Concept based on a patch by Stefan.
2010-07-26 18:38:31 +02:00
Henri Verbeet
d374d85055
wined3d: Clear all render targets in an MRT setup.
2010-07-23 11:46:47 +02:00
Henri Verbeet
f7760656f3
wined3d: Remove LoadLocation() from the public wined3d surface interface.
2010-07-22 10:13:24 +02:00
Henri Verbeet
147f24dd78
wined3d: Remove ModifyLocation() from the public wined3d surface interface.
2010-07-22 10:13:13 +02:00
Henri Verbeet
c411b45da9
wined3d: Use a more consistent name for the normalized texrect "extension".
2010-07-21 09:33:18 +02:00
Henri Verbeet
4b850ed121
wined3d: Remove restoring the read buffer from read_from_framebuffer_texture().
...
The few functions that care about the read buffer should explicitly set it
themselves, instead of assuming any particular state.
2010-07-20 13:13:04 +02:00
Francois Gouget
7649c75b40
Assorted typo and spelling fixes.
2010-06-24 10:37:05 +02:00
Henri Verbeet
b769c912cc
wined3d: read_from_framebuffer_texture() isn't suitable for readback of onscreen surfaces.
2010-06-22 13:51:30 +02:00
Matteo Bruni
6585bec5ac
wined3d: Check for error conditions in GL call.
2010-06-22 11:22:38 +02:00
Henri Verbeet
1b5cc39a86
wined3d: Get rid of some dead code.
2010-06-01 11:03:56 +02:00
Roderick Colenbrander
ba09e7a2a1
wined3d: Don't use blit_supported() in d3dfmt_get_conv for now.
2010-05-27 14:46:43 +02:00
Roderick Colenbrander
e54f06183c
wined3d: Replace set_shader call with unset_shader in blt_to_drawable.
...
The blit_shader is activated before draw_textured_quad, so after use
it should be deactivated instead of being activated again.
2010-05-27 14:46:43 +02:00
Henri Verbeet
e8ac9bbd7f
wined3d: Get rid of GLINFO_LOCATION.
2010-05-25 13:29:00 +02:00
Henri Verbeet
db0784e1da
wined3d: Introduce a separate function for translating front buffer coordinates to GL coordinates.
2010-05-21 14:37:52 +02:00
Henri Verbeet
a2a58a21d8
wined3d: Translate front buffer coordinates in surface_blt_to_drawable().
2010-05-20 13:47:53 +02:00