1. 23 Oct, 2015 1 commit
  2. 22 Oct, 2015 2 commits
  3. 21 Oct, 2015 9 commits
  4. 15 Oct, 2015 2 commits
  5. 08 Oct, 2015 2 commits
  6. 01 Oct, 2015 2 commits
  7. 30 Sep, 2015 2 commits
    • ETC2 decoder · 0de50d45
      Alexis Hetu authored
      A new ETC2 decoder was added to SwiftShader, based on the
      OpenGL ETC2 specification. The decoder is fully standalone
      and does not rely on any outside code (there are no files
      included in the header and the source file only include the
      header file, so it can easily be ported to any other project).
      
      Things to note:
      - In Surface.cpp, signed ETC2 images are decoded to full 32FP
        images, because of the lack of support for signed 8 bit R
        and RG internal formats. This should be fixed as soon as
        these formats are made available.
      - sRGB conversion is not performed within the decoder, so it has
        been added as a loop inside Surface::decodeETC2 after the ETC2
        decoding is performed. This is to make sure that there is no
        loss of precision, should we choose to do the conversion to a
        higher bit precision format. The loop is fairly straightforward
        and does the conversion in place, so the impact on performance
        compared to doing the sRGB conversion in the decoder should be
        minimal.
      
      Change-Id: I3a1af623353344bf35818ba9c9f4cf349b587e2f
      Reviewed-on: https://swiftshader-review.googlesource.com/3960Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <capn@google.com>
    • Matrix determinant and inverse implementation · c3d95f36
      Alexis Hetu authored
      Implementation for determinant has been done directly in
      ShaderCore in order to avoid having to allocate temporaries
      manually in OutputASM.
      
      For now, the implementation for the inverse matrix is very
      simple, i.e., it doesn't attempt to re-use results from the
      cofactor matrix computation to compute the determinant or
      do any other kind of optimization, but it works.
      
      Change-Id: I0fc70133809ae2752dc567bf58b60d7af7a88009
      Reviewed-on: https://swiftshader-review.googlesource.com/4000Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
  8. 29 Sep, 2015 1 commit
    • Fixed non square matrix multiplication · 9b3388ed
      Alexis Hetu authored
      A few cases of matrix multiplication weren't working properly
      due to using the wrong matrix dimension. For example, if we
      have the following matrix operation (using matColRow):
      mat32 = mat22 * mat32
      This results in 3 multiplication of 2 element vectors for each
      row of the result and the current code (before this cl) would
      only perform 2 multiplications and produce the wrong result.
      
      This cl should fix all uses of the * operator and of the
      matrixCompMult function when using non square matrices.
      
      Change-Id: Id0dbfd9d65c20102220049c34435c37e3db7f9da
      Reviewed-on: https://swiftshader-review.googlesource.com/3966Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <capn@google.com>
  9. 28 Sep, 2015 1 commit
  10. 25 Sep, 2015 1 commit
    • Fixed Temporary issues · c557bf99
      Alexis Hetu authored
      Some issues, like failures using the do-while command, were caused
      by the assembler being unable to assign registers consistently for
      a single temporary variable. For example, in the do-while case, the
      "iterate" Temporary object was not being assigned to the same
      register between it's initial declaration and it's usage inside the
      loop condition later on, causing the do-while to behave weirdly.
      Other instances where multiple Temporary objects ended up being used
      simultaneously of where a single object was references in multiple
      parts of the code could have failed because of this.
      
      The fix is simply to assign Temporary objects a unique ID.
      
      Change-Id: Ie48c596b4c6570853702cab71497b3e00a40c2a0
      Reviewed-on: https://swiftshader-review.googlesource.com/4015Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <capn@google.com>
  11. 24 Sep, 2015 3 commits
  12. 23 Sep, 2015 3 commits
  13. 22 Sep, 2015 4 commits
  14. 21 Sep, 2015 5 commits
  15. 11 Sep, 2015 1 commit
  16. 03 Sep, 2015 1 commit