1. 16 Apr, 2019 7 commits
  2. 15 Apr, 2019 4 commits
  3. 13 Apr, 2019 1 commit
  4. 12 Apr, 2019 2 commits
  5. 11 Apr, 2019 3 commits
  6. 10 Apr, 2019 1 commit
  7. 08 Apr, 2019 1 commit
  8. 04 Apr, 2019 2 commits
  9. 02 Apr, 2019 1 commit
  10. 01 Apr, 2019 1 commit
  11. 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
  12. 26 Mar, 2019 1 commit
  13. 22 Mar, 2019 1 commit
  14. 21 Mar, 2019 1 commit
  15. 20 Mar, 2019 7 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
    • Andres Gomez's avatar
      arb_enhanced_layouts: correct component usage with dvec{3,4} tests · 4b925c82
      Andres Gomez authored
      There was a pre-existing test using "component = 0" with dvec3 which
      was not failing as it should. This was because the other tests
      checking for the usage of the component keyword with dvec3 and dvec4
      were failing due to a different restriction: the component sequence
      was overflowing 3 and/or a double based type was using component 1 o
      3.
      
      Now we fix them by using "component = 0" when need to fail and
      removing the keyword when need to succeed.
      
      From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.50 spec:
      
        " It is a compile-time error if this sequence of components gets
          larger than 3. A scalar double will consume two of these
          components, and a dvec2 will consume all four components available
          within a location. A dvec3 or dvec4 can only be declared without
          specifying a component."
      
      ...
      
        " It is a compile-time error to use component 1 or 3 as the
          beginning of a double or dvec2."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Kenneth Graunke <kenneth@whitecape.org>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      4b925c82
    • Andres Gomez's avatar
      arb_enhanced_layouts: add aliasing tests with mixed type widths · 140cb0ee
      Andres Gomez authored
      Added tests which check component aliasing between types that have
      different bit widths.
      
      From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.60 spec:
      
          "Further, when location aliasing, the aliases sharing the location
           must have the same underlying numerical type and bit
           width (floating-point or integer, 32-bit versus 64-bit, etc.)
           and the same auxiliary storage and interpolation
           qualification. The one exception where component aliasing is
           permitted is for two input variables (not block members) to a
           vertex shader, which are allowed to have component aliasing. This
           vertex-variable component aliasing is intended only to support
           vertex shaders where each execution path accesses at most one
           input per each aliased component. Implementations are permitted,
           but not required, to generate link-time errors if they detect
           that every path through the vertex shader executable accesses
           multiple inputs aliased to any single component."
      
      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>
      140cb0ee
    • Andres Gomez's avatar
      arb_enhanced_layouts: correct interpolation qualifiers · 7c5cdf51
      Andres Gomez authored
      Corrected several component aliasing tests which shouldn't be failing
      or were failing due to a different reason than the tested one:
      interpolation qualifiers mismatch.
      
      From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.50 spec:
      
        " Further, when location aliasing, the aliases sharing the location
          must have the same underlying numerical type (floating-point or
          integer) and the same auxiliary storage and interpolation
          qualification."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Juan Suárez Romero's avatarJuan A. Suarez <jasuarez@igalia.com>
      7c5cdf51
    • Andres Gomez's avatar
      arb_enhanced_layouts: GL_ARB_gpu_shader_fp64 requires GLSL 1.50 · 8f04a7ec
      Andres Gomez authored
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Juan Suárez Romero's avatarJuan A. Suarez <jasuarez@igalia.com>
      8f04a7ec