[Mesa-dev] [PATCH 12/12] gallium/radeon/winsyses: decrease max_alloc_size to 1/3 of largest heap

Michel Dänzer michel at daenzer.net
Mon Aug 1 07:35:33 UTC 2016


On 30.07.2016 06:42, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> This is controversial, but I don't see a better way out of this.
> 
> Tonga has 2 GB of VRAM and 2 GB of GTT. amdgpu is not capable of submitting
> an IB referencing 1 GB of VRAM and 1 GB of GTT. The CS ioctl never succeeds
> even though it's far below the limits.
> 
> Without this, "dEQP-GLES2.functional.color_clear.single_rgb" fails to
> submit an IB. With this, dEQP throws a framebuffer-incomplete exception
> and kills the process.
> 
> IMO, failing the CS ioctl is worse for stability than failing big
> allocations.

I can agree with that, but this change can't reliably prevent CS ioctl
failures:

I believe the problem is mostly due to BOs which are pinned for scanout.
Since up to 6 CRTCs can scan out different buffers at any time, in the
worst case it may not be possible to place any BOs whose size is >= ~1/7
of the VRAM size.

At the end of the day, this needs to be solved in the kernel one way or
another.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list