1. 20 Mar, 2019 4 commits
  2. 19 Mar, 2019 6 commits
    • Andres Gomez's avatar
      arb_separate_shader_objects: add unused location qualified input test · ff410196
      Andres Gomez authored
      New tests to check that an unused input varying, which would be
      matched based on its explicit location, won't cause a link failure if
      there is no matching output variable.
      
      From the ARB_separate_shader_objects spec v.25:
      
        "   * An output variable is considered to match an input variable in
              the subequent shader if:
      
              * the two variables match in name, type, and qualification; or
      
              * the two variables are declared with the same location layout
                qualifier and match in type and qualification."
      
        ...
      
        " For program objects containing multiple shaders, LinkProgram will
          check for mismatches on interfaces between shader stages in the
          program being linked and generate a link error if a mismatch is
          detected.  A link error will be generated if any statically
          referenced input variable or block does not have a matching
          output."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Iago Toral Quiroga <itoral@igalia.com>
      Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
      Cc: Tapani Pälli <tapani.palli@intel.com>
      Cc: Ian Romanick <ian.d.romanick@intel.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      ff410196
    • Andres Gomez's avatar
      arb_separate_shader_objects: add location overlapping tests · 461e76e8
      Andres Gomez authored
      New tests for location overlap with scalars, doubles and for
      duplicated inputs which match the same output variable in the previous
      stage.
      
      From the ARB_separate_shader_objects spec v.25:
      
        "   * An output variable is considered to match an input variable in
              the subequent shader if:
      
              * the two variables match in name, type, and qualification; or
      
              * the two variables are declared with the same location layout
                qualifier and match in type and qualification."
      
      ...
      
        " A program will fail to link if any two non-vertex shader input
          variables are assigned to the same location."
      
      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: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      461e76e8
    • Andres Gomez's avatar
      arb_separate_shader_objects: add rendez-vous-by mismatch tests · cd992375
      Andres Gomez authored
      New tests to check that, with separable program objects, interface
      matching by name or location are still checked at link time between
      the inner interfaces existing inside the program.
      
      From the ARB_separate_shader_objects spec v.25:
      
        " With separable program objects, interfaces between shader stages
          may involve the outputs from one program object and the inputs
          from a second program object.  For such interfaces, it is not
          possible to detect mismatches at link time, because the programs
          are linked separately.  When each such program is linked, all
          inputs or outputs interfacing with another program stage are
          treated as active.  The linker will generate an executable that
          assumes the presence of a compatible program on the other side of
          the interface.  If a mismatch between programs occurs, no GL error
          will be generated, but some or all of the inputs on the interface
          will be undefined."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Iago Toral Quiroga <itoral@igalia.com>
      Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
      Cc: Tapani Pälli <tapani.palli@intel.com>
      Cc: Ian Romanick <ian.d.romanick@intel.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      cd992375
    • Andres Gomez's avatar
      arb_program_interface_query: correct rendez-vous by name matching · 222fc0b5
      Andres Gomez authored
      Previuosly, this was overlooked asuming that, since they were SSOs, no
      inner interface matching check was needed.
      
      From the ARB_separate_shader_objects spec v.25:
      
        " With separable program objects, interfaces between shader stages
          may involve the outputs from one program object and the inputs
          from a second program object.  For such interfaces, it is not
          possible to detect mismatches at link time, because the programs
          are linked separately.  When each such program is linked, all
          inputs or outputs interfacing with another program stage are
          treated as active.  The linker will generate an executable that
          assumes the presence of a compatible program on the other side of
          the interface.  If a mismatch between programs occurs, no GL error
          will be generated, but some or all of the inputs on the interface
          will be undefined."
      
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Tapani Pälli <tapani.palli@intel.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Cc: Martin Peres <martin.peres@linux.intel.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      222fc0b5
    • Andres Gomez's avatar
      arb_program_interface_query: correct tests table indentation · 5b29e6c7
      Andres Gomez authored
      Cc: Timothy Arceri <tarceri@itsqueeze.com>
      Cc: Martin Peres <martin.peres@linux.intel.com>
      Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
      Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
      5b29e6c7
    • Illia Iorin's avatar
      tests: Check that count of vertex atomic counters enough for test · c3af09e1
      Illia Iorin authored
      In OpenGL 4.6 (Table 23.57: Implementation Dependent Vertex Shader Limits)
      specification  said, that minimum value of MAX_VERTEX_ATOMIC_COUNTERS is 0.
      Therefore if we use them we have to check available count.
      Signed-off-by: default avatarIllia Iorin <illia.iorin@globallogic.com>
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      c3af09e1
  3. 14 Mar, 2019 4 commits
  4. 12 Mar, 2019 4 commits
  5. 11 Mar, 2019 1 commit
  6. 08 Mar, 2019 1 commit
  7. 06 Mar, 2019 4 commits
  8. 01 Mar, 2019 1 commit
    • Ian Romanick's avatar
      arb_gpu_shader_int64: Test extracting individual bytes from 64-bit values · 80baf08d
      Ian Romanick authored
      In Mesa, NIR has an optimization that will convert certain patterns into
      instructions that extract an individual byte from a larger integer.
      When extracting from a 64-bit value, the i965 compiler backend has some
      bugs emitting these instructions.  These tests try to reproduce these
      problems, but only fs-ushr-and-mask.shader_test is able to trigger the
      failure.
      
      The optimization is not (yet) able to recognize the patterns from the
      other tests to generate the mishandled instructions.  With those
      patterns added, all of these tests either fail or hit the assertion:
      
      src/intel/compiler/brw_ir_fs.h:295: fs_reg subscript(fs_reg, brw_reg_type, unsigned int): Assertion `(i + 1) * type_sz(type) <= type_sz(reg.type)' failed.
      Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
      Cc: Jason Ekstrand <jason@jlekstrand.net>
      80baf08d
  9. 27 Feb, 2019 1 commit
  10. 26 Feb, 2019 2 commits
  11. 25 Feb, 2019 1 commit
  12. 22 Feb, 2019 1 commit
  13. 21 Feb, 2019 5 commits
  14. 18 Feb, 2019 2 commits
  15. 15 Feb, 2019 2 commits
  16. 14 Feb, 2019 1 commit