Log

Author Commit Date CI Message
James Dong 020abb8b 2019-07-24T11:33:49 Vulkan: invalidate translation buffers for SSBOs Translation buffers weren't being marked dirty after running a compute shader in which they are bound as SSBOs. This change invalidates all SSBOs after a draw or compute call. Bug: angleproject:3739 Change-Id: I66b56df7e619b55afc7e3da6b5613b6d050e06bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1717144 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: James Dong <dongja@google.com>
Jiacheng Lu 3e9bc2a7 2019-07-26T10:23:32 Fix param name of glDrawArrays capture Bug: angleproject:3611 Change-Id: Idba4d49d36274db8545f2526f19f045f97031379 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721173 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Clemen Deng f2412bca 2019-07-16T15:47:34 Get rendering to texture working Other small fixes for desktop compatibility Bug: angleproject:3620 Change-Id: I8e75bce1f850fb891c8bb6e16f79302a6d59276c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707932 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 0716ce0a 2019-07-22T15:20:47 Re-add case to blitframebuffer workaround where src is outside of bounds. On Mac, blitFramebuffer calls fail if the source region is not enclosed by the framebuffer. In this case, we must naively clip the source region and adjust the dest region accordingly. This is slightly different behavior and may cause issues with scaling so we use a separate workaround. Also, Windows NVIDIA has a driver bug that affects Vulkan device creation after blitting large textures, so it should be included in the original workaround. This CL cleans up the workaround to use more helpers from ANGLE and to generally improve readability. Bug: chromium:830046 Change-Id: I50bd97449725b738036e6bd3af82362020d7eda8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713090 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll f002a637 2019-07-26T07:02:00 Roll ./third_party/glslang/src 9f2236e58ed0..42f813401bdf (6 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/9f2236e58ed0..42f813401bdf Created with: gclient setdep -r ./third_party/glslang/src@42f813401bdf The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=jmadill@chromium.org,jmadill@google.com Change-Id: I88b5be03e7f7ec2b442baa2a01033ac5ca97dd4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1720290 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll eaef09c0 2019-07-26T07:01:44 Roll ./third_party/spirv-tools/src 3855447d93eb..f54b8653dd9d (9 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3855447d93eb..f54b8653dd9d Created with: gclient setdep -r ./third_party/spirv-tools/src@f54b8653dd9d The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=jmadill@chromium.org,jmadill@google.com Change-Id: Id79c4c5ce598fb2bb1206e3902ffede2aa8dc4c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1720289 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ian Elliott fab397e5 2019-07-25T10:18:50 Vulkan: Enforce an error when initializing a global with a non-const The ESSL 1.0 spec is clear that "initializers must be a constant expression." Yet, because of "legacy" applications (apparently just WebGL applications), the code was only issuing a warning and not an error. The "KHR-GLES2.shaders.negative.initialize" test requires an error be generated. This change splits the semantics, allowing GLES applications to get an error, and WebGL applications to get a warning. Note: This change is related to https://chromium-review.googlesource.com/829138 (for angleproject:2285). Bug: angleproject:3381 Change-Id: Ie243b7dd72102aeb52df506d121d1d2a8f6974d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716617 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill c327370e 2019-07-23T12:54:12 Vulkan: Pass VkExtent3D to TextureHelper::init. Bug: angleproject:3189 Change-Id: I4b95240bb32fbc2b3d0c8f097e0552d0fe23417d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713094 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi c68e7cbc 2019-07-25T11:28:07 Vulkan: Fix image copy flipping The draw framebuffer was consulted for flipping instead of the read framebuffer. Revealed a bug with copy-with-transfer not taking source render target's level/layer into account. This test was failing on Linux/Intel because there the framebuffer is not flipped, so the transfer path was taken. Bug: angleproject:2954 Bug: angleproject:3723 Change-Id: If95bf97b8e0536302ed39999be47bf904283c9e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718784 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi bbffb779 2019-07-25T11:24:39 Fix read framebuffer binding sync before copy image The READ_FRAMEBUFFER_BINDING dirty bit sync was missing from copy image functions. In the Vulkan backend, a cached value for the current read framebuffer was used to determine if the copy should flip in Y, and that cached value was out of date. Bug: angleproject:3723 Change-Id: I10e8a276a42c28fbedc9939f653a5a1f4a14e87b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715483 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 08b97da8 2019-07-23T12:07:13 Vulkan: Fix staging buffer alignment for pixel sizes > 4 Previously, all non-compressed formats were satisfied with a 4-byte alignment. The introduction of float formats changes this. This change calculates the necessary alignment using the same code path as compressed formats. Also fixes RGB9E5's pixelByte being calculated as 3 instead of 4. Bug: angleproject:3731 Change-Id: I6abfd1c294e7f863eb99d2468eaac09e5d714039 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715205 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 557e3853 2019-07-24T18:16:18 Vulkan: Disable atomic counter buffer tests on AMD/Windows A likely driver bug is causing the subsequent OpenGL test to fail. Bug: angleproject:3738 Change-Id: I6ee5e9e7298a2adb3069a6e14ac83453fa34b50f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716056 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Clemen Deng 8bb46c5b 2019-07-22T16:04:55 Refactor: add InternalFormat::isInt() Bug: angleproject:3727 Change-Id: I33ee85563e3b070b4b86afc37230d3f5af54f446 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713091 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jose Dapena Paz dd3de6f0 2019-07-22T21:17:52 Do not assume __has_builtin is available Compilation with GCC breaks as there is a build check using it. To avoid the problem, we declare the macro HAS_BUILTIN that maps to __has_builtin if it is defined, or 0 otherwise. Bug: chromium:819294 Change-Id: I105d566f08baa495fccd553d7b06eb8ce36621ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713604 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll cd369bb8 2019-07-23T07:01:39 Roll ./third_party/spirv-tools/src 76b75c40a1e2..3855447d93eb (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/76b75c40a1e2..3855447d93eb Created with: gclient setdep -r ./third_party/spirv-tools/src@3855447d93eb The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=jmadill@chromium.org,jmadill@google.com Change-Id: I5d98e670ca5e5de9c2675cca7803e395e7f0d1d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1714120 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
James Dong 02407743 2019-07-22T10:56:35 Vulkan: implement indirect dispatch Implements indirect dispatch for Vulkan backend. Layout of dispatch structure is the same as OpenGL, so we pass in the buffer directly. Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.compute.indirect_dispatch.*' Bug: angleproject:3601 Change-Id: I94c6b1a86d3c24c1ca1bb6a78529b38909a2b91f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710024 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: James Dong <dongja@google.com>
Jamie Madill cedea1d9 2019-07-22T17:02:25 Vulkan: Rename 'extents' param to 'glExtents'. Merely a minor refactor to clean up the diff of a subsequent CL. In the follow up we will also distinguish the GL extents from the Vulkan extents/layerCount pair. Bug: angleproject:3189 Change-Id: Ibbb79bf2e6d3f798243b424bacbfb2e5538bfecf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709755 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Clemen Deng 592539fd 2019-07-10T13:15:59 Implicit conversions for Desktop GL shaders Need to support implicit conversions between types for GL shaders Other small fixes to support GL shaders Bug: angleproject:3673 Change-Id: I5341cb7195054ccc4cd36aad5dc8c801c7e1a14f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698649 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 3dcd8ebb 2019-07-22T15:33:22 Skip ProgramBinaryTransformFeedbackTest.GetTransformFeedbackVarying on Pixel 2 Vulkan. Bug: angleproject:3690 Change-Id: Ic00038cfe8fe9d1170eb75aec89c0ac0f074fb05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710026 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill deb43a31 2019-07-22T09:56:27 Vulkan: Store VkExtents3D in ImageHelper. This makes the distinction between a gl::Extents (includes a depth value for 2D array texture layer count) and a Vulkan extents (2D array textures have a "1" for depth) clearer. Preparation refactor patch. Bug: angleproject:3189 Change-Id: I9a13379c421e7f3c7856ac15b7a73013258ab9fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709754 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill da2b649c 2019-07-22T09:56:26 Texture: Make ImageIndex store layer counts. Only for 2D array textures. Bug: angleproject:3189 Change-Id: I9958ab60ffa464aa63f5cb321cbbe14b378f3647 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709109 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov af80b781 2019-07-22T14:31:08 Skip ShaderStorageBufferTest31.ActiveSSBOButNotStaticallyUsed on Pixel 2 Vulkan. Bug: angleproject:3725 Change-Id: Ic5c80ad3ec495c3fd382639f761b368f16993434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713564 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi b82d8633 2019-07-15T11:23:08 Vulkan: Atomic counter buffer support Vulkan doesn't treat atomic counters especially, and they are emulated with atomic access to storage buffers. A single atomic counter buffer binding per pipeline is supported. All the atomic counters identify an offset within this buffer. The shader is modified to include a storage buffer definition with `uint counters[];` as the only field. A compiler pass replaces atomic counter definitions with variables that hold the corresponding offset parameter, as well as changing atomic_uint types to just uint (as the offset). Where an atomic counter variable is used, it is replaced with the offset variable (plus the array index, if array). At the same time, built-in `atomicCounter*` functions are replaced with a corresponding `atomic*` function and `memoryBarrierAtomicCounter` is replaced with `memoryBarrierBuffer`. Bug: angleproject:3566 Change-Id: Iefb3d47de6a5cb3072bfa0cb94a46ac6a886d369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704635 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Yuly Novikov bd4ff479 2019-07-19T22:08:17 Revert "Reland "Temporarily disable creating D3D debug device."" This reverts commit 6064e6ab6bc7355b410543301a578d22d2f6e477. Reason for revert: flakiness should be fixed by https://chromium-review.googlesource.com/c/angle/angle/+/1709726 Original change's description: > Reland "Temporarily disable creating D3D debug device." > > This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2. > > Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 . > > Original change's description: > > Revert "Temporarily disable creating D3D debug device." > > > > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21. > > > > Reason for revert: Seems like flakiness is not related. > > > > Suppress D3D11 test failures uncovered by re-enabling D3D debug device: > > ComputeShaderTest.DispatchCompute > > Texture2DTestES3.TextureImplPropogatesDirtyBits > > D3DTextureTestMS.* > > > > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages > > to clear reported messages, otherwise the failures are also reported > > for tests following the one with the actual failure. > > > > Original change's description: > > > Temporarily disable creating D3D debug device. > > > > > > To diagnose whether Windows Intel end2end tests flakiness > > > is related to creating debug device and new version of Windows SDK. > > > > > > Bug: angleproject:3153 > > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737 > > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954 > > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > > > > Bug: angleproject:3153, angleproject:3493 > > Bug: angleproject:3501, angleproject:3512, angleproject:3513 > > > > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854 > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > > TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org > > Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Kenneth Russell <kbr@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,kbr@chromium.org,jmadill@chromium.org Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3513 Change-Id: I16eff79172dcfa2dd6d4f6445a74c9c65c1bd27c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710861 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 87dc17b5 2019-07-22T11:41:27 Vulkan: Generalize buffers desc set name to include images And atomic counter buffers which are emulated with storage buffers. Bug: angleproject:3566 Change-Id: I102763900c779c3a84661491bad53aec384461f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713086 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Fei Yang a71549b1 2019-05-28T09:44:43 Vulkan: Intermittent failures in many GLES2 CTS The stage mask in vkCmdPipelineBarrier is incorrectly set. Bug: angleproject:3473 Change-Id: I4fea5994a391b0db0f81183f1c4d4ba47d387acb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1631849 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 7151fe54 2019-07-17T15:15:27 Port adjust_src_dst_region_for_blitframebuffer workaround to ANGLE. BlitFramebuffer has issues on some platforms with large source/dest textures. As per the WebGL2 spec, this was caught with validation for sizes over 2^32, but there is a specific issue on Linux NVIDIA where it fails on sizes over 2^16. A better workaround (from chromium), resizes the blitframebuffer call based on the framebuffer size. Bug: chromium:830046 Change-Id: Ic6196db6228d0d0ac92b12a68bbced76dcbcdf8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707115 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya 9ec3f51d 2019-07-19T13:06:16 Reland "Vulkan: Implement OES_get_program_binary extension" Reason for revert: default uniform initialization was incomplete This change has the following fixes: 1. Add missing default uniform initialization when loading program binaries. 2. Re-enable OES Program Binary capabilities for Vulkan. 3. Added two angle end2end test, - ProgramBinaryES3Test.BinaryWithLargeUniformCount uses several uniforms across the vertex and fragment shaders. - ProgramBinaryES3Test.ActiveUniformShader tests the difference between uniform static and active use Bug: angleproject:3216 Bug: angleproject:3217 Bug: angleproject:3665 Tests: dEQP-GLES3.functional.shader_api.program_binary* angle_end2end_tests --gtest_filter=ProgramBinary* Change-Id: If6886f01241d65bb1e17a21cc3406533021072ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699069 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8bea8eec 2019-07-19T15:59:31 Guard ID3DUserDefinedAnnotation access in DebugAnnotator11. ID3DUserDefinedAnnotation is not thread-safe, like ID3D11DeviceContext, however, it's being accessed from WorkerThread for parallel compilation, thus guard it with mutex lock. Bug: angleproject:3493 Change-Id: Ic7cc7fe03675174e054fe1e11d8d9e05abc716a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709726 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jiacheng Lu f35f1110 2019-07-19T09:18:55 Add script to apply clang-format on all sources 1. python script wrapper to call clang-format over the whole code base 2. Add clang-format rule `IncludeBlocks: Preserve` to tell clang-format do not merge include blocks 3. Fix existed clang-format issue in code base Bug: angleproject:3532 Change-Id: I289292dc62c2784ff21688065c87c3f3f5538f17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709720 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill fb5c581d 2019-07-19T14:48:53 Functional revert of "Signal different dirty bit for vertex buffer change." Seems to be causing rendering regressions in the Google Maps benchmark. Likely causing other serious regressions. Original CL: https://chromium-review.googlesource.com/c/angle/angle/+/1684294 Bug: angleproject:3256 Change-Id: I41608a3ce3c3267097b4c1c0a6f7450cf8a2f48f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709756 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
James Dong 765ee7b7 2019-06-19T14:19:52 Vulkan: support for new vertex attribs in GLES 3.0 Fixes handling of packed vertex formats, adds new overrides for 32-bit [SU](NORM|SCALED) vertex types, and handles half-precision floats correctly. Pixel 2 does not natively support certain 10-10-10-2 vertex formats; this change does not add support for them. Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.vertex_arrays.*' Test: ./angle_end2end_tests --gtest_filter='AttributeLayout*/ES3_Vulkan' Test: ./angle_end2end_tests --gtest_filter='VertexAttribute*/ES3_Vulkan' Bug: angleproject:3193 Change-Id: I5ae4edd743e86e3e89e2697034c04dc4d9ecd1f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668230 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: James Dong <dongja@google.com>
Geoff Lang 86a28b3d 2019-07-19T12:10:08 Vulkan: Use the correct context in ImageVk::orphan. The context used for Image creation was being used during orphaning. This causes problems when the image is created with an external source or when different contexts are used between creation and orphaning. BUG=angleproject:3722 Change-Id: Iee4abd2116c3410efd8fb35722cc956cc6d8a3fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709753 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 833bce72 2019-07-19T12:07:29 Call ImageImpl::destroy before destroying the image source. egl::Image destroys the source sibling before calling the backend destroy function. ImageVk needs the source image to do proper clean up. BUG=angleproject:3722 Change-Id: I110d77a9c4151166624bb953c579102ac7dab6ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709752 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 610f2388 2019-07-18T16:28:49 Return backwards compatible context versions in Vulkan, GL and D3D11. This allows us to pass some dEQP GLES 2.0 tests that require using an ES 3.0 context and matches native driver behaviour of returning a higher-than- requested context version when it's backwards compatible. BUG=angleproject:3425 BUG=angleproject:3300 BUG=angleproject:3715 BUG=angleproject:3243 BUG=angleproject:3240 BUG=angleproject:3716 Change-Id: I03dfd56deb6191c3363808717e0eea6fdcf5f3ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709111 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Mohan Maiya 901dd545 2019-07-19T07:43:09 Rectify bug in initialization of offsets for uniform variables Make sure to set a uniform's flattenedOffsetInParentArrays value only if it has a valid parent array index. Serialize/Deserialize flattenedOffsetInParentArrays value. Bug: angleproject:3216 Bug: angleproject:3217 Bug: angleproject:3665 Change-Id: I6e4d003b1dd74b330bcf153f8d3df92414f198dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704219 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 523dbf40 2019-07-15T10:56:26 Add GL versions to desktop implementation The current implementation generates entry points for GL up to version 3.1. Will need to support later versions for some apps. Bug: angleproject:3698 Change-Id: Ic44d07b12a9eeeceb8cd98dd9c44652dca728dc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700572 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Clemen Deng ce330593 2019-07-16T10:02:21 Rename ProvokingVertex and TextureBarrier Need to rename these so that they don't conflict with GL function declarations Bug: angleproject:3702 Change-Id: Iefe490cb53a384c45f0d0024321deda43b461bcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704214 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
angle-autoroll 3c4cfad1 2019-07-19T07:01:38 Roll ./third_party/spirv-tools/src aa9e8f538041..76b75c40a1e2 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/aa9e8f538041..76b75c40a1e2 Created with: gclient setdep -r ./third_party/spirv-tools/src@76b75c40a1e2 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I4582e909efe850056ab42131cfcbfb9ac5915cec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709733 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang 6a02f06d 2019-07-18T16:27:14 Implement EGL_ANGLE_create_context_backwards_compatible This extension allows the user to specify if ANGLE should create a context of the exact requested version or a higher version context that is backwards compatible. BUG=angleproject:3425 Change-Id: I7d0b75cdd7e34a2fc888aa238e1eeb67af82ae0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601560 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 3d4dfa67 2019-07-18T14:53:49 doc: Update TestResults.qpa location on Android Bug: angleproject:1944 Change-Id: I2f4e8f70af8590bca54967cd0d65b4399d6c43e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709234 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 9c78f592 2019-07-18T10:13:05 Remove a few histograms from Renderer11. D3D11 startup time isn't something we're actively looking at right now. Bug: chromium:975166 Change-Id: I3e56d0b0e0da7eb5b10c55b8cfcc0b9769064202 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707929 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 8cb95960 2019-07-16T13:54:57 Vulkan: Fix FS array output location assignment Test: angle_end2end_test --gtest_filter=GLSLTest_ES3.FragmentShaderOutputArray/ES3_Vulkan Bug: angleproject:3707 Change-Id: I6519a76aa58ad80ada0e2ad90a2a70d93f831ce5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704779 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jiacheng Lu ec30d78d 2019-07-03T12:56:58 Optimize uniform matrix update 1. Add a fast matrix update function to do a single memcpy for uniform matrix assignment with same layout. It benefits row-4 no-transpose GLSL matrix and col-4 transpose HLSL matrix. 2. Make boolean IsColumnMajor to be a template parameter in generate uniform matrix updating, which gets rid of the conditional branch in loop and has better performance. 3. Add e2e test of uploading multiple 3x4 GLSL matrices at the same time, which adds coverage to this CL. Bug: angleproject:3632 Change-Id: Id1701ef6fbf63ea4b9884254d93ea8eacfe4e16a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688274 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 69194e5f 2019-07-17T15:35:10 Reduce variance in TextureUploadPerf. This reduces the test time to run in several ms instead of almost seconds per iteration. It allows us to use the perf test runner harness to check test performance more accurately by increasing the sample count. It first reduces the test iteration count to reduce total test time. It also refactors the test contents to not allocate new objects and memory with every test iteration. This gives a better sampling of what the test is obsering: texture upload performance. Also allows tests that like to track GPU time to be used with the NULL device option. Bug: angleproject:3712 Change-Id: Idacc3e3b424f8882d7680769b27d1f04146ea65d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707112 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 27ee35e6 2019-07-18T07:01:38 Roll ./third_party/spirv-tools/src 58e2ec25bab0..aa9e8f538041 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/58e2ec25bab0..aa9e8f538041 Created with: gclient setdep -r ./third_party/spirv-tools/src@aa9e8f538041 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I9922d2ef0fa7b0c2c29885931bdc82628902b61a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1708062 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll eb322499 2019-07-18T07:01:28 Roll ./third_party/glslang/src 74426f7570fd..9f2236e58ed0 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/74426f7570fd..9f2236e58ed0 Created with: gclient setdep -r ./third_party/glslang/src@9f2236e58ed0 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: Ic57be04dba37fd9f7e1e5e2fa02c9bca7dfcc054 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1708061 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi e9111885 2019-07-12T16:15:31 Vulkan: Optimize texture upload barriers When flushing staged uploads to an image, a 64-wide bitfield is used to track subresources that are uploaded since the last barrier. If a collision is detected, a barrier is inserted and the bitfield is reset. If the image has more than 64 subresources, some subresources would map to the same bit and cause a few unnecessary barriers. Texture upload benchmarks show 5% to 10% improvement both in CPU and GPU time. Bug: angleproject:3347 Change-Id: I21dd23c78879bb01d58bc869ffc8bee06c79e6c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700147 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 0efe516e 2019-07-17T14:13:11 Fix egl.h compatiblity. We should include logic for defining EGL prototypes when no other preference is specified. Bug: angleproject:3706 Change-Id: Ie1b5ea6150c7c998a9fe71cf5ee7353dca4ae7ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706908 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 96c696db 2019-07-17T14:16:03 Update the documentation on ANGLE's two reviewer policy. BUG=angleproject:3704 Change-Id: I3df6f7935397b4a98db0eed569868def3e0fd701 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707113 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Li, Hao e9cffa62 2019-07-16T16:32:40 Rename data_dir to angle_data_dir in GN files Dawn reuses the Vulkan validation layers of ANGLE to avoid building twice in chromium, and references build_overrides/vulkan_common.gni, but angle_data_dir is undefined, which is defined as data_dir in angle.gni. There is a reminder to rename this name in https://chromium-review.googlesource.com/c/chromium/src/+/1610488 Bug: angleproject:3710 Change-Id: I4b7c4d24c37770ff58b70c988851a6ed32a04296 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703175 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi c44d2c79 2019-07-11T14:45:56 Fix glGetProgramResourceName filling output with 0 strncpy was used to copy resource names, which fills the unused parts of the buffer with '\0'. The spec doesn't forbid this, but dEQP fails on this behavior, presumably to try and catch overflow bugs. Bug: angleproject:3562 Change-Id: Ifce2d690221b2403848cb8913f4753ec60dfffab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698647 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll b243a2a4 2019-07-17T09:25:28 Roll ./third_party/glslang/src e383c5f55def..74426f7570fd (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e383c5f55def..74426f7570fd Created with: gclient setdep -r ./third_party/glslang/src@74426f7570fd The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I0cc449077f69844a19d4f3bdde44cb67e029851e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706208 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1c16455e 2019-07-17T07:01:38 Roll ./third_party/spirv-tools/src 1fedf72e500b..58e2ec25bab0 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1fedf72e500b..58e2ec25bab0 Created with: gclient setdep -r ./third_party/spirv-tools/src@58e2ec25bab0 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I10633d72c7f0909100f38e3a90262efc6324d055 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1705596 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 2e43b0f5 2019-07-11T17:09:54 Vulkan: Implement memory barriers Bug: angleproject:3574 Change-Id: I13d8f4fcd6f1bf9bf3496c91c2c697076e2491bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699005 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jiacheng Lu 7a5f35c4 2019-07-15T09:21:11 Filter out redundant glDepthRange calls 1. Compare depth range with active config in frontend when glDepthRange is called. It avoids triggering unnecessary backend update. Also remove depth range checking in D3D and GL backends as they are now done in frontend. 2. Change the clamp on far and near plane to ASSERT statement in vulkan backend, as clamp already been applied in frontend. Bug: angleproject:3696 Change-Id: I52ad420dc446d685b98d53690637a19553372873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1702284 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 950e1a4d 2019-07-16T13:10:29 GL: Reset the pixel unpack state after initializing texture data. Texture data initialization happens after dirty bit synchronization so TextureGL::initializeContents must be careful to leave the applied state the same way it found it. BUG=angleproject:3703 Change-Id: I1647cfc59c45fd9fad0fcde2e37af831e56f2e57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704215 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi f92fc916 2019-07-15T22:39:23 Vulkan: Compute shader support A DispatchHelper class is created as the equivalent of FramebufferHelper as a command graph resource. There's currently a single dispatcher and all dispatch calls are recorded on that. Context dirty bits are set up in such a way that graphics and compute workloads are independently handled, so that issuing a dispatch call wouldn't cause a framebuffer's render pass to rebind resources. Bug: angleproject:3562 Change-Id: Ib96db48297074d99b04324e44b067cfbfd43e333 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688504 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 6e7dd1ef 2019-07-16T13:41:59 Generate openGL32.dll in a separate output folder This is to avoid loading it locally and so that the pdb works Bug: angleproject:3641 Change-Id: I2ce93ace47d1e6a1013d38964e5919084ad4ff7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704634 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
Geoff Lang ec9ff8ce 2019-07-15T16:59:10 Fix checks for GL_ETC1_RGB8_OES, disable it on D3D11. The GL backend was checking the wrong extension for GL_ETC1_RGB8_OES. WebGL doesn't want to expose compressed formats that are emulated, disable this format in D3D11 where it is always emulated. BUG=98314 Change-Id: I1ba8418ad1578c070891828b87e49cf894dabc29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700574 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi c4c48b65 2019-07-15T22:34:18 Vulkan: Prefix context pipeline and dirty bits with Graphics In preparation for compute pipeline and dirty bits. Bug: angleproject:3562 Change-Id: I611b97fee1e500fdad32355d096254fd787c4ddd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703525 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 998a37c9 2019-07-15T22:13:14 Vulkan: merge bindGraphics/ComputeDescriptorSets The two called bindDescriptorSets with a fixed GRAPHICS or COMPUTE bind point enum value. The differentation however would result in unnecessary code duplication with upcoming compute support. Bug: angleproject:3562 Change-Id: Ica4400c573a90fda168c64ad777d87aa83256e48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703524 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 6f0780f8 2019-07-15T22:04:46 Vulkan: Rename CommandBufferOwner to RenderPassOwner It's really only used to track the render pass command buffer. The change is made in preparation for compute, where the dispatcher command buffer can change without affecting the render pass. Bug: angleproject:3562 Change-Id: Ia8246de731d5c6a272fa17d6f8952dc981eca36e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703523 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c6d48248 2019-07-16T07:01:38 Roll ./third_party/spirv-tools/src 032adc4d7ede..1fedf72e500b (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/032adc4d7ede..1fedf72e500b Created with: gclient setdep -r ./third_party/spirv-tools/src@1fedf72e500b The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I9d87155c8bf373886c811636451b11503a147522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703170 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 84b5c90e 2019-07-16T07:01:28 Roll ./third_party/glslang/src 1a6e8534cef3..e383c5f55def (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1a6e8534cef3..e383c5f55def Created with: gclient setdep -r ./third_party/glslang/src@e383c5f55def The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=geofflang@chromium.org Change-Id: I4170e1f1d0a59167ac6281d2a2ce348b36f53a2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703169 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 754d697f 2019-07-10T20:34:30 Ignore FreeAllocationOnTimestamp GL debug message Erroneously produced by Android Q Qualcomm driver for worker contexts. Bug: angleproject:3491 Change-Id: I8f2a5f05ad8a00c97d0dfa6e3b7a939d05656420 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700255 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Ian Elliott 5de073c0 2019-07-15T10:05:02 Vulkan: Enable more format-related tests to run After seeing some CLs in this space, that didn't change the expectations file, I checked to see whether more tests can pass, and they can. Bug: angleproject:3190 Change-Id: Ifa1d1c7b91c403c8c67ddcb5d8a589cbaf686cf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1702493 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
James Dong a9ec8749 2019-07-11T11:31:47 Vulkan: override format for mismatched attribs Prevents Vulkan validation error by replacing the input format for any mismatched vertex attributes with a format compatible to what the shader expects. Bug: angleproject:3436 Change-Id: Ia52f29c084d82bbc4e9149102cd4b5fc25ccb9b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698567 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 8b2bb18f 2019-07-10T17:12:25 Vulkan: Update capabilities with the necessary limits Some of the necessary limits were not being defined correctly in the native capabilities, causing some dEQP test failures. Bug: angleproject:3676 Test: Applicable dEQP-GLES3 limits testing Change-Id: If977da1edd7d55627c65cd81a6dcd42c63a3a6a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695934 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 663b0481 2019-07-11T12:37:35 Load correct opengl32.dll Tests are still loading ANGLE's opengl32.dll instead of system's This is because external drivers are trying to load opengl32.dll Workaround: renamed to libGL.dll, need to change back when copying dll over for loading Bug: angleproject:3641 Change-Id: I051adc1fbb488a704c99718ad4a2f74bb7756cbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697290 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang d9c17107 2019-07-10T14:56:26 Add support for GL_OES_texture_compression_astc This extension adds 3D compressed texture formats, something ANGLE has not seen before. This requires tracking a compressed block depth for validation and image size computations. Update the ldr and hdr extension checks to be in line with the spec. HDR requires LDR and is not detectable by texture formats alone. Expose all of the ASTC extensions on the GL backend. BUG=angleproject:3675 Change-Id: Id04c7c8ef8541e9556579536cdba899b64303caf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695923 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten f2060594 2019-07-15T09:24:01 Update OpenGL ES 3.1 Shader Interface Matching According to the OpenGL ES 3.1 spec Chapter 7.4.1 "Shader Interface Matching" Page 91, an output variable is considered to match an input variable in the subsequent shader if: - the two variables match in name, type, and qualification; or - the two variables are declared with the same location qualifier and match in type and qualification. We currently only check the variable names, so this bug will add checking the locations as well. Bug: angleproject:3699 Test: dEQP, end2end Change-Id: I45e91654450fd033299ff0a81bc26a23b3e25a04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700160 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Ian Elliott 9d943af7 2019-07-11T17:53:37 Vulkan: Support more texture format-type combination tests. This is a partial fix for 3455, which contains a number of different root-causes. This CL addresses two sets of them. 1) Partial fix for KHR-GLES3.copy_tex_image_conversions.forbidden.* Recent changes, including adding support for GL_RGBA8-to-GL_RGB5_A1, plus adding support for GL_RGB10_A2-to-GL_RGB5_A1 eliminate the crashes for 56 of the 70 tests. 2) Most of the KHR-GLES3.packed_pixels.rectangle.r* tests now pass. Recent changes, including potentially the above get another 34 tests passing, and another 15 no longer crashing. 3) Vulkan: Fix errant glCopyTextImage validation code. I got all but 2 of the KHR-GLES3.packed_pixels.rectangle.r* tests passing. I fixed bugs in the validation code (with at least two more bugs that I haven't fixed yet). More details below. 3a) Fix the IsValidES3CopyTexImageCombination() function for SNORM. The code wasn't rejecting SNORM cases, which are missing from the table of effective internal formats, meaning that support is undefined. The GLES 3.2 spec says that a GL_INVALID_OPERATION error should be generated "if the effective internal format of the source buffer does not match the effective internal format of the new image." 3b) There's a caveat that was overlooked that means that internal formats like GL_RGB10_A2 are not supported. Bug: angleproject:3455 Bug: angleproject:3693 Bug: angleproject:3697 Change-Id: Ie4399a2d7cd969ec29acc926f32e6608775609c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693325 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
angle-autoroll db637356 2019-07-15T07:01:38 Roll ./third_party/spirv-tools/src 0c4feb643b89..032adc4d7ede (11 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/0c4feb643b89..032adc4d7ede Also rolling transitive DEPS: ./third_party/spirv-headers/src de99d4d834ae..123dc278f204 Created with: gclient setdep -r ./third_party/spirv-tools/src@032adc4d7ede The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=cwallez@chromium.org Change-Id: I3130674feba4f56450da0ff3fa3d836467cd8d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700639 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1ea79ef8 2019-07-15T07:01:28 Roll ./third_party/glslang/src 71892a5eda90..1a6e8534cef3 (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/71892a5eda90..1a6e8534cef3 Created with: gclient setdep -r ./third_party/glslang/src@1a6e8534cef3 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=cwallez@chromium.org Change-Id: I9ede1a71b2e638474ad4daf59f2ab89134df0da4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700638 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop c3085ead 2019-07-11T15:07:29 Vulkan: Set texel offset limits This was blocking compilation for any new texture builtin that used offsets. Bug: angleproject:3622 Change-Id: I30b221741796b53f8e47e3aeeebfbde3f1976bd6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699062 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jonah Ryan-Davis aded991b 2019-07-12T16:02:06 Fix hang on Linux Intel when allocating large textures. Intel Linux graphics drivers before kernel 5.0 can hang when allocating large textures. Limit the texture size as a workaround. Bug: chromium:927470 Change-Id: Ic8c14235396492efafd663b1cd012fd752427992 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700146 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6c90ebb0 2019-07-11T15:10:56 glTexStorage3D: Disallow compressed formats on GL_TEXTURE_3D targets. GLES 3.0.4 p147: "If internalformat is an ETC2/EAC format, CompressedTexImage3D will generate an INVALID_OPERATION error if target is not TEXTURE_2D_ARRAY." This matches the validation of glTexImage3D. TEST=conformance2/textures/misc/tex-storage-compressed-formats.html BUG=chromium:983142 Change-Id: Ifc4ea9503182c43de7e58c4b45b59bb03ae2f901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698648 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Courtney Goeltzenleuchter 943fe34e 2019-06-24T16:51:57 Vulkan: Upload packed depth-stencil Bug: angleproject:3437 Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.VerifyStencilData/* Change-Id: Iffab48eaea6aa35888560859e9f502a4f814b833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674663 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 375ddfc5 2019-07-12T11:12:14 Signal different dirty bit for vertex buffer change. We use new logic to compare if the attribute format changes before setting dirty bits. This improves performance of VBO-only state changes significantly. On the VBO change Vulkan microbenchmark gives about a 30% improvement. Bug: angleproject:3256 Change-Id: Ifaf1c92ed7a09422156ef79b5983e7349de63346 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684294 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 2a4f36b1 2019-07-09T16:10:59 GL: Work around Intel driver bug when clearing to zeros or ones. When clearing to zeros or ones on some Intel drivers on Mac, the clear color would be incorrect. This replicates the chromium clear_to_zero_or_one_broken workaround. BUG=angleproject:3672 Change-Id: I0f065420b577bd8f8d931ccdbeeebdcbf9fd08d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692977 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 2538f6b4 2019-07-12T14:23:11 Revert "PRESUBMIT.py: Don't require "Bug:" for autoroller CLs." This reverts commit 9be098b52fbb59322ee83fd77b3c64442d742822. Reason for revert: Fixed in the auto-rollers. They should now include Bug: tags. Original change's description: > PRESUBMIT.py: Don't require "Bug:" for autoroller CLs. > > BUG=angleproject:3659 > > Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3659 Change-Id: I01a2e82c24918c831a6c444360620d261ec892dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700141 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 13be06e6 2019-07-11T16:39:45 Fix copyTexImage2D corner case with same source/target image. When the source and target textures are the same texture but different levels, there is a corner case which makes the framebuffer incomplete on calling glCopyTexImage2D and fails conformance2/textures/misc/copy-texture-image-same-texture.html Bug: angleproject:2994 Change-Id: I906869c78aefded5688d4491e93b95dd2662175c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697262 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Ian Elliott 25378d6a 2019-07-09T17:23:03 Vulkan: Split some SKIP expecations and put with correct bugs The tests previously skipped for 3458 have 2 different root causes. Bug 3458 was split into two: 3458 and 3674. The SKIP lines have been split into more-fine-grained SKIP lines, with some going to the new 3674 bug. Bug: angleproject:3458 Bug: angleproject:3674 Change-Id: I2eaa83a30b87a81144d8f19658007386683e6388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695899 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
angle-autoroll 80bb3116 2019-07-12T07:01:28 Roll ./third_party/glslang/src c538b5d796fb..71892a5eda90 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c538b5d796fb..71892a5eda90 Created with: gclient setdep -r ./third_party/glslang/src@71892a5eda90 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. Bug: None TBR=cwallez@chromium.org Change-Id: Ic3fa0d8603682ac27119c81252421dc140670b86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699756 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 0cb36be6 2019-07-11T10:32:39 dEQP: Override tes31Context.cpp to prevent 3.2 context creation Skip the GLES 3.2 context creation by overriding tes31Context.cpp with an ANGLE-specific tes31Context_override.cpp that only creates a GLES 3.1 context. Bug: angleproject:3687 Test: dEQP.GLES31 Change-Id: I1afab5f04b79dc252f1b27563032a44ab37cacfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698542 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Geoff Lang ecd2e3b1 2019-07-09T15:39:39 GL: Reset the texture base level before uploads on Mac. Reset the base level of textures before call glTexImage on Mac to prevent driver bugs that cause texture corruption. BUG=angleproject:3671 Change-Id: I90e94b8395a781a2142ef6be3af1d6117f084152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692975 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
James Dong 9917988a 2019-07-10T13:47:32 Vulkan: change packed attrib to ANGLE format ID This prevents later issues with some VkFormat values being over 256, as well as providing more information to pipeline creation. A preliminary step towards handling mismatched vertex attributes. Bug: angleproject:3634 Change-Id: Idb15a14088a2d73b43b4b92d3cfdb12587c5f711 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1696212 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 53aff41e 2019-07-11T14:06:23 Use separate json files for each code generator. This should reduce the number of merge conflicts when multiple people touch different generators. There still will be merge conflicts when two people touch the same code generator. Bug: angleproject:3691 Change-Id: I0b179368a1352331c091972568c00213ab106e46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698650 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 60e2f11e 2019-07-11T14:56:47 Rename StaticType's kInstance to instance. This is more than just a noop: when ANGLE is rolled in Chromium it is tested by the Android Binary Size trybot. This trybot runs an analysis pass that checks that any new variable names "kSomthing" is in .rodata or .data.rel.ro because it helps keep the binary size (and the size of each new Chromium process) small on Android. The analysis picks up new usages of StaticType::Helpers::kInstance as a new constant varaible that isn't in .data.rel.ro or .rodata. My understanding is that kInstances isn't put in those segments because it contains a TType that has a "mutable" field so it would be incorrect to put the variable in a read-only segment. BUG=chromium:981610 Change-Id: I36e550e066206df3404619f1d012b183cbb72fe4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698202 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Clemen Deng 1d672749 2019-07-08T15:42:05 WGL implemetation for OpenGL tutorial Fixes to make WGL implementation work with OpenGL tutorial - Give directive parser the correct shader spec when on Desktop GL - Minor changes to parse Desktop GL shaders - Moved clientType parameter from Context to Context->mState - Minor fixes to WGL functions Bug: angleproject:3666 Change-Id: I01ddb828f6d581ad445f49942589436849eae5d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693244 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 29fba5e0 2019-07-04T17:08:41 Vulkan: Prepare for variable-stage pipelines Compute (single-stage pipeline) is upcoming, but this change prepares GlslangWrapper to handle any number of stages (mostly). Additionally, this change binds each resource to each stage based on whether it's active, so that we don't hit the per-stage limit of resources by binding every resource to every stage. Bug: angleproject:3633 Bug: angleproject:3562 Change-Id: Ifebf691482846e0371c6e314f514226a4cfee258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689330 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jiacheng Lu a1754dc8 2019-06-26T13:36:43 Vulkan: Recycle vkFence This CL introduces a Recycler to reuse unreferenced vk::Fence, reducing CPU time spent on vk::Fence init&destroy. Save around 15% of CPU time for most glmark2 tests. Bug: angleproject:3556 Change-Id: Ice5054305321c466c5be3bc368d04091f074729c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679239 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com>
Tim Van Patten f8d26b4f 2019-07-10T15:10:35 Vulkan: Clean up deqp_gles3_test_expectations.txt The deqp_gles3_test_expectations.txt file is being cleaned up to give failures their own bug, rather than being lumped into the generic "Implement GLES 3.0 conformance" bug. This gives more visibility to the test failures and allows people to start working on this in isolation more easily. There were also some passing tests removed that were found while doing this cleanup. Bug: angleproject:2950 Test: dEQP-GLES3 Change-Id: I24810ac37053fba96bccc7f320bfacc66cc7da59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695927 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll f6083425 2019-07-11T07:01:54 Roll ./third_party/glslang/src 8aa9a7bb8f74..c538b5d796fb (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/8aa9a7bb8f74..c538b5d796fb Created with: gclient setdep -r ./third_party/glslang/src@c538b5d796fb The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@chromium.org Change-Id: I3f06b71a73385d33349e971262bee6bc97bec183 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697174 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Qin Jiajia 96682377 2019-07-08T11:06:27 Fix the RTV and SRV conflict This change fixes below error: Message 0: ID3D11DeviceContext::CSSetShaderResources: Resource being set to CS shader resource slot 0 is still bound on output! Forcing to NULL. Bug: angleproject:3658 Change-Id: I72d656cf61ffb7c39660c019eab980c39eafb70f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688307 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
shrekshao cdab03aa 2019-06-18T17:24:54 Add flags to shader translator to emulate gl_BaseVertex and gl_BaseInstance Adds support for translating gl_BaseVertex and gl_BaseInstance for implementation of GL_ANGLE_base_vertex_base_instance. They will only be available in WebGL 2. Since there's no gl_VertexID and gl_InstanceID in WebGL 1. It won't be very useful to add them to WebGL 1. Mostly follow pattern of gl_DrawID of GL_multi_draw BUG=angleproject:3402,chromium:891861 Change-Id: Ifcd990c52d12f6814127b904e61a779b8d382e0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666361 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell cbdf8616 2019-07-09T20:30:45 Support blitFramebuffer to and from IOSurface-backed textures. Extend validation to allow texture rectangle-backed textures as blitFramebuffer sources and destinations. Add end-to-end test covering this functionality, and run the IOSurfaceClientBufferTests against both ES2 and ES3. Bug: angleproject:3669 Change-Id: I7b8815a2c98072c12de45717afbba9e9b29ba253 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1694483 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 8db211bc 2019-07-10T12:58:52 Fix CopyTexture to support GL_LUMINANCE/ALPHA/LUMINANCE_ALPHA A few WebGL tests were failing on Linux/NVIDIA/passthrough because the luminance workaround doesn't handle the case where the destination texture is a luminance texture. For now, fallback to CPU readback in this case. Bug: chromium:773861 Change-Id: I1b85edccc2e257a5fa19cd496d86443ba96e07ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695922 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis fba3e64e 2019-07-10T11:46:01 Update trigger.py to take extra arguments The extra_args wildcard doesn't support extra arguments prepended with '--'. By using the unknown args returned by argparse, you can add arbitrary args to the swarming call. Bug: angleproject:3272 Change-Id: I8d4ab1e19ceae80b47cc2331e6e30a4187da863f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695921 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>