21972c85ea734dbfcf69629c6b0b940efb42d4ba introduced a regression in the game ETQW:
Failed to allocate :
size : -1220046506 bytes
alignment : 512 bytes
EE r600_texture.c:634 r600_texture_get_transfer - failed to create temporary texture to hold untiled copy
I can provide a backtrace later if necessary.
-- system architecture: 32-bit
-- Linux distribution: Debian unstable
-- GPU: REDWOOD
-- Model: XFX Radeon HD 5670 1GB
-- Display connector: DVI
-- xf86-video-ati: 6.14.2
-- xserver: 1.10.2
-- mesa: 21972c85ea734dbfcf69629c6b0b940efb42d4ba
-- drm: 2.4.25
-- kernel: 18.104.22.168
Should be fixed with commit eb2c9b5814f7c6a5b37bc9063b1593095ea4f620 ('r600g: Fix use of uninitialized local variable extra_size.'), thanks for the report.
hmm, from reading the patch I would have assumed that this:
+ extra_size = align(extra_size + (nblocksx * nblocksy * 1), base_align);
should have been
+ extra_size = align(size + (nblocksx * nblocksy * 1), base_align);
or smth like this, however i'm not sure about the logic/layout when
mipmap levels are involved(can they be in depth textures?)
- then extra_size would include and be added only to last level
Arrg, please ignore last comment (seems I fail to read code far too often)
on Jan 21, 2017 at 17:27:06.
(provided by the Example extension).