From: Kenneth Graunke Date: Wed, 5 Jun 2019 06:19:22 +0000 (-0700) Subject: i965: Allow signed/unsigned integer conversions in miptree up/download X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6a7d387394fbb833ee7c0d4547bd81580c17a4e1;p=mesa.git 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 --- diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index 9a38a365199..c32e3d1f9c0 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -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. */