i965: Allow signed/unsigned integer conversions in miptree up/download
BLORP now handles this so there's no reason to fall back. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -928,16 +928,6 @@ blorp_get_client_format(struct brw_context *brw,
|
||||
return _mesa_tex_format_from_format_and_type(&brw->ctx, format, type);
|
||||
}
|
||||
|
||||
static bool
|
||||
need_signed_unsigned_int_conversion(mesa_format src_format,
|
||||
mesa_format dst_format)
|
||||
{
|
||||
const GLenum src_type = _mesa_get_format_datatype(src_format);
|
||||
const GLenum dst_type = _mesa_get_format_datatype(dst_format);
|
||||
return (src_type == GL_INT && dst_type == GL_UNSIGNED_INT) ||
|
||||
(src_type == GL_UNSIGNED_INT && dst_type == GL_INT);
|
||||
}
|
||||
|
||||
bool
|
||||
brw_blorp_upload_miptree(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *dst_mt,
|
||||
@@ -959,13 +949,6 @@ brw_blorp_upload_miptree(struct brw_context *brw,
|
||||
return false;
|
||||
}
|
||||
|
||||
/* This function relies on blorp_blit to upload the pixel data to the
|
||||
* miptree. But, blorp_blit doesn't support signed to unsigned or
|
||||
* unsigned to signed integer conversions.
|
||||
*/
|
||||
if (need_signed_unsigned_int_conversion(src_format, dst_format))
|
||||
return false;
|
||||
|
||||
uint32_t src_offset, src_row_stride, src_image_stride;
|
||||
struct brw_bo *src_bo =
|
||||
blorp_get_client_bo(brw, width, height, depth,
|
||||
@@ -1059,13 +1042,6 @@ brw_blorp_download_miptree(struct brw_context *brw,
|
||||
return false;
|
||||
}
|
||||
|
||||
/* This function relies on blorp_blit to download the pixel data from the
|
||||
* miptree. But, blorp_blit doesn't support signed to unsigned or unsigned
|
||||
* to signed integer conversions.
|
||||
*/
|
||||
if (need_signed_unsigned_int_conversion(src_format, dst_format))
|
||||
return false;
|
||||
|
||||
/* We can't fetch from LUMINANCE or intensity as that would require a
|
||||
* non-trivial swizzle.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user