1. 20 Jul, 2016 1 commit
    • Fix KHR_Debug segfault errors · 9d901791
      Martin Radev authored
      Calls to functions ObjectLabel, ObjectPtrLabel, GetObjectLabel,
      GetObjectPtrLabel were resulting into segfaults due to improper
      validation and parameter handling. It could be that the
      implementations of those functions were based on an earlier version
      of the KHR_Debug extension.
      
      The patch fixes the segfault error and almost all failing dEQP 3.1
      tests related to KHR_Debug. The failing tests were also relevant to
      older ES versions. There is still one failing test, but that one
      fails since ES3.1 is not fully supported yet.
      
      List of reasons for the segfault error and failing tests:
      - the segfault error was caused by strlen called on a null pointer
      - another segfault was caused by writing out the length to a null
      pointer
      - even if the buffer size for getObject(Ptr)Label is 0, still the
      length of the label can be returned. That was not handled.
      
      BUG=angleproject:1446
      TEST=angle_deqp_gtest_gles31_tests
      --gtest_filter=*functional_debug_object*
      
      Change-Id: I4743be8e862f3620091061cd7abb206a426655ed
      Reviewed-on: https://chromium-review.googlesource.com/361300Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  2. 19 Jul, 2016 10 commits
  3. 18 Jul, 2016 10 commits
  4. 16 Jul, 2016 1 commit
  5. 15 Jul, 2016 6 commits
  6. 14 Jul, 2016 5 commits
  7. 13 Jul, 2016 3 commits
  8. 12 Jul, 2016 2 commits
    • TranslatorGLSL/ESSL: Output #pragma before #extension · b00dcee4
      Corentin Wallez authored
      The Intel Mesa driver considers the #pragma directive to be a
      non-preprocessor token which makes shaders fail compilation.
      
      The relevant blurb from the spec is: "the extension directives
      must occur before any non-preprocessor tokens"
      
      BUG=627417
      
      Change-Id: Ic22cff49a9f9c1fe5d140302581ca7b36688732c
      Reviewed-on: https://chromium-review.googlesource.com/359621Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Corentin Wallez <cwallez@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Support precision emulation on HLSL · a42e8b2c
      Olli Etuaho authored
      Add precision emulation support to HLSL 4.1 output. This makes it
      possible for developers to test their shaders for precision issues
      easily on Chrome on Windows without having to use the GL backend. The
      patch has been verified with Chrome on Windows to reproduce some
      precision bugs in real-world WebGL content, including old versions of
      the babylon.js library.
      
      The EmulatePrecision AST transformation still relies on writing out
      raw shader code for the rounding functions, with raw HLSL code added
      alongside pre-existing GLSL and ESSL code. In some ways it would be
      nicer to do the EmulatePrecision step as a pure AST transformation,
      but on the other hand the raw code is much more readable and easier
      to optimize.
      
      To better support multiple output languages in EmulatePrecision, add a
      RoundingHelperWriter class that has different subclasses for writing
      the rounding functions in different languages.
      
      The unit tests are expanded to cover the HLSL output of precision
      emulation. The parts of the tests that require the HLSL output are
      only active on Windows where ANGLE_ENABLE_HLSL define is added to the
      unit tests. Putting the HLSL tests in an entirely separate file is a
      worse alternative, since it would require either a lot of code
      duplication or add a lot of boilerplate to the individual tests.
      
      BUG=angleproject:1437
      TEST=angle_unittests
      
      Change-Id: Ia4ba0374cd415908f16f34752321af1cb93525a5
      Reviewed-on: https://chromium-review.googlesource.com/358473Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  9. 11 Jul, 2016 1 commit
  10. 09 Jul, 2016 1 commit