wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ColorFill().
This commit is contained in:
parent
ecc67757ab
commit
c689280beb
@ -5500,7 +5500,6 @@ static HRESULT WINAPI IWineD3DDeviceImpl_ColorFill(IWineD3DDevice *iface,
|
|||||||
IWineD3DSurface *surface, const WINED3DRECT *pRect, const WINED3DCOLORVALUE *color)
|
IWineD3DSurface *surface, const WINED3DRECT *pRect, const WINED3DCOLORVALUE *color)
|
||||||
{
|
{
|
||||||
IWineD3DSurfaceImpl *s = (IWineD3DSurfaceImpl *)surface;
|
IWineD3DSurfaceImpl *s = (IWineD3DSurfaceImpl *)surface;
|
||||||
WINEDDBLTFX BltFx;
|
|
||||||
|
|
||||||
TRACE("iface %p, surface %p, rect %s, color {%.8e, %.8e, %.8e, %.8e}.\n",
|
TRACE("iface %p, surface %p, rect %s, color {%.8e, %.8e, %.8e, %.8e}.\n",
|
||||||
iface, surface, wine_dbgstr_rect((const RECT *)pRect),
|
iface, surface, wine_dbgstr_rect((const RECT *)pRect),
|
||||||
@ -5512,22 +5511,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_ColorFill(IWineD3DDevice *iface,
|
|||||||
return WINED3DERR_INVALIDCALL;
|
return WINED3DERR_INVALIDCALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
|
return surface_color_fill(s, (const RECT *)pRect, color);
|
||||||
{
|
|
||||||
const RECT draw_rect = {0, 0, s->currentDesc.Width, s->currentDesc.Height};
|
|
||||||
|
|
||||||
return device_clear_render_targets((IWineD3DDeviceImpl *)iface, 1, &s,
|
|
||||||
!!pRect, (const RECT *)pRect, &draw_rect, WINED3DCLEAR_TARGET, color, 0.0f, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Just forward this to the DirectDraw blitting engine */
|
|
||||||
memset(&BltFx, 0, sizeof(BltFx));
|
|
||||||
BltFx.dwSize = sizeof(BltFx);
|
|
||||||
BltFx.u5.dwFillColor = wined3d_format_convert_from_float(s->resource.format_desc, color);
|
|
||||||
return IWineD3DSurface_Blt(surface, (const RECT *)pRect, NULL, NULL,
|
|
||||||
WINEDDBLT_COLORFILL, &BltFx, WINED3DTEXF_POINT);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WINAPI IWineD3DDeviceImpl_ClearRendertargetView(IWineD3DDevice *iface,
|
static void WINAPI IWineD3DDeviceImpl_ClearRendertargetView(IWineD3DDevice *iface,
|
||||||
|
@ -3354,7 +3354,7 @@ static void surface_blt_fbo(IWineD3DDeviceImpl *device, const WINED3DTEXTUREFILT
|
|||||||
context_release(context);
|
context_release(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT surface_color_fill(IWineD3DSurfaceImpl *s, const RECT *rect, const WINED3DCOLORVALUE *color)
|
HRESULT surface_color_fill(IWineD3DSurfaceImpl *s, const RECT *rect, const WINED3DCOLORVALUE *color)
|
||||||
{
|
{
|
||||||
IWineD3DDeviceImpl *device = s->resource.device;
|
IWineD3DDeviceImpl *device = s->resource.device;
|
||||||
const struct blit_shader *blitter;
|
const struct blit_shader *blitter;
|
||||||
|
@ -2092,6 +2092,7 @@ extern const IWineD3DSurfaceVtbl IWineD3DSurface_Vtbl DECLSPEC_HIDDEN;
|
|||||||
extern const IWineD3DSurfaceVtbl IWineGDISurface_Vtbl DECLSPEC_HIDDEN;
|
extern const IWineD3DSurfaceVtbl IWineGDISurface_Vtbl DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
void surface_add_dirty_rect(IWineD3DSurfaceImpl *surface, const RECT *dirty_rect) DECLSPEC_HIDDEN;
|
void surface_add_dirty_rect(IWineD3DSurfaceImpl *surface, const RECT *dirty_rect) DECLSPEC_HIDDEN;
|
||||||
|
HRESULT surface_color_fill(IWineD3DSurfaceImpl *s, const RECT *rect, const WINED3DCOLORVALUE *color) DECLSPEC_HIDDEN;
|
||||||
void surface_gdi_cleanup(IWineD3DSurfaceImpl *This) DECLSPEC_HIDDEN;
|
void surface_gdi_cleanup(IWineD3DSurfaceImpl *This) DECLSPEC_HIDDEN;
|
||||||
GLenum surface_get_gl_buffer(IWineD3DSurfaceImpl *surface) DECLSPEC_HIDDEN;
|
GLenum surface_get_gl_buffer(IWineD3DSurfaceImpl *surface) DECLSPEC_HIDDEN;
|
||||||
HRESULT surface_init(IWineD3DSurfaceImpl *surface, WINED3DSURFTYPE surface_type, UINT alignment,
|
HRESULT surface_init(IWineD3DSurfaceImpl *surface, WINED3DSURFTYPE surface_type, UINT alignment,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user