rsx: Fix invalid format checks for DMA sections which are typeless
This commit is contained in:
@@ -2247,8 +2247,10 @@ namespace rsx
|
|||||||
dst_area = old_dst_area;
|
dst_area = old_dst_area;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool format_check = (src_is_render_target || is_format_convert);
|
if (cached_dest && cached_dest->get_context() != texture_upload_context::dma)
|
||||||
if (!use_null_region && cached_dest && format_check)
|
{
|
||||||
|
// NOTE: DMA sections are plain memory blocks with no format!
|
||||||
|
if (src_is_render_target || is_format_convert)
|
||||||
{
|
{
|
||||||
bool src_is_depth;
|
bool src_is_depth;
|
||||||
if (is_format_convert)
|
if (is_format_convert)
|
||||||
@@ -2258,7 +2260,7 @@ namespace rsx
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
verify(HERE), src_is_render_target;
|
verify(HERE), src_is_render_target;
|
||||||
src_is_depth = (typeless_info.src_is_typeless)? false : src_subres.is_depth;
|
src_is_depth = (typeless_info.src_is_typeless) ? false : src_subres.is_depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cached_dest->is_depth_texture() != src_is_depth)
|
if (cached_dest->is_depth_texture() != src_is_depth)
|
||||||
@@ -2279,6 +2281,7 @@ namespace rsx
|
|||||||
dst_is_depth_surface = cached_dest->is_depth_texture();
|
dst_is_depth_surface = cached_dest->is_depth_texture();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Destination dimensions are relaxed (true)
|
// Destination dimensions are relaxed (true)
|
||||||
|
|||||||
Reference in New Issue
Block a user