mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-19 16:40:36 +02:00
r300: minor accelerated blit fixes
This commit is contained in:
parent
cf1748053a
commit
0b7b76fb16
1 changed files with 14 additions and 1 deletions
|
|
@ -543,6 +543,16 @@ GLboolean r300_blit(struct r300_context *r300,
|
|||
if (_mesa_get_format_bits(src_mesaformat, GL_DEPTH_BITS) > 0)
|
||||
return GL_FALSE;
|
||||
|
||||
/* Make sure that colorbuffer has even width - hw limitation */
|
||||
if (dst_pitch % 2 > 0)
|
||||
++dst_pitch;
|
||||
|
||||
/* Rendering to small buffer doesn't work.
|
||||
* Looks like a hw limitation.
|
||||
*/
|
||||
if (dst_pitch < 32)
|
||||
return GL_FALSE;
|
||||
|
||||
/* Need to clamp the region size to make sure
|
||||
* we don't read outside of the source buffer
|
||||
* or write outside of the destination buffer.
|
||||
|
|
@ -564,7 +574,7 @@ GLboolean r300_blit(struct r300_context *r300,
|
|||
fprintf(stderr, "src: size [%d x %d], pitch %d, "
|
||||
"offset [%d x %d], format %s, bo %p\n",
|
||||
src_width, src_height, src_pitch,
|
||||
src_offset, src_y_offset,
|
||||
src_x_offset, src_y_offset,
|
||||
_mesa_get_format_name(src_mesaformat),
|
||||
src_bo);
|
||||
fprintf(stderr, "dst: pitch %d, offset[%d x %d], format %s, bo %p\n",
|
||||
|
|
@ -573,6 +583,9 @@ GLboolean r300_blit(struct r300_context *r300,
|
|||
fprintf(stderr, "region: %d x %d\n", reg_width, reg_height);
|
||||
}
|
||||
|
||||
/* Flush is needed to make sure that source buffer has correct data */
|
||||
radeonFlush(r300->radeon.glCtx);
|
||||
|
||||
if (!validate_buffers(r300, src_bo, dst_bo))
|
||||
return GL_FALSE;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue