1. 16 Nov, 2017 4 commits
  2. 15 Nov, 2017 7 commits
  3. 14 Nov, 2017 11 commits
  4. 13 Nov, 2017 8 commits
  5. 12 Nov, 2017 2 commits
    • Unify extension behavior checks · 703671e9
      Olli Etuaho authored
      Some supportsExtension and isExtensionEnabled checks are now turned
      into checkCanUseExtension checks. Using checkCanUseExtension is
      preferable so that warnings are generated correctly when an extension
      is used and a warn directive is present.
      
      isExtensionEnabled is still used in some places where an error message
      about the extension could be confusing, particularly when a core spec
      version adds support for something that is also present in an
      extension.
      
      Also make it possible to disable ARB_texture_rectangle extension using
      an extension directive. ARB_texture_rectangle extension functionality
      is enabled by default in GLSL when the extension is supported.
      
      BUG=angleproject:2238
      TEST=angle_unittests
      
      Change-Id: I7455293412ff469f54bc7da79df146e7bc127379
      Reviewed-on: https://chromium-review.googlesource.com/760737
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Add flag for turning off initializing variables with loops · bb0775da
      Olli Etuaho authored
      This flag is needed to toggle upcoming variable initialization mode
      which uses for loops to optimize the compilation process. Initializing
      variables using for loops will be turned on by default, but it needs
      to be turned off in Chromium in certain cases. Chromium will use the
      flag added in this patch and that code will need to go into Chromium
      before finishing the implementation in ANGLE.
      
      BUG=chromium:735497
      
      Change-Id: I3a0e7b7c6cebe60afa72964fbd0caf3b1eafccbc
      Reviewed-on: https://chromium-review.googlesource.com/763451
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  6. 11 Nov, 2017 3 commits
  7. 10 Nov, 2017 5 commits
    • Use a packed enum for buffer targets. · 336129f6
      Corentin Wallez authored
      BUG=angleproject:2169
      
      Change-Id: I4e08973d0e16404b7b8ee2f119e29ac502e28669
      Reviewed-on: https://chromium-review.googlesource.com/723865
      Commit-Queue: Corentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Align float access in InterleavedAttributeData perf test · e3bfefb4
      Yuly Novikov authored
      Used to crash on arm because of unaligned float access in positionColorData
      
      BUG=chromium:675997
      
      Change-Id: Iadc705986700248ce3cff9bb33fcd72c94ad1c59
      Reviewed-on: https://chromium-review.googlesource.com/764688Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Vulkan: Implement Buffer updates. · 9776035d
      Jamie Madill authored
      This allows the app to update Buffer data while the data is in use
      by the GPU. For instance, uploading new vertex attribute data after
      a draw call.
      
      It introduces a StagingBuffer helper class, similar to StagingImage.
      These classes are somewhat temporary and could be redesigned.
      
      BUG=angleproject:2200
      
      Change-Id: If8634b1411779b16c2bd22cce18a5f37ed958d1c
      Reviewed-on: https://chromium-review.googlesource.com/756959Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Workaround Intel driver bug on D3D when renderering with no render target · 38d92b59
      JiangYizhou authored
      When rendering with no render target on D3D, two bugs lead to
      incorrect behavior on Intel drivers < 4815. The rendering samples
      always pass neglecting discard statement in pixel shader.
      
      Two bugs are listed bellow,
      1. When a framebuffer has no attachments, the pixel shader will be
      recompiled to drop 'SV_TARGET'. On Intel drivers, when using a pixel
      shader with no 'SV_TARGET' in a draw, pixels are always generated even
      if they should be discard by 'discard' statements.
      
      2. When a framebuffer has no attachments, ID3D11BlendState.RenderTarget
      [].RenderTargetWriteMask were set to 0 in angle. If RenderTargetWriteMask
      is 0 and rendertarget is not set, then rendering samples also pass
      neglecting discard statement in pixel shader on Intel.
      
      So we add a dummy texture as render target to workaround this issue.
      
      BUG=angleproject:2152
      
      TEST=FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments/ES3_1_D3D11
      TEST=dEQP-GLES31.functional.fbo.no_attachments.*
      TEST=dEQP-GLES31.functional.state_query.integer.max_framebuffer*
      TEST=dEQP-GLES31.functional.state_query.integer.max_color_texture_samples_*
      TEST=dEQP-GLES31.functional.state_query.integer.max_depth_texture_samples_*
      TEST=dEQP-GLES31.functional.state_query.integer.max_integer_samples_*
      
      Change-Id: I1cb974703b6c05c39b731d147f7c8c4fb7b5fe68
      Reviewed-on: https://chromium-review.googlesource.com/741544Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • ES31: Add BUFFER_VARIABLE and SHADER_STORAGE_BLOCK program interfaces · 3a9090fa
      Jiajia Qin authored
      This patch collects the shader storage block members information.
      It implements getShaderStorageBlockMemberInfo and getShaderStorageBlockSize
      for OpenGL backend. Meanwhile, it implements BUFFER_VARIABLE and SHADER_STORAGE_BLOCK
      interfaces for program query.
      
      BUG=angleproject:1920
      TEST=angle_end2end_tests:ProgramInterfaceTest*
           dEQP-GLES31.functional.layout_binding.ssbo*
           dEQP-GLES31.functional.compute.basic.empty
           dEQP-GLES31.functional.compute.basic.ssbo_rw*
           dEQP-GLES31.functional.compute.basic.ssbo_local_barrier*
           dEQP-GLES31.functional.compute.basic.copy_image_to_ssbo_small
           dEQP-GLES31.functional.compute.basic.copy_ssbo_multiple_groups
           dEQP-GLES31.functional.compute.basic.copy_ssbo_multiple_invocations
           dEQP-GLES31.functional.compute.basic.copy_ssbo_single_invocation
           dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_small
           dEQP-GLES31.functional.compute.basic.shared_var*
           dEQP-GLES31.functional.compute.basic.ubo_to_ssbo*
           dEQP-GLES31.functional.compute.basic.write_multiple_arr*
           dEQP-GLES31.functional.compute.shared_var.basic_type.*
           dEQP-GLES31.functional.compute.shared_var.work_group_size.*
           dEQP-GLES31.functional.atomic_counter.*
      
      Change-Id: Ie8b81fde5a2e919aab77adb3d137c9ff2f193409
      Reviewed-on: https://chromium-review.googlesource.com/712235Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>