[2/6] wined3d: Pass the destination surface to blitters

Stefan Dösinger stefan at codeweavers.com
Thu Oct 13 13:58:31 CDT 2011


On Thursday 13 October 2011 14:39:58 Henri Verbeet wrote:
> On 13 October 2011 01:07, Stefan Dösinger <stefan at codeweavers.com> wrote:
> > -static HRESULT arbfp_blit_set(void *blit_priv, struct wined3d_context
> > *context, struct wined3d_surface *surface) + static HRESULT
> > arbfp_blit_set(void *blit_priv, struct wined3d_context *context, struct
> > wined3d_surface *src, +         const struct wined3d_surface *dst)
> 
> Whitespace error. The parameter you're adding isn't used anywhere, not
> even in the same patchset.
Patch 3:
-            upload_palette(src, context);
+            upload_palette(src, dst, context);

> Perhaps more important though is the point
> that "set_shader" is pretty much the wrong interface for blitters and
> should go away. Note that the blitter interface is something I'm
> actually working on as part of the ddraw work, it's just that other
> things keep coming up.
What does the interface you plan look like?

I had a short look at this and my proposal is to separate the blitters into 
two interfaces: One that sets the shader for the color conversion(blit_shader 
without colorfill and depthfill), and one that does the drawable setup and 
initiates the data transfer(That could include blitters that call 
glTexSubImage2D when blitting from sysmem->vidmem)

The shader setup blitter could be hidden behind a quad draw blitter if you find 
a way to integrate swapchain_blit and surface_blt_to_drawable(especially 
frontbuffer texture -> frontbuffer drawable blit)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20111013/4724de11/attachment.pgp>


More information about the wine-devel mailing list