wined3d: Use BltFast in UpdateSurface when desc.convert is set.
This commit is contained in:
parent
ba8f0da271
commit
ee9b409fce
|
@ -5236,7 +5236,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_UpdateSurface(IWineD3DDevice *iface,
|
||||||
UINT src_w, src_h;
|
UINT src_w, src_h;
|
||||||
UINT dst_x, dst_y;
|
UINT dst_x, dst_y;
|
||||||
DWORD sampler;
|
DWORD sampler;
|
||||||
struct wined3d_format_desc dummy_desc;
|
struct wined3d_format_desc desc;
|
||||||
|
|
||||||
TRACE("iface %p, src_surface %p, src_rect %s, dst_surface %p, dst_point %s.\n",
|
TRACE("iface %p, src_surface %p, src_rect %s, dst_surface %p, dst_point %s.\n",
|
||||||
iface, src_surface, wine_dbgstr_rect(src_rect),
|
iface, src_surface, wine_dbgstr_rect(src_rect),
|
||||||
|
@ -5265,8 +5265,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_UpdateSurface(IWineD3DDevice *iface,
|
||||||
* surface to the destination's sysmem copy. If surface conversion is
|
* surface to the destination's sysmem copy. If surface conversion is
|
||||||
* needed, use BltFast instead to copy in sysmem and use regular surface
|
* needed, use BltFast instead to copy in sysmem and use regular surface
|
||||||
* loading. */
|
* loading. */
|
||||||
d3dfmt_get_conv(dst_impl, FALSE, TRUE, &dummy_desc, &convert);
|
d3dfmt_get_conv(dst_impl, FALSE, TRUE, &desc, &convert);
|
||||||
if (convert != NO_CONVERSION)
|
if (convert != NO_CONVERSION || desc.convert)
|
||||||
return IWineD3DSurface_BltFast(dst_surface, dst_x, dst_y, src_surface, src_rect, 0);
|
return IWineD3DSurface_BltFast(dst_surface, dst_x, dst_y, src_surface, src_rect, 0);
|
||||||
|
|
||||||
context = context_acquire(This, NULL);
|
context = context_acquire(This, NULL);
|
||||||
|
|
Loading…
Reference in New Issue