[Mesa-dev] [PATCH] glsl: subroutine types cannot be compared

Dave Airlie airlied at gmail.com
Thu Jul 21 20:07:09 UTC 2016


> On Mon, 2016-07-18 at 16:39 +0300, Andres Gomez wrote:
>> subroutine variables are to be used just in the way functions are
>> called. Although the spec doesn't say it explicitely, this means that
>> these variables are not to be used in any other way than those left
>> for function calls. Therefore, a comparison between 2 subroutine
>> variables should also cause a compilation error.
>>
>> From The OpenGLĀ® Shading Language 4.40, page 117:
>>
>>   "  To use subroutines, a subroutine type is declared, one or more
>>      functions are associated with that subroutine type, and a
>>      subroutine variable of that type is declared. The function
>>      currently assigned to the variable function is then called by
>>      using function calling syntax replacing a function name with the
>>      name of the subroutine variable. Subroutine variables are
>>      uniforms, and are assigned to specific functions only through
>>      commands (UniformSubroutinesuiv) in the OpenGL API."
>>
>> From The OpenGLĀ® Shading Language 4.40, page 118:
>>
>>   "  Subroutine uniform variables are called the same way functions
>>      are called. When a subroutine variable (or an element of a
>>      subroutine variable array) is associated with a particular
>>      function, all function calls through that variable will call that
>>      particular function."
>>
>> Fixes GL44-CTS.shader_subroutine.subroutines_cannot_be_assigned_float_int_values_or_be_compared
>>
>> Signed-off-by: Andres Gomez <agomez at igalia.com>

I prefer this one, please push it with Ian's r-b, and consider my one withdrawn.

Reviewed-by: Dave Airlie <airlied at redhat.com>

Dave.


More information about the mesa-dev mailing list