wined3d: Directly call surface_cpu_blt() in cpu_blit_color_fill().
And avoid a potential infinite recursion if wined3d_surface_blt() ends up calling cpu_blit_color_fill().
This commit is contained in:
parent
26484c9200
commit
18434ddc57
|
@ -7024,12 +7024,13 @@ release:
|
||||||
static HRESULT cpu_blit_color_fill(struct wined3d_device *device, struct wined3d_surface *dst_surface,
|
static HRESULT cpu_blit_color_fill(struct wined3d_device *device, struct wined3d_surface *dst_surface,
|
||||||
const RECT *dst_rect, const WINED3DCOLORVALUE *color)
|
const RECT *dst_rect, const WINED3DCOLORVALUE *color)
|
||||||
{
|
{
|
||||||
|
static const RECT src_rect;
|
||||||
WINEDDBLTFX BltFx;
|
WINEDDBLTFX BltFx;
|
||||||
|
|
||||||
memset(&BltFx, 0, sizeof(BltFx));
|
memset(&BltFx, 0, sizeof(BltFx));
|
||||||
BltFx.dwSize = sizeof(BltFx);
|
BltFx.dwSize = sizeof(BltFx);
|
||||||
BltFx.u5.dwFillColor = wined3d_format_convert_from_float(dst_surface, color);
|
BltFx.u5.dwFillColor = wined3d_format_convert_from_float(dst_surface, color);
|
||||||
return wined3d_surface_blt(dst_surface, dst_rect, NULL, NULL,
|
return surface_cpu_blt(dst_surface, dst_rect, NULL, &src_rect,
|
||||||
WINEDDBLT_COLORFILL, &BltFx, WINED3DTEXF_POINT);
|
WINEDDBLT_COLORFILL, &BltFx, WINED3DTEXF_POINT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue