Bug 38566

Summary: [regression] ETQW crashes with 21972c85ea734dbfcf69629c6b0b940efb42d4ba
Product: Mesa Reporter: Sven Arvidsson <sa>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

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
-- 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: 2.6.39.1
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)
A.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.