[Mesa-dev] [PATCH] ac: image size builtin for GLSL_SAMPLER_DIM_3D

Dieter Nützel Dieter at nuetzel-hh.de
Fri Jan 19 07:58:44 UTC 2018


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

on RX580 with UH, UV, glmark2 and Blender 2.79

UH and UV crash for 'wireframe' (as expected - not implemented, yet) ;-)

BTW
Find an interesting hang with Unigine_Superposition-1.0 with and 
_without_ NIR in very high mode. NIR is _much_ better. Hang only appears 
at 8K on downsampled (?) HD 1920x1080 desktop (native monitor mode). 
GLSL hang first under 1080p extreme mode. Both paths have a memory leak, 
but NIR _much_ later? Nothing in the logs. Only reboot works. It happens 
at the last scene (fading out into the dark). I can 'see' some little 
rest of the engine. But the hang is unrelated to these latest patches. 
;-)

That's why I'm cc'ed Andrey.

Need some sleep...

Dieter

Am 18.01.2018 08:17, schrieb Timothy Arceri:
> This is what radeonsi does. Fixes remaing piglit subtest in:
> 
> ./bin/arb_shader_image_size-builtin --quick -auto -fbo
> ---
>  src/amd/common/ac_nir_to_llvm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/amd/common/ac_nir_to_llvm.c 
> b/src/amd/common/ac_nir_to_llvm.c
> index d5b8bea44f..ac6bbe02f1 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -3788,7 +3788,8 @@ static LLVMValueRef visit_image_size(struct
> ac_nir_context *ctx,
>  	const nir_variable *var = instr->variables[0]->var;
>  	const struct glsl_type *type = instr->variables[0]->var->type;
>  	bool da = glsl_sampler_type_is_array(var->type) ||
> -	          glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_CUBE;
> +		  glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_CUBE ||
> +		  glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_3D;
>  	if(instr->variables[0]->deref.child)
>  		type = instr->variables[0]->deref.child->type;


More information about the mesa-dev mailing list