Skip to content
  • Andres Gomez's avatar
    arb_program_interface_query: use out resource to make it active · 8305c580
    Andres Gomez authored
    
    
    From the GL_ARB_program_interface_query spec v.20:
    
      " When a program is linked, the GL builds a list of /active
        resources/ for each interface.  Examples of active resources
        include variables, interface blocks, and subroutines used by
        shader code.  Resources referenced in shader code are considered
        /active/ unless the compiler and linker can conclusively determine
        that they have no observable effect on the results produced by the
        executable code of the program.  For example, variables might be
        considered inactive if they are declared but not used in
        executable code, used only in a clause of an "if" statement that
        would never be executed, used only in functions that are never
        called, or used only in computations of temporary variables having
        no effect on any shader output.  In cases where the compiler or
        linker cannot make a conclusive determination, any resource
        referenced by shader code will be considered active.  The set of
        active resources on for any interface is implementation-dependent
        because it depends on various analysis and optimizations performed
        by the compiler and linker."
    
    Therefore, although the determination of the active resources is
    implementation dependent, it is clear that not making any kind of use
    in the shader code will, most probably, make the compiler/linker
    determine that the resource is inactive.
    
    Signed-off-by: default avatarAndres Gomez <agomez@igalia.com>
    Reviewed-by: default avatarTapani Pälli <tapani.palli@intel.com>
    Reviewed-by: default avatarMartin Peres <martin.peres@linux.intel.com>
    8305c580