1. 18 Apr, 2019 1 commit
    • Andres Gomez's avatar
      arb_separate_shader_objects: add gl_PerVertex tests · c8aa5747
      Andres Gomez authored
      From the ARB_separate_shader_objects spec v.25:
      
        " To use any built-in input or output in the gl_PerVertex and
          gl_PerFragment blocks in separable program objects, shader code
          must redeclare those blocks prior to use.  A separable program
          will fail to link if:
      
            * it contains multiple shaders of a single type with different
              redeclarations of these built-in input and output blocks; or
      
            * any shader uses a built-in block member not found in the
              redeclaration of that block."
      
      Additionally, added the "SEPARABLE PROGRAM ENABLED" directive to the
      shader_runner
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Acked-by: 's avatarMarek Olšák <marek.olsak@amd.com>
      Reviewed-by: 's avatarIan Romanick <ian.d.romanick@intel.com>
      c8aa5747
  2. 17 Apr, 2019 4 commits
  3. 16 Apr, 2019 9 commits
  4. 15 Apr, 2019 4 commits
  5. 13 Apr, 2019 1 commit
  6. 12 Apr, 2019 2 commits
  7. 11 Apr, 2019 3 commits
  8. 10 Apr, 2019 1 commit
  9. 08 Apr, 2019 1 commit
  10. 04 Apr, 2019 2 commits
  11. 02 Apr, 2019 1 commit
  12. 01 Apr, 2019 1 commit
  13. 29 Mar, 2019 7 commits
    • Eric Anholt's avatar
      fbo-formats: Reuse piglit_merge_result(). · b4eb1500
      Eric Anholt authored
      Besides code removal, this fixes behavior if test_format was to return
      PIGLIT_WARN on some tests but not others.
      Reviewed-by: Jordan Justen's avatarJordan Justen <jordan.l.justen@intel.com>
      b4eb1500
    • Eric Anholt's avatar
    • Eric Anholt's avatar
      util: Introduce fui() and uif() helpers for bit-casting floats/uints. · 4abb292f
      Eric Anholt authored
      I wanted to fix up some type-punning warnings and was surprised to see
      we didn't have this yet.
      Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
      4abb292f
    • Eric Anholt's avatar
      fp-unpack-01: Reuse the shared piglit_half_from_float(). · a56b7193
      Eric Anholt authored
      The shared one is a more complete implementation of half-float
      packing.
      
      Untested, since Mesa doesn't support the extension.
      Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
      a56b7193
    • 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: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: 's avatarMartin Peres <martin.peres@linux.intel.com>
      8305c580
    • Andres Gomez's avatar
      arb_separate_shader_objects: remove misleading comments · 0a218e49
      Andres Gomez authored
      And also redefined built-ins that are not used.
      
      From Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.60
      spec:
      
        " To use any built-in input or output in the gl_PerVertex block in
          separable program objects, shader code must redeclare that block
          prior to use. A separable program will fail to link if:
      
            * it contains multiple shaders of a single type with different
               redeclarations of this built-in block; or
      
            * any shader uses a built-in block member not found in the
              redeclaration of that block.
      
          There is one exception to this rule described below.
      
          As described above, an exact interface match requires matching
          built-in input and output blocks. At an interface between two
          non-fragment shader stages, the gl_PerVertex input and output
          blocks are considered to match if and only if the block members
          match exactly in name, type, qualification, and declaration order.
          At an interface involving the fragment shader stage, the presence
          or absence of any built-in output does not affect interface
          matching."
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: 's avatarMartin Peres <martin.peres@linux.intel.com>
      0a218e49
    • Andres Gomez's avatar
      arb_program_interface_query: redefine built-ins with SSOs · 7b4ed86f
      Andres Gomez authored
      From Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.60
      spec:
      
        " To use any built-in input or output in the gl_PerVertex block in
          separable program objects, shader code must redeclare that block
          prior to use. A separable program will fail to link if:
      
            * it contains multiple shaders of a single type with different
              redeclarations of this built-in block; or
      
            * any shader uses a built-in block member not found in the
              redeclaration of that block.
      
          There is one exception to this rule described below.
      
          As described above, an exact interface match requires matching
          built-in input and output blocks. At an interface between two
          non-fragment shader stages, the gl_PerVertex input and output
          blocks are considered to match if and only if the block members
          match exactly in name, type, qualification, and declaration order.
          At an interface involving the fragment shader stage, the presence
          or absence of any built-in output does not affect interface
          matching."
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: 's avatarMartin Peres <martin.peres@linux.intel.com>
      7b4ed86f
  14. 26 Mar, 2019 1 commit
  15. 22 Mar, 2019 1 commit
  16. 21 Mar, 2019 1 commit