1. 13 Jul, 2018 1 commit
    • Remove X11 window validation. · 8fb6f6a1
      Nicolas Capens authored
      Despite being a 'client resource', the window can become invalid due to
      events outside of the client code's control, which causes
      XGetWindowAttributes to fail because it retrieves servers-side data
      that is no longer available. Hence it is something we should expect to
      see happen, and not (always) an indication of a bug that needs fixing.
      Also, we should be able to safely continue with an invalid window.
      
      At this point it's up to the client code to catch the X error and
      handle it appropriately. The EGL spec does not indicate that it should
      catch it instead and generate an error (eglSwapBuffers can generate
      EGL_CONTEXT_LOST but that's reserved for power management events).
      
      Bug chromium:861882
      Bug chromium:824522
      
      Change-Id: I78a364516b9466f652c94de68553369935590bde
      Reviewed-on: https://swiftshader-review.googlesource.com/19868Reviewed-by: 's avatarAntoine Labour <piman@chromium.org>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
  2. 09 Jul, 2018 1 commit
  3. 06 Jul, 2018 4 commits
  4. 05 Jul, 2018 3 commits
  5. 04 Jul, 2018 4 commits
  6. 28 Jun, 2018 2 commits
  7. 27 Jun, 2018 1 commit
  8. 26 Jun, 2018 2 commits
    • Support glCopyTexImage2D for float formats. · 659d89e9
      Nicolas Capens authored
      Bug chromium:853424
      
      Change-Id: I9b2de054baf6b042bcd04c5d023099a39ca20d2a
      Reviewed-on: https://swiftshader-review.googlesource.com/19569Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
    • Always create an OpenGL ES 3.0 context. · 83463115
      Nicolas Capens authored
      The EGL spec allows that on context creation, a newer, compatible
      version is returned. OpenGL ES 3.0 is stated to be backward compatible
      with OpenGL ES 2.0, so we can stop creating a context that is limited to
      OpenGL ES 2.0 features, and always return an OpenGL ES 3.0 context.
      
      This simplifies our code and maintenance a bit and reduces the risk of
      incorrect validation.
      
      Note that Appendix F of the OpenGL ES 3.0 specification lists changes
      in behavior that aren't entirely backward compatible with OpenGL ES 2.0:
      * OpenGL ES 3.0 requires that all cube map filtering be seamless. OpenGL
        ES 2.0 specified that a single cube map face be selected and used for
        filtering. See section 3.8.9.1.
      * OpenGL ES 3.0 specifies a zero-preserving mapping when converting back
        and forth between signed normalized fixed-point values and floating-
        point values. OpenGL ES 2.0 specified a mapping by which zeros are not
        preserved. See section 2.1.6.
      * OpenGL ES 3.0 requires that framebuffer objects not be shared between
        contexts. OpenGL ES 2.0 left it undefined whether framebuffer objects
        could be shared. See appendix D.
      
      Additional differences can stem from new extensions being exposed (e.g.
      GL_EXT_color_buffer_float), and framebuffer configurations that are
      newly supported or no longer supported (in particular we allowed
      separate depth and stencil attachments, which OpenGL ES 3.0 expressly
      disallows).
      
      See also https://gitlab.khronos.org/opengl/API/issues/82
      
      Bug swiftshader:45
      
      Change-Id: I90d72698d509b4f03263edcf7c67e44fcef0beb6
      Reviewed-on: https://swiftshader-review.googlesource.com/19388Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
  9. 22 Jun, 2018 4 commits
  10. 21 Jun, 2018 1 commit
  11. 20 Jun, 2018 2 commits
  12. 18 Jun, 2018 1 commit
  13. 15 Jun, 2018 2 commits
  14. 14 Jun, 2018 2 commits
  15. 08 Jun, 2018 1 commit
  16. 05 Jun, 2018 4 commits
  17. 04 Jun, 2018 2 commits
  18. 02 Jun, 2018 2 commits
  19. 01 Jun, 2018 1 commit