[Mesa-dev] r600g: Support spilling temp arrays

Dieter Nützel Dieter at nuetzel-hh.de
Fri Mar 10 00:44:25 UTC 2017


Hello Glenn,

I've tested this on r600g, Turks XT / HD6670, 2 GB (same as you have?).
It was hard work to apply this on master. Do you have a rebase handy?

But works so far.

Am 05.03.2017 18:26, schrieb Glenn Kennard:
> This patch series implements support for spilling temporary arrays on
> R6xx/R7xx/Evergreen/NI if hardware GPR limits are exceeded. It opts for 
> a
> simple pessimistic scheme of spilling the largest arrays until things 
> fit.
> 
> This fixes some subset of issues where "GPR limit exceeded" or "TGSI
> translation error" is printed to the console.

LS2015 - Landwirtschafts-Simulator 2015 / FarmingSimulator 2015
https://www.farming-simulator.com
under 'wine' changed ouput from:

EE r600_shader.c:158 r600_pipe_shader_create - translation from TGSI 
failed !
EE r600_state_common.c:765 r600_shader_select - Failed to build shader 
variant (type=0) -12
EE r600_shader.c:2523 r600_shader_from_tgsi - GPR limit exceeded - 
shader requires 167 registers

to:
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI 
failed !
EE r600_state_common.c:799 r600_shader_select - Failed to build shader 
variant (type=0) -12
EE r600_shader.c:3862 r600_shader_from_tgsi - GPR limit exceeded - 
shader requires -10 registers

> Exercises left to reader:
> * Test on R600/R700, I suspect R600 in particular might need some 
> additional
>   fixups for write masking in tgsi_src().
> * Implement support for spilling regular TGSI temps. Most of the
>   infrastructure needed is in this patch series so should be 
> straightforward.
>   This would fix the remaining GPR limit exceeded issues.

Our children can't wait for this...;-)))

Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
GREAT work!

-Dieter


More information about the mesa-dev mailing list