wined3d: Refuse blits between height-scaled formats in the raw blitter.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7df8cd35d5
commit
29f91b916a
|
@ -6458,6 +6458,7 @@ static DWORD raw_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_blit
|
||||||
* We also can't copy between depth/stencil and colour resources, since
|
* We also can't copy between depth/stencil and colour resources, since
|
||||||
* the formats are considered incompatible in OpenGL. */
|
* the formats are considered incompatible in OpenGL. */
|
||||||
if (op != WINED3D_BLIT_OP_RAW_BLIT || !gl_formats_compatible(src_texture, src_location, dst_texture, dst_location)
|
if (op != WINED3D_BLIT_OP_RAW_BLIT || !gl_formats_compatible(src_texture, src_location, dst_texture, dst_location)
|
||||||
|
|| ((src_texture->resource.format_flags | dst_texture->resource.format_flags) & WINED3DFMT_FLAG_HEIGHT_SCALE)
|
||||||
|| (src_texture->resource.format->id == dst_texture->resource.format->id
|
|| (src_texture->resource.format->id == dst_texture->resource.format->id
|
||||||
&& (!(src_location & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
&& (!(src_location & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||||
|| !(dst_location & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)))))
|
|| !(dst_location & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)))))
|
||||||
|
|
Loading…
Reference in New Issue