Commit Graph

803 Commits

Author SHA1 Message Date
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
Henri Verbeet f0888577c5 wined3d: Use wine_dbgstr_rect() for tracing the rectangle in IWineD3DSurfaceImpl_LockRect(). 2010-05-19 16:57:59 +02:00
Roderick Colenbrander f892003194 wined3d: Set conversion flags for format descriptors having a convert function. 2010-05-17 14:43:49 +02:00
Henri Verbeet 79145e215b wined3d: Add support for shadow samplers. 2010-05-17 13:19:53 +02:00
Henri Verbeet 44ab3d70f1 wined3d: Handle depth/stencil surfaces in IWineD3DSurfaceImpl_LoadLocation(). 2010-05-17 13:19:40 +02:00
Roderick Colenbrander b60961ae55 wined3d: Use surface_prepare_texture for surface allocation in read_from_framebuffer_texture. 2010-05-11 11:04:55 +02:00
Henri Verbeet 49e076eabd wined3d: Separate context acquisition and state application. 2010-05-04 13:14:59 +02:00
Henri Verbeet f09b8e454d wined3d: Avoid some needless depth buffer copies.
If an application switches between render targets of a different size, but
with the same depth/stencil surface it'll typically clear the depth/stencil
surface before drawing. However, in case of the smaller render target that
wouldn't be a full clear, so we'd have to do a depth copy if we also switched
between onscreen and offscreen rendering. Keeping track of which part of the
depth/stencil surface is current for onscreen/offscreen allows us to avoid
most of these kinds of copies. The current scheme requires the current/dirty
rectangle to have an origin at (0,0). This could be extended to an arbitrary
rectangle, but the bookkeeping becomes somewhat more complex in that case, and
it's not clear that there would be much of a benefit at this point.
2010-04-29 10:19:39 -05:00
Henri Verbeet 83cf1ce8e1 wined3d: Check if the depth/stencil surface has any valid location at the start of surface_load_ds_location(). 2010-04-28 07:32:05 -05:00
Henri Verbeet 0d86323778 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_release_client_storage(). 2010-04-28 07:31:28 -05:00
Henri Verbeet 23a377f02b wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem(). 2010-04-28 07:31:13 -05:00
Henri Verbeet 42375518ba wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_add_dirty_rect(). 2010-04-27 12:02:39 -05:00
Henri Verbeet f78d85ffe1 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_target(). 2010-04-27 12:02:31 -05:00
Henri Verbeet 294d9dae8f wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_name(). 2010-04-27 12:02:24 -05:00
Henri Verbeet d977e91b11 wined3d: Store back buffer surfaces as IWineD3DSurfaceImpl pointers in the swapchain. 2010-04-27 12:02:14 -05:00
Henri Verbeet 62acb2fdbc wined3d: Store the front buffer surface as an IWineD3DSurfaceImpl pointer in the swapchain. 2010-04-27 12:01:59 -05:00
Henri Verbeet 32b1f25f4b wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_force_reload(). 2010-04-26 09:04:56 -05:00
Henri Verbeet 553f429964 wined3d: Simply pass IWineD3DSurfaceImpl pointers to IWineD3DSurfaceImpl_BltOverride(). 2010-04-26 09:04:48 -05:00
Henri Verbeet d1ea48b971 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_internal_preload(). 2010-04-26 09:04:35 -05:00
Henri Verbeet bea50a39de wined3d: Simply pass an IWineD3DSurfaceImpl pointer to fb_copy_to_texture_hwstretch(). 2010-04-25 07:28:18 -05:00
Henri Verbeet 99994f885c wined3d: Simply pass an IWineD3DSurfaceImpl pointer to fb_copy_to_texture_direct(). 2010-04-25 07:28:07 -05:00
Henri Verbeet 9308c5499f wined3d: Make sure all texture levels are allocated in surface_prepare_texture().
This fixes a regression introduced by commit
af7dfcd378.
2010-04-25 07:27:36 -05:00
Henri Verbeet 6b34b8e6d1 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_acquire(). 2010-04-22 11:28:17 +02:00
Henri Verbeet 660ad06692 wined3d: Simply pass implementation pointers to stretch_rect_fbo(). 2010-04-21 11:57:32 +02:00
Henri Verbeet 79a014a505 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_get_gl_buffer(). 2010-04-21 11:57:32 +02:00
Henri Verbeet c5de1e1045 wined3d: Store the depth/stencil surface as an IWineD3DSurfaceImpl pointer in the device. 2010-04-20 11:14:42 +02:00
Henri Verbeet c7a1848656 wined3d: Store render targets as IWineD3DSurfaceImpl pointers in the device. 2010-04-20 11:14:30 +02:00
Henri Verbeet 92a44884c7 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_compatible_renderbuffer(). 2010-04-19 14:55:35 +02:00
Henri Verbeet 03dc612c9c wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_is_offscreen(). 2010-04-19 14:55:31 +02:00
Henri Verbeet efb3993a3a wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_modify_ds_location(). 2010-04-19 14:55:24 +02:00
Henri Verbeet ae46589f53 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_load_ds_location(). 2010-04-19 14:55:19 +02:00
Henri Verbeet 10c5a8ac9e wined3d: Get rid of "myDevice". 2010-04-19 14:55:13 +02:00
Henri Verbeet 24c93d48aa wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_depth_stencil_fbo(). 2010-04-16 12:09:39 +02:00
Henri Verbeet bc2850a587 wined3d: Get rid of the width and height parameters to surface_upload_data(). 2010-04-16 12:09:27 +02:00
Henri Verbeet 212bfab2df wined3d: Get rid of the width and height parameters to surface_allocate_surface(). 2010-04-16 12:09:23 +02:00
Henri Verbeet 7f6ab3c06e wined3d: The currentDesc and pow2 width/height are the same for power of two textures. 2010-04-16 12:09:19 +02:00
Henri Verbeet 65797d7f75 wined3d: Get rid of glRect from IWineD3DSurfaceImpl.
604caf0caa supposedly removed the "oversized
texture" code, but this was still left over.
2010-04-16 12:09:14 +02:00
Roderick Colenbrander bf58d81968 wined3d: Remove paletteOverride from BltOverride offscreen->render_target blit.
This code was needed when the destination uses 8-bit and the source lacked a palette.
Since we don't allow destination fixups, this code doesn't do anything. At a later
stage something like this should perhaps be readded to specific backends.
2010-04-15 17:03:59 +02:00
Roderick Colenbrander 4cb6255907 wined3d: We don't need color keying for sysmem->drawable uploads. 2010-04-15 17:03:52 +02:00
Roderick Colenbrander 2a949ec323 wined3d: Remove call to d3dfmt_get_conv from read_from_framebuffer_texture. 2010-04-15 17:03:49 +02:00
Roderick Colenbrander 1a61f46bbb wined3d: Remove temporary conv_byte_count fixup from d3dfmt_get_conv. 2010-04-15 17:03:47 +02:00
Roderick Colenbrander bccfd7cc06 wined3d: Add BLT_OP_COLOR_FILL to blit_supported and use it in BltOverride. 2010-04-15 14:20:48 +02:00
Roderick Colenbrander 4c87bc0c41 wined3d: Move A4L4 conversion to the formats table. 2010-04-14 18:00:47 +02:00
Roderick Colenbrander cda78c01e6 wined3d: Move G16R16/R16G16F conversion to the formats table. 2010-04-14 18:00:47 +02:00
Henri Verbeet 8eb2a2cf0c wined3d: Disable strict draw ordering by default.
While some performance hit from the extra flushes was expected and would be
acceptable, the performance hit can be over 50% on some configurations, which
clearly isn't acceptable. This patch introduces a "StrictDrawOrdering"
registry key for applications affected by this, until we have a more
structural solution.
2010-04-13 21:13:36 +02:00
Roderick Colenbrander e35f54ef1f wined3d: Move R32G32F convertion to the formats table. 2010-04-13 17:56:35 +02:00
Roderick Colenbrander 5c635f4146 wined3d: Move D15S1 over to the formats table. 2010-04-13 17:56:32 +02:00
Roderick Colenbrander 6a081ef95a wined3d: Move D24X4S4 to the formats table. 2010-04-13 17:56:29 +02:00
Roderick Colenbrander 485040bb5c wined3d: Move D24FS8 to formats table. 2010-04-13 17:56:27 +02:00
Roderick Colenbrander 798ba56c1b wined3d: Move L6V5U5 conversion to the formats table. 2010-04-13 17:56:24 +02:00
Roderick Colenbrander 76a9712779 wined3d: Add an initial implementation of arbfp_blit_surface. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander f1ca14cb5b wined3d: Add an initial fbo_blit_supported implementation. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander 7df7ce40c3 wined3d: Move X8L8V8U8 surface conversion to the format table. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander 60c6294f84 wined3d: Move Q8W8V8U8 conversion to the format table. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander d7e1b973c7 wined3d: Start moving texture format fixups to the formats table. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander a4559e761b wined3d: Move srgb checks away from d3dfmt_get_conv. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander 00598c3e36 wined3d: Let d3dfmt_get_conv return a wined3d_format_desc. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander 1c02a909e5 wined3d: Remove remaining redundant code from d3dfmt_get_conv. 2010-04-08 17:34:18 +02:00
Roderick Colenbrander 2c5eee25ca wined3d: Only apply float R16G16F/R32G32F fixup when ARB_texture_rg isn't around and remove redundant code. 2010-04-07 18:14:05 +02:00
Roderick Colenbrander edcdbc2a76 wined3d: Remove redundant gl format/type code from d3dfmt_get_conv since it is already in the table. 2010-04-07 18:13:49 +02:00
Roderick Colenbrander e7a71e15b5 wined3d: Turn blit_shader color_fixup_supported into blit_supported. 2010-04-07 18:13:35 +02:00
Henri Verbeet 83443273c1 wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_Flip(). 2010-04-07 13:50:16 +02:00
Henri Verbeet 3b7774b37b wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_BltOverride(). 2010-04-07 13:50:12 +02:00
Roderick Colenbrander e6ae272efe wined3d: Due to code rewrites is_color_fixup_supported is not needed anymore in RealizePalette.
The code in question should be executed in all cases. This also fixes
palette refresh issues when shaders / paletted textures aren't around.
2010-04-06 13:55:14 +02:00
Roderick Colenbrander 1f2976a302 wined3d: Move the arbfp p8 fixup to the format table and get rid of the d3dfmt_get_conv override. 2010-04-06 13:55:02 +02:00
Roderick Colenbrander a5a4be4fc5 wined3d: Disable framebuffer to texture blitting.
The current code doesn't work for this at all and causes major
rendering issues in e.g. C&C. I don't think we should fix this code
either since it isn't worth the effort and requires evil things like
paletteOverride.
2010-04-06 13:54:47 +02:00
Roderick Colenbrander 69902ab6d0 wined3d: Move EXT_PALETTED_TEXTURE code over to ffp_blit. 2010-04-06 13:53:21 +02:00
Roderick Colenbrander 3b6aea5934 wined3d: Move palette uploading code over to arbfp blit_shader. 2010-04-06 13:53:15 +02:00
Roderick Colenbrander ae8d9e21e3 wined3d: Remove the swapchain parameter from fb_copy_to_texture_hwstretch in order to unify all blit calls. 2010-04-02 15:22:51 +02:00
Roderick Colenbrander ff82e66a69 wined3d: Move upsideDown calculation to blit implementation. 2010-04-02 15:22:51 +02:00
Roderick Colenbrander c6f0ddcb1a wined3d: Remove some unneeded source rectangle calculations from BltOverride. 2010-03-31 16:12:30 +02:00
Roderick Colenbrander 87b5b2f738 wined3d: Remove the last use of the WINED3DRECT destination rectangle in BltOverride. 2010-03-31 16:12:30 +02:00
Roderick Colenbrander 40f3f0b041 wined3d: Use RECT instead of WINED3DRECT in fb_copy_to_texture_hwstretch. 2010-03-31 16:12:29 +02:00
Roderick Colenbrander 7f1f61e28e wined3d: Use RECT instead of WINED3DRECT in fb_copy_to_texture_direct. 2010-03-31 16:12:28 +02:00
Roderick Colenbrander ae26d9defd wined3d: Use RECT instead of WINED3DRECT in stretch_rect_fbo. 2010-03-31 16:12:27 +02:00
Roderick Colenbrander c864ae6348 wined3d: Disable flipping through the source rectangle in BltOverride. 2010-03-30 14:10:45 +02:00
Roderick Colenbrander 334fea7d79 wined3d: Fix a destination flipping bug using the destination rectangle. 2010-03-30 14:10:37 +02:00
Roderick Colenbrander a91f844a3d wined3d: Use RECT instead of WINED3DRECT in more parts of BltOverride. 2010-03-30 13:54:45 +02:00
Roderick Colenbrander 682c969e9a wined3d: Add a helper function for getting a valid rectangle. 2010-03-30 13:54:35 +02:00
Roderick Colenbrander a7d3b616c4 wined3d: Add color_fill to blit_shader. 2010-03-30 13:54:24 +02:00
Roderick Colenbrander 9a1fd552d2 wined3d: Introduce a helper function which converts a color from the surface format to ARGB. 2010-03-30 13:54:12 +02:00
Roderick Colenbrander 5ffb088975 wined3d: Fix depth blit regression. 2010-03-22 11:40:40 +01:00
Henri Verbeet 3aaa6ee6e7 wined3d: Rename GlPixelFormatDesc to wined3d_format_desc. 2010-03-19 14:31:47 +01:00
Roderick Colenbrander fb8812db89 wined3d: Get rid of d3dfmt_get_conv in RealizePalette. 2010-03-19 13:15:26 +01:00
Roderick Colenbrander 27a96e477a wined3d: Start moving paletted texture support to the blit_shader. 2010-03-19 13:15:21 +01:00
Roderick Colenbrander fd99ab78c2 wined3d: Use draw_textured_quad in BltOverride. 2010-03-19 13:15:06 +01:00
Roderick Colenbrander 4bd627cc7f wined3d: Add a helper function for drawing a textured quad. 2010-03-19 13:15:03 +01:00
Henri Verbeet e5673ddbc3 wined3d: Add a quirk to rebind FBOs when one of their attached textures is updated.
Updating a texture while it is attached to the currently bound FBO is
something GL implementations tend to get wrong. NVIDIA fails at
glTexSubImage2D(), fglrx and Mesa with glTexImage2D(). I'm afraid to try what
happens on OS X. Fortunately we never use glTexImage2D() while a texture is
attached to an FBO, so we only need to care about glTexSubImage2D().
2010-03-18 10:24:41 +01:00
Henri Verbeet bd4fb33a52 wined3d: Unify GLINFO_LOCATION in surface.c. 2010-03-18 10:24:33 +01:00
Henri Verbeet 0ae49c35fb wined3d: Use the context's window handle in IWineD3DSurfaceImpl_BltOverride(). 2010-03-16 11:44:55 +01:00
Henri Verbeet 8a107bc63a wined3d: Kill pbuffer offscreen rendering support.
Our pbuffer support is broken, nobody cares.
2010-03-15 15:55:38 +01:00
Roderick Colenbrander 604caf0caa wined3d: Remove oversize texture support. 2010-03-15 14:23:15 +01:00
Roderick Colenbrander 74bf524a99 wined3d: Use surface_get_blt_info to compute texture coordinates for surface_blt_to_drawable. 2010-03-15 14:22:57 +01:00
Roderick Colenbrander 360384277b wined3d: Extend surface_get_depth_blt_info with texture coordinate code from surface_blt_to_drawable. 2010-03-15 14:22:44 +01:00
Roderick Colenbrander c0ef7a1a93 wined3d: Move the 8-bit palette shader code over to the blit_shader backend. 2010-03-03 12:53:51 +01:00
Stefan Dösinger 5c4d3fb5a2 wined3d: Control SFLAG_CONVERTED in surface_prepare_texture.
This makes sure that the flag is set correctly when
surface_allocate_surface is called and client storage is disabled
properly for converted surfaces.
2010-02-17 16:50:38 +01:00
Henri Verbeet af7dfcd378 wined3d: Do not preload surfaces when attaching them to an FBO.
Just make sure the texture is allocated, so we have something to attach. Note
also that context_apply_attachment_filter_states() runs under the GL lock, so
preloading resources is actually unsafe there.
2010-02-04 13:39:26 +01:00
Henri Verbeet 02e0b3ae1a wined3d: Introduce surface_prepare_texture().
Similar to surface_prepare_system_memory(). In the long term we'll probably
want to move the whole location management to resource.c and unify buffers and
textures there.
2010-02-04 13:39:26 +01:00
Henri Verbeet b0583a2410 wined3d: Never acquire a context in IWineD3DSurfaceImpl_BindTexture().
The caller is already responsible for doing this, so it's redundant at best.
2010-02-04 13:39:26 +01:00
Henri Verbeet c03d367d3c wined3d: Get rid of an unnecessary GetContainer() call in surface_blt_to_drawable(). 2010-01-29 13:30:06 +01:00
Henri Verbeet ce42470138 wined3d: Ensure draw ordering across contexts. 2010-01-28 11:07:59 +01:00
Henri Verbeet ea2f7a2739 wined3d: Remove some redundant returns. 2009-12-30 13:31:26 +01:00
Henri Verbeet a215d326a5 wined3d: Get rid of the "swapchain" parameter to surface_get_gl_buffer().
Casting the container to "IWineD3DSwapChainImpl *" is always safe when
SFLAG_SWAPCHAIN is set on the surface. Most callers don't have a real
need for the swapchain, and end up calling GetContainer() just to pass
it to surface_get_gl_buffer().
2009-12-16 12:22:18 +01:00
Henri Verbeet 97f04248fc wined3d: Use surface_is_offscreen() in flush_to_framebuffer_drawpixels(). 2009-12-16 12:22:03 +01:00
Henri Verbeet bf113bd284 wined3d: Use surface_is_offscreen() in read_from_framebuffer_texture(). 2009-12-16 12:21:58 +01:00
Henri Verbeet 51438eec46 wined3d: Use surface_is_offscreen() in fb_copy_to_texture_hwstretch(). 2009-12-16 12:21:50 +01:00
Stefan Dösinger cde3217268 wined3d: Properly release client storage memory. 2009-12-15 16:09:12 +01:00