[Mesa-dev] [PATCH 10/10] radeonsi: implement polygon stippling

Michel Dänzer michel at daenzer.net
Mon Feb 2 01:05:31 PST 2015


On 02.02.2015 02:37, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> The stipple texture is bound to slot 16, so there are 17 sampler states and
> 34 sampler views now (17 normal slots + 17 fmask slots).

[...]

> @@ -2742,16 +2743,26 @@ static int si_generate_gs_copy_shader(struct si_screen *sscreen,
>  int si_shader_create(struct si_screen *sscreen, struct si_shader *shader)
>  {
>  	struct si_shader_selector *sel = shader->selector;
> +	struct tgsi_token *tokens = sel->tokens;
>  	struct si_shader_context si_shader_ctx;
>  	struct lp_build_tgsi_context * bld_base;
> +	struct tgsi_shader_info stipple_shader_info;
>  	LLVMModuleRef mod;
>  	int r = 0;
> +	bool poly_stipple = sel->type == PIPE_SHADER_FRAGMENT &&
> +			    shader->key.ps.poly_stipple;
>  	bool dump = r600_can_dump_shader(&sscreen->b, sel->tokens);
>  
> +	if (poly_stipple) {
> +		tokens = util_pstipple_create_fragment_shader(tokens, NULL,
> +						SI_POLY_STIPPLE_SAMPLER);
> +		tgsi_scan_shader(tokens, &stipple_shader_info);
> +        }

The indentation of the closing curly brace is wrong.


> @@ -109,14 +110,16 @@ union si_state {
>  	struct si_pm4_state	*array[0];
>  };
>  
> -#define SI_NUM_USER_SAMPLERS 16 /* AKA OpenGL textures units per shader */
> +#define SI_NUM_USER_SAMPLERS		16 /* AKA OpenGL textures units per shader */

SI_NUM_USER_SAMPLERS could be bumped in or after patch 8, right?


> +#define SI_POLY_STIPPLE_SAMPLER		SI_NUM_USER_SAMPLERS
> +#define SI_NUM_SAMPLERS			(SI_POLY_STIPPLE_SAMPLER + 1)
>  
>  /* User sampler views:   0..15
>   * FMASK sampler views: 16..31 (no sampler states)
>   */

This comment needs updating.


Patches 1-9 are

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


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


More information about the mesa-dev mailing list