[Mesa-dev] [PATCH] mesa/st: enable ARB_gpu_shader5 if the reported GLSL version >= 400

Ilia Mirkin imirkin at alum.mit.edu
Tue Aug 12 06:04:00 PDT 2014


So... any objections to this approach? All the other gs5 bits are in
for mesa/st now.

On Sat, Aug 9, 2014 at 11:01 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> The ARB_gpu_shader5 extension is made up of a lot of small sub-parts.
> Instead of adding PIPE_CAP's for each of these, just rely on the GLSL
> version reported by the pipe driver. The remaining extensions lend
> themselves naturally to being checked through a single CAP.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> The only issue will happen when GLSL 4.00 is supported for real and so we
> can't rely on the st to clamp it down to 330. (Although perhaps the mesa
> version limiting logic would kick in then as well?)
>
> The alternative is to add a ARB_GS5 cap, or a bunch of little ones for the
> sub-parts, but that doesn't seem too useful.
>
>  src/mesa/state_tracker/st_extensions.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 7ac4840..51fd71a 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -826,4 +826,7 @@ void st_init_extensions(struct st_context *st)
>     }
>     if (ctx->Const.MaxProgramTextureGatherComponents > 0)
>        ctx->Extensions.ARB_texture_gather = GL_TRUE;
> +
> +   if (glsl_feature_level >= 400)
> +      ctx->Extensions.ARB_gpu_shader5 = GL_TRUE;
>  }
> --
> 1.8.5.5
>


More information about the mesa-dev mailing list