[Mesa-dev] [PATCH 1/3] r600g/sb: Handle undef in read port tracker

Dieter N├╝tzel Dieter at nuetzel-hh.de
Thu Aug 27 14:39:18 PDT 2015


Hello Glenn,

with your series I got some steps forward on this one:

[r600g] regression: SB-related NI/Turks crash on 'gsraytrace'
https://bugs.freedesktop.org/show_bug.cgi?id=91503

Crash is GONE.
GPU hang is BACK _without_ R600_DEBUG=nosb.

With R600_DEBUG=nosb
vsraytrace, fsraytrace and gsraytrace
show corruption (images are available)
Where should I add them?

Due to Marek's GREAT GALLIUM_DDEBUG stuff I got forward on the GPU hang, 
too!
Where should I add these logs?

Dieter

Am 27.08.2015 19:04, schrieb Glenn Kennard:
> e8e443 missed adding check for undef values also in
> unreserve function, leading to an assert triggering.
> 
> Signed-off-by: Glenn Kennard <glenn.kennard at gmail.com>
> ---
>  src/gallium/drivers/r600/sb/sb_sched.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp
> b/src/gallium/drivers/r600/sb/sb_sched.cpp
> index 6268078..c98b8ff 100644
> --- a/src/gallium/drivers/r600/sb/sb_sched.cpp
> +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp
> @@ -236,7 +236,7 @@ void rp_gpr_tracker::unreserve(alu_node* n) {
> 
>  	for (i = 0; i < nsrc; ++i) {
>  		value *v = n->src[i];
> -		if (v->is_readonly())
> +		if (v->is_readonly() || v->is_undef())
>  			continue;
>  		if (i == 1 && opt)
>  			continue;


More information about the mesa-dev mailing list