Bug 38566 - [regression] ETQW crashes with 21972c85ea734dbfcf69629c6b0b940efb42d4ba
[regression] ETQW crashes with 21972c85ea734dbfcf69629c6b0b940efb42d4ba
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600
Other All
: medium normal
Assigned To: Default DRI bug account
Depends on:
  Show dependency treegraph
Reported: 2011-06-22 05:31 UTC by Sven Arvidsson
Modified: 2011-06-22 08:22 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Arvidsson 2011-06-22 05:31:18 UTC
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 environment:
-- system architecture: 32-bit
-- Linux distribution: Debian unstable
-- 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:
Comment 1 Michel Dänzer 2011-06-22 07:33:09 UTC
Should be fixed with commit eb2c9b5814f7c6a5b37bc9063b1593095ea4f620 ('r600g: Fix use of uninitialized local variable extra_size.'), thanks for the report.
Comment 2 Andre Maasikas 2011-06-22 08:19:37 UTC
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
Comment 3 Andre Maasikas 2011-06-22 08:22:54 UTC
Arrg, please ignore last comment (seems I fail to read code far too often)