mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 06:30:11 +01:00
i965: Consolidate some of the intel_blit logic
An upcoming patch is going to introduce some code here, and having this code organized as the patch does makes it a bit easier to read later. There should be no functional change here. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
0467a52dc3
commit
efde74c89d
1 changed files with 8 additions and 20 deletions
|
|
@ -226,35 +226,23 @@ intel_miptree_blit(struct brw_context *brw,
|
|||
if (src_flip != dst_flip)
|
||||
src_pitch = -src_pitch;
|
||||
|
||||
uint32_t src_image_x, src_image_y;
|
||||
uint32_t src_image_x, src_image_y, dst_image_x, dst_image_y;
|
||||
intel_miptree_get_image_offset(src_mt, src_level, src_slice,
|
||||
&src_image_x, &src_image_y);
|
||||
src_x += src_image_x;
|
||||
src_y += src_image_y;
|
||||
|
||||
/* The blitter interprets the 16-bit src x/y as a signed 16-bit value,
|
||||
* where negative values are invalid. The values we're working with are
|
||||
* unsigned, so make sure we don't overflow.
|
||||
*/
|
||||
if (src_x >= 32768 || src_y >= 32768) {
|
||||
perf_debug("Falling back due to >=32k src offset (%d, %d)\n",
|
||||
src_x, src_y);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32_t dst_image_x, dst_image_y;
|
||||
intel_miptree_get_image_offset(dst_mt, dst_level, dst_slice,
|
||||
&dst_image_x, &dst_image_y);
|
||||
src_x += src_image_x;
|
||||
src_y += src_image_y;
|
||||
dst_x += dst_image_x;
|
||||
dst_y += dst_image_y;
|
||||
|
||||
/* The blitter interprets the 16-bit destination x/y as a signed 16-bit
|
||||
* value. The values we're working with are unsigned, so make sure we
|
||||
* don't overflow.
|
||||
* value. The values we're working with are unsigned, so make sure we don't
|
||||
* overflow.
|
||||
*/
|
||||
if (dst_x >= 32768 || dst_y >= 32768) {
|
||||
perf_debug("Falling back due to >=32k dst offset (%d, %d)\n",
|
||||
dst_x, dst_y);
|
||||
if (src_x >= 32768 || src_y >= 32768 || dst_x >= 32768 || dst_y >= 32768) {
|
||||
perf_debug("Falling back due to >=32k offset [src(%d, %d) dst(%d, %d)]\n",
|
||||
src_x, src_y, dst_x, dst_y);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue