1. 17 Apr, 2019 2 commits
  2. 16 Apr, 2019 9 commits
  3. 15 Apr, 2019 4 commits
  4. 13 Apr, 2019 1 commit
  5. 12 Apr, 2019 2 commits
  6. 11 Apr, 2019 3 commits
  7. 10 Apr, 2019 1 commit
  8. 08 Apr, 2019 1 commit
  9. 04 Apr, 2019 2 commits
  10. 02 Apr, 2019 1 commit
  11. 01 Apr, 2019 1 commit
  12. 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
  13. 26 Mar, 2019 1 commit
  14. 22 Mar, 2019 1 commit
  15. 21 Mar, 2019 1 commit
  16. 20 Mar, 2019 3 commits
    • Andres Gomez's avatar
      arb_enhanced_layouts: add xfb_offset overlap test · 9966894d
      Andres Gomez authored
      From the GL_ARB_enhanced_layouts spec:
      
        " No aliasing in output buffers is allowed: It is a compile-time or
          link-time error to specify variables with overlapping transform
          feedback offsets."
      
      v2: added forgotten check_link.
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      9966894d
    • Andres Gomez's avatar
      arb_enhanced_layouts: add another xfb_stride overflow test · 2afd59ad
      Andres Gomez authored
      Additional check to address a bug in mesa in which a stride which
      is a divisor of the declared offset for an overflowing varying
      won't fail.
      
      From the GL_ARB_enhanced_layouts spec:
      
        " It is a compile-time or link-time error to have any *xfb_offset*
          that overflows *xfb_stride*, whether stated on declarations before
          or after the *xfb_stride*, or in different compilation units."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      2afd59ad
    • Andres Gomez's avatar
      arb_enhanced_layouts: add component aliasing tests · 93f48c04
      Andres Gomez authored
      New tests for component aliasing with duplicated inputs which match
      the same output variable in the previous stage.
      
      From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.60 spec:
      
        " Location aliasing is causing two variables or block members to
          have the same location number. Component aliasing is assigning the
          same (or overlapping) component numbers for two location
          aliases. (Recall if component is not used, components are assigned
          starting with 0.) With one exception, location aliasing is allowed
          only if it does not cause component aliasing; it is a compile-time
          or link-time error to cause component aliasing."
      
      From Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.60 spec:
      
        "   * An output variable is considered to match an input variable in
              the subsequent shader if:
      
              – the two variables match in name, type, and qualification,
                and neither has a location qualifier, or
      
              – the two variables are declared with the same location and
                component layout qualifiers and match in type and
                qualification."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Iago Toral Quiroga <itoral@igalia.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Juan Suárez Romero's avatarJuan A. Suarez <jasuarez@igalia.com>
      93f48c04