mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 21:20:12 +01:00
intel: Add support for blit copies of >32bpp formats.
The blitter only does up 32bpp at a time, so we handle it by mangling coordinates and calling the surface 32bpp. Fixes ARB_texture_rg/fbo-generatemipmap-formats-float with ARB_texture_float. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
b31a99367c
commit
0bbbeba2db
1 changed files with 11 additions and 0 deletions
|
|
@ -146,6 +146,17 @@ intelEmitCopyBlit(struct intel_context *intel,
|
|||
src_pitch *= cpp;
|
||||
dst_pitch *= cpp;
|
||||
|
||||
/* For big formats (such as floating point), do the copy using 32bpp and
|
||||
* multiply the coordinates.
|
||||
*/
|
||||
if (cpp > 4) {
|
||||
assert(cpp % 4 == 0);
|
||||
dst_x *= cpp / 4;
|
||||
dst_x2 *= cpp / 4;
|
||||
src_x *= cpp / 4;
|
||||
cpp = 4;
|
||||
}
|
||||
|
||||
BR13 = br13_for_cpp(cpp) | translate_raster_op(logic_op) << 16;
|
||||
|
||||
switch (cpp) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue