[Mesa-dev] [PATCH 06/10] i965: Reduce maximum GL_ARB_fragment_program instruction count to 1024.

Kenneth Graunke kenneth at whitecape.org
Mon Sep 24 12:06:21 PDT 2012


On 09/22/2012 02:04 PM, Eric Anholt wrote:
> I don't know of any programs that would need more than this.  The larger
> programs I've seen have neared 100 instructions.  This prevent excessive
> runtimes of automatic tests that attempt to test up to the exposed maximums
> (like fp-long-alu).
> ---
>  src/mesa/drivers/dri/i965/brw_context.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index 1083e28..a7d61bd 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -250,10 +250,10 @@ brwCreateContext(int api,
>        MIN2(ctx->Const.VertexProgram.MaxNativeParameters,
>  	   ctx->Const.VertexProgram.MaxEnvParams);
>  
> -   ctx->Const.FragmentProgram.MaxNativeInstructions = (16 * 1024);
> -   ctx->Const.FragmentProgram.MaxNativeAluInstructions = (16 * 1024);
> -   ctx->Const.FragmentProgram.MaxNativeTexInstructions = (16 * 1024);
> -   ctx->Const.FragmentProgram.MaxNativeTexIndirections = (16 * 1024);
> +   ctx->Const.FragmentProgram.MaxNativeInstructions = (1 * 1024);
> +   ctx->Const.FragmentProgram.MaxNativeAluInstructions = (1 * 1024);
> +   ctx->Const.FragmentProgram.MaxNativeTexInstructions = (1 * 1024);
> +   ctx->Const.FragmentProgram.MaxNativeTexIndirections = (1 * 1024);
>     ctx->Const.FragmentProgram.MaxNativeAttribs = 12;
>     ctx->Const.FragmentProgram.MaxNativeTemps = 256;
>     ctx->Const.FragmentProgram.MaxNativeAddressRegs = 0;

I've definitely seen 600 instruction shaders generated by Cg.  (Some
Crystal Space based games use shaders written in Cg, which translates to
stellar ARBfp code...)  I'm afraid there may be even bigger ones.


More information about the mesa-dev mailing list