1. 02 Nov, 2018 7 commits
  2. 01 Nov, 2018 1 commit
  3. 31 Oct, 2018 5 commits
  4. 30 Oct, 2018 8 commits
  5. 29 Oct, 2018 9 commits
  6. 27 Oct, 2018 4 commits
  7. 26 Oct, 2018 6 commits
    • Add flags to shader translator to emulate gl_DrawID · 7cf9cd24
      Austin Eng authored
      Adds support for translating gl_DrawID for implementation of
      GL_ANGLE_multi_draw.
      
      Currently the change only supports and allows emulation of the
      draw id using a uniform variable named `gl_DrawID`. This uniform is
      mapped in the translated shader to a hashed name that does not
      use the gl_ namespace
      
      Bug: chromium:890539
      
      Change-Id: I08a246ca911e88e733ccdf22f1ed69dcae948e05
      Reviewed-on: https://chromium-review.googlesource.com/c/1271957
      Commit-Queue: Austin Eng <enga@chromium.org>
      Reviewed-by: 's avatarKai Ninomiya <kainino@chromium.org>
    • Fix entry points. · e357535f
      Jamie Madill authored
      A race broke the ANGLE tree due to an entry point formatting change.
      
      Bug: angleproject:2890
      Bug: angleproject:2928
      Change-Id: I08cc4e13c9d5bd1888c0d891113d3042759d43dc
      Reviewed-on: https://chromium-review.googlesource.com/c/1302534Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Support GL_OES_texture_border_clamp · b8543630
      Till Rathmann authored
      Added support for GL_TEXTURE_BORDER_COLOR and GL_CLAMP_TO_BORDER in
      OpenGL/OpenGLES, Direct3D9 and Direct3D11 backends.
      For integer textures in OpenGLES3 contexts these additional entry points
      are available now:
      
      void glTexParameterIivOES(enum target, enum pname, const int *params);
      void glTexParameterIuivOES(enum target, enum pname, const uint *params);
      
      void glGetTexParameterIivOES(enum target, enum pname, int *params);
      void glGetTexParameterIuivOES(enum target, enum pname, uint *params);
      
      void glSamplerParameterIivOES(uint sampler, enum pname, const int *params);
      void glSamplerParameterIuivOES(uint sampler, enum pname, const uint *params);
      
      void glGetSamplerParameterIivOES(uint sampler, enum pname, int *params);
      void glGetSamplerParameterIuivOES(uint sampler, enum pname, uint *params);
      
      BUG=angleproject:2890
      TEST=angle_end2end_tests.TextureBorderClamp*
      
      Change-Id: Iee3eeb399d8d7851b3b30694ad8f21a2111f5828
      Reviewed-on: https://chromium-review.googlesource.com/c/1257824
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Make layers not depend on libvulkan. · 20dc1c9b
      Jamie Madill authored
      On Android the layers were adding a dependency on libvulkan. This
      isn't necessary. We can move this dependency up the change to
      libANGLE.
      
      Bug: angleproject:2935
      Change-Id: I63460c05ca99c5afb6e863af9d6142576aa910b9
      Reviewed-on: https://chromium-review.googlesource.com/c/1301721Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Add compiler printf attribute to relevant functions · a390ebd9
      Shahbaz Youssefi authored
      Relands 27a472c6 with reinterpret_cast changed to C-style cast to
      support types that are pointers on some platforms and integers on
      others.
      
      This commit includes fixes to undefined behavior caught by this
      attribute.  The following changes have been made:
      
      - 0x%0.8p is changed to %016 PRIxPTR. Both 0 and . have undefined
        behavior with p.  Additionally, %p already prints 0x with both gcc and
        clang.  This results in a small output change:
      
          void *x = (void *)0x1234;
          void *y = (void *)0x1234567890abcdef;
      
          printf("|%0.8p|\n", x);
          printf("|%0.8p|\n", y);
      
          printf("|%016" PRIxPTR "|\n", (uintptr_t)x);
          printf("|%016" PRIxPTR "|\n", (uintptr_t)y);
      
        prints:
      
          |0x00001234|
          |0x1234567890abcdef|
          |0x0000000000001234|
          |0x1234567890abcdef|
      
      - %d used for GLintptr, GLsizeiptr, EGLTime and EGLnsecsANDROID is
        changed to %llu and the relevant argument is cast to unsigned long
        long.  This is due to these types being typedefs to unknown types (on
        Linux for example, these are unsigned long, and my guess would be
        unsigned long long on Windows where long is 32 bits).
      - %llu is used for GLuint64, which could be unsigned long (as is on
        Linux).  Those arguments are cast to unsigned long long.
      - %p is used for some EGLNative types, but those types may not be a
        pointer.  Those arguments are cast to uintptr_t and printed as above.
      
      Bug: angleproject:2928
      Change-Id: Idf9f705c3d00f69e41e7603453016276a2e13a64
      Reviewed-on: https://chromium-review.googlesource.com/c/1300913Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    • Don't set native blob cache callbacks if the driver doesn't support it. · ad8fe588
      Geoff Lang authored
      BUG=angleproject:2516
      
      Change-Id: I147705e22a7c694d1f22088a9270c579b0941c7d
      Reviewed-on: https://chromium-review.googlesource.com/c/1302113Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Commit-Queue: Geoff Lang <geofflang@chromium.org>