On Thursday 13 October 2011 14:39:58 Henri Verbeet wrote:
On 13 October 2011 01:07, Stefan Dösinger stefan@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)