[Mesa-dev] [PATCH] r600: apply SIMD workaround to cayman also.

eocallaghan at alterapraxis.com eocallaghan at alterapraxis.com
Mon Dec 7 00:10:54 PST 2015


On 2015-12-07 19:00, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> At last on ARUBA this is required to stop tessellation hanging
> in heaven.
> 
> This removes one of the SIMDs from use by the HS/LS.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/gallium/drivers/r600/evergreen_state.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/r600/evergreen_state.c
> b/src/gallium/drivers/r600/evergreen_state.c
> index 571ea86..d8a14e1 100644
> --- a/src/gallium/drivers/r600/evergreen_state.c
> +++ b/src/gallium/drivers/r600/evergreen_state.c
> @@ -2424,7 +2424,7 @@ static void cayman_init_atom_start_cs(struct
> r600_context *rctx)
>  	struct r600_command_buffer *cb = &rctx->start_cs_cmd;
>  	int tmp, i;
> 
> -	r600_init_command_buffer(cb, 336);
> +	r600_init_command_buffer(cb, 342);
> 
>  	/* This must be first. */
>  	r600_store_value(cb, PKT3(PKT3_CONTEXT_CONTROL, 1, 0));
> @@ -2441,6 +2441,11 @@ static void cayman_init_atom_start_cs(struct
> r600_context *rctx)
>  	r600_store_config_reg(cb, R_009100_SPI_CONFIG_CNTL, 0);
>  	r600_store_config_reg(cb, R_00913C_SPI_CONFIG_CNTL_1,
> S_00913C_VTX_DONE_DELAY(4));
> 
> +	r600_store_config_reg_seq(cb, R_008E20_SQ_STATIC_THREAD_MGMT1, 3);
> +	r600_store_value(cb, 0xffffffff);
> +	r600_store_value(cb, 0xffffffff);
> +	r600_store_value(cb, 0xfffffffe);
> +
>  	r600_store_context_reg_seq(cb, R_028900_SQ_ESGS_RING_ITEMSIZE, 6);
>  	r600_store_value(cb, 0); /* R_028900_SQ_ESGS_RING_ITEMSIZE */
>  	r600_store_value(cb, 0); /* R_028904_SQ_GSVS_RING_ITEMSIZE */

Would be ideal to have a inline comment to make explicit this is 
addressing a hw erratum but otherwise,

Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Tested-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

Thanks for the prompt fix Dave.


More information about the mesa-dev mailing list