[Mesa-dev] GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB on r300g

Sven Arvidsson sa at whiz.se
Fri Apr 22 10:19:36 PDT 2011


On Fri, 2011-04-22 at 16:46 +0200, Marek Olšák wrote:
> That page seems to lie.
> 
> The R500 limits are:
> - 1024 vertex shader instructions
> - 512 fragment shader instructions

I remembered that I still have an XP partition around, so I ran GLinfo
myself, and it seems to report the same:
http://whiz.se/temp/x1950pro.htm

I guess the application itself could be buggy though, is there any other
way of confirming the number of instructions?

> You should get these values from 'glxinfo -l'.

Right, that was what I compared the GLinfo output with:

    GL_FRAGMENT_PROGRAM_ARB:
        GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 16384
        GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 512
        GL_MAX_PROGRAM_TEMPORARIES_ARB = 256
        GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 128
        GL_MAX_PROGRAM_PARAMETERS_ARB = 64
        GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 256
        GL_MAX_PROGRAM_ATTRIBS_ARB = 12
        GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 10
        GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0
        GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0
        GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 1024
        GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 256
        GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 16384
        GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 16384
        GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 16384
        GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 512
        GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 512
        GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 511


> Some of the shader model 3.0 requirements are:
> - minimum of 512 instructions must be supported in both vertex and fragment
> shaders (met)
> - GL_ARB_shader_texture_lod (not met)
> 
> The latter appears to be the culprit.

Seems like Wine only enables 3.0 if the number of instructions exceeds
512, probably just to play it safe.



More information about the mesa-dev mailing list