Log

Author Commit Date CI Message
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>
Tim Van Patten b91900a2 2019-06-26T17:51:49 Vulkan: Fix khr-gles3.shaders.uniform_block.common.name_matching test failure Fix various shader translator validation errors related to uniform buffers and naming. Bug: angleproject:3459 Test: angle_deqp_khr_gles3_tests Change-Id: Iaa66b61e91c8f38ec7cccb43d71be9ba3cd83da3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684302 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 69e46a18 2019-07-03T14:43:32 GL: Implement EGL_ANDROID_native_fence_sync This extension allows Chrome to use ANGLE on newer Android devices. BUG=angleproject:3643 Change-Id: I5456d61749399ca2bbc11cc5e98b9120f8702406 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687121 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4e71b2bc 2019-07-08T13:23:38 Framebuffer: Clean up query naming. Changes instances where we were querying 'color buffers' and 'depth buffers' to 'color attachments' and 'depth attachments', etc. Bug: angleproject:3611 Change-Id: I7af7d33e5204f21d288f5bcad997988d36eabfc5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690679 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 3fe8c3a3 2019-07-04T15:49:54 Refactor the wait/signalSemaphore entry points to be on the Semaphore object Convert the texture ID parameters into optimized vectors of Texture objects. BUG=angleproject:3656 Change-Id: Iffe824ade2a919c9771642ae501ff04712ca43ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688505 Reviewed-by: Michael Spang <spang@chromium.org>
shrekshao 7964101c 2019-07-09T09:07:32 Fix regex parenthesis missing escaping backslash Bug: angleproject:3668 Change-Id: Iaf529a5a50d1ab040f016fae0ea9bd3129a8fd6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692625 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 5e1b3777 2019-07-08T09:38:38 Vulkan: Add support for GL_RGBA8-to-GL_RGB5_A1 This support was missing and caused dEQP crashes. Bug: angleproject:3627 Change-Id: Idc06cc92df676061f8a08d0f32a1b3e7f03a66f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691102 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 934fc44f 2019-07-09T09:54:26 Vulkan: Note that KHR-GLES3.texture_repeat_mode.* tests pass Not sure when these were fixed, but they pass now. Bug: angleproject:3455 Bug: angleproject:3460 Change-Id: I0275ff001af3bab2599073143effcc54ee0bca82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692447 Commit-Queue: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng cb8b4a57 2019-07-04T16:05:25 Rename "opengl32" to "libGL" Bug: angleproject:3651 Change-Id: I1af052da9bc2f64f2f29ea411902272987f21a0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688178 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 169a14ec 2019-07-08T11:55:42 Move member initializers from Caps.cpp into the struct definitions. BUG=angleproject:3663 Change-Id: I13a1a920173e3f2e5360e6d7253f24a44bdc5e13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690675 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8e70900e 2019-07-09T07:01:20 Roll ./third_party/glslang/src 4b4b41a63499..8aa9a7bb8f74 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/4b4b41a63499..8aa9a7bb8f74 Created with: gclient setdep -r ./third_party/glslang/src@8aa9a7bb8f74 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: Iec081c31b79bd1a555552e7649861f88f000f64f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692188 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b1b22b41 2019-07-09T07:01:01 Roll ./third_party/spirv-tools/src 9702d47c6fe4..0c4feb643b89 (7 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9702d47c6fe4..0c4feb643b89 Created with: gclient setdep -r ./third_party/spirv-tools/src@0c4feb643b89 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. TBR=cwallez@chromium.org Change-Id: I428c6d686be4b1721ecaa9398bbb0b4c83de859e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692187 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Corentin Wallez 9be098b5 2019-07-09T12:00:48 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>
Shahbaz Youssefi 1cde0eab 2019-07-03T10:58:32 Vulkan: Add storage buffer support The storage buffers are placed in the same descriptor set as uniform buffers. Some refactoring is done to reuse code that handles UBOs to handle SSBOs as well. A good number of tests still fail as they test SSBOs in conjunction with compute shaders. Bug: angleproject:3561 Change-Id: Ia33c1f68e6f6402c746f5919ede87b2c308cf81c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687126 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 5dfad811 2019-07-02T13:23:27 Vulkan: GLSL output support for SSBO memory qualifiers Makes the QUALIFIER macro take arguments similar to LAYOUT, to allow passing in tokens to be conditionally output after the storage qualifier. Bug: angleproject:3561 Change-Id: I4368eba2c34c1398f81d33cd23c9e56557fd4ed8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685876 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 91295e1a 2019-07-08T13:31:58 Vulkan: Disable Program Binary Support Reason for disabling: Crashes are seen on Fuchsia. Some parts are missing to appropriately support the extension. Bug: angleproject:3216 Bug: angleproject:3217 Bug: angleproject:3665 Change-Id: I4a7775e023702861d5e801289d49f39702cb19bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691311 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 0966f3f8 2019-07-08T13:18:03 Vulkan: Remove flush semaphore chain This avoids using an unbounded number of semaphores in between calls to swapbuffers. Using two semaphores should be sufficient to synchronize swaps. In addition, fix tracking of VkPipelineStageFlags by creating a 2nd vector parallel to the semaphores vector. The last fix assumed there could only be 2 wait semaphores, but that bound only applied to signal semaphores. After this change, there can only be one signal semaphore, but there's still no bound to wait semaphores. Bug: angleproject:3637 Change-Id: I7fbba67fa4bbdf62b9e9d530a924acd5236705d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688435 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Clemen Deng 0c83813f 2019-07-04T11:38:38 Implement core wgl functions - wglSwapBuffers - wglCreateContext - wglMakeCurrent These functions are needed by the OpenGL tutorial for Windows desktop Bug: angleproject:3620 Change-Id: I699af63eca4a2c8aaf2c72278a580322410ac499 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688499 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 97123e3f 2019-07-08T15:11:16 Vulkan: Fix support for framebuffer discard extension Bug: angleproject:3664 Change-Id: Ifc08a53771c1e114c4169780e7fc984f2552b263 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688182 Reviewed-by: Michael Spang <spang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov bb5389b7 2019-07-08T15:03:33 Switch standalone builders to Xenial GCEs Bug: chromium:954450 Change-Id: I3d35507aad6a1c9a06b148335e547a768b0156ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691119 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang 25b84f38 2019-07-08T14:01:21 Fix capitalization of opengl autogen folder name. This caused linux to fail to autogenerate the entry points. BUG=angleproject:3611 Change-Id: Ia383ed134b1a4ecbcd5e03dca365cd21b8660ffe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690680 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3bd10b19 2019-07-08T13:23:37 Capture/Replay: Return CallCapture from capture funcs. This moves more shared code into a simple templated helper function. It will also allow us to call the parameter capture methods more easily for mid-execution capture. Refactoring change only. Bug: angleproject:3611 Change-Id: I8d95a6230922dfa0403ba5c328df78735c765519 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688508 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3fd0b2db 2018-09-20T15:59:54 Implement EGL_ANDROID_get_native_client_buffer. BUG=angleproject:2508 Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 55efe37c 2019-07-03T11:52:21 Vulkan: Cleanup buffer dependencies onWrite now sets the dependency to make sure the order of setting dependency and adding memory barrier is correct. onReadByBuffer is added to handle buffer-to-buffer dependency and barrier setting correctly without causing a graph loop. onExternalWrite is added so that BufferVk doesn't have to track write access flags. Additionally, setting write dependencies now include both read and write flags. This is in preparation for SSBO support where the buffer can be used to read data in addition to write. Bug: angleproject:3561 Change-Id: I2028186ea14459cd159cf79f6d640df54538fc62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687119 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 9ac15d05 2019-07-08T10:30:22 Ensure the global mutex is not locked before deleting it. It is undefined behaviour to delete a mutex that is locked by a thread. To ensure that the global mutex is not locked, lock/unlock it before deleting it. BUG=angleproject:2464 Change-Id: I735e924abfa06070f2b4103230be8593649ca340 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690674 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng b344fbd9 2019-07-05T11:38:02 Adding client param to context constructor so it can support other clients This change will make it possible for context classes to access multiple versions, e.g. GL version and GLES version Bug: angleproject:3661 Change-Id: I77a33d1c3ea3bffe94c64deb272219bbda1725a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689023 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 3ffbaed6 2019-07-04T13:59:00 Merge entry_points_utils.h and entry_points_enum_autogen Merge the copies of these files from opengl32/libGLESv2 folders and put them in libANGLE Bug: angleproject:3650 Change-Id: I3b20617f17d031c9ecf4676f4162eff586963ed5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688502 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi a1b6761e 2019-07-02T14:42:12 Vulkan: Add SSBO and combined resource limits Fixes UBO limits as well, both to use the per-stage Vulkan limit and to account for driver uniforms now being dynamic. Bug: angleproject:3561 Bug: angleproject:3633 Bug: angleproject:3605 Bug: angleproject:3443 Change-Id: I07e34923cc1d132e965a0b9c0590c96fc561fab1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685877 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya 4c292b87 2019-07-05T09:37:22 Vulkan: Enable remaining ProgramBinary end2end tests Now that we have support for program binaries, enable the following end2end tests for Vulkan backend - 1. ProgramBinaryTest* 2. ProgramBinaryES3Test* 3. ProgramBinaryTransformFeedbackTest* Bug: angleproject:3217 Change-Id: I007b03181c4c3c6c20e8cb278ed78cf14bff7f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689824 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 612b7417 2019-07-05T11:13:30 Capture/Replay: Add frame capture to cpp files. Capture is implemented mostly via code auto-generation. The capture requires a bit of custom logic for each captured pointer parameter. We handle this by using auto-generation to lay out the base template for each GL call and then custom logic that uses ANGLE's internals to know how much data to capture at which point. Client array pointers are captured before each draw call. Currently only GLES capture is supported. We write out cpp files and an optional data file accompanying each cpp. For small data chunks we inline them in the cpp files. For bigger chunks like texture data we pack them into the data file. Mid-execution capture is not yet supported. Configuring the capture is currently only available by modifying the cpp sources. Both of these features will be implemented in the future. Bug: angleproject:3611 Change-Id: If6d5dac2f7bf363129d42ea9198162aef0d3a4ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1671904 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9e438eeb 2019-07-05T08:44:23 Update presubmit checks. - clarifies error for run_code_generation hashes. - makes missing format or bug tag an error. - check for spaces in bug tags. Bug: angleproject:3659 Change-Id: I069e60d8acdf070961bdf342acf976ddd1138b1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689019 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov c26b7914 2019-07-04T16:52:21 Skip EGLSurfaceTest.SwapInterval on Linux NVIDIA Vulkan. Flaky hangs on Ubuntu 19.04 Bug: angleproject:3618 Change-Id: Iab85c94e90aec0f7b15fe0fbc14ae1a8d0734d48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689270 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Clemen Deng a71a8c66 2019-07-04T09:42:31 ANGLE tests loading wrong opengl32.dll ANGLE tests try to load opengl32.dll from ANGLE directory instead of system Bug: angleproject:3645 Change-Id: I3a8cea37252d13e915ff54ae6bbac920db16e4c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688544 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Clemen Deng c5898044 2019-07-04T11:29:42 Don't remove GL commands that are duplicates of GLES commands in openGL32 proc table Bug: angleproject:3652 Change-Id: I014fab19564972bc3bc27f733534fd3630af41b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688497 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 524a8c90 2019-07-04T13:29:23 Fix header check for GLES 1.0 conformance tests. The no_gtest target wasn't sharing its header visiblity with the main target. Fix this using public_deps. Also rolls angle-internal to pick up MSVC build fixes. Bug: angleproject:3654 Change-Id: I4aca1f167031c0b41d1a7f7ff4d7303a960e2839 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688500 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis d6eb8d0c 2019-07-04T11:35:01 Add missing functions to libEGL.def The functions weren't properly exposed from the EGL_ANGLE_feature_control extension. Bug: angleproject:1621 Change-Id: Ie91a18966a84db88d6a9a555e75cba8cea0a6521 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688498 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 62934322 2019-07-03T14:39:14 Make egl::Sync a LabeledObject. This allows us to return the Sync's label when validation fails for a Sync related entry point. BUG=angleproject:3643 Change-Id: I64e8a8855a2e3b51768c2b560fdc4696bb325351 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687120 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis ecaebd0f 2019-07-04T10:25:04 Add GLES 3.1 dEQP test results to ANGLE docs New GLES3.1 vulkan tests were added to the bots. Add the results to the ANGLE docs. Bug: angleproject:3646 Change-Id: I503a00d38b570a1d8491acd8d1bac33723b2cbe4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688545 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill ee21a187 2019-07-04T08:51:34 Store angle::Format in gl::VertexAttribute. Instead of storing type/size/normalized/pureInteger we instead store a pointer to the angle::Format. This makes some code logic simpler and will let us more easily check if a vertex attribute format changes in calls to VertexAttribPointer or VertexAttribFormat. This CL adds extra information to angle::Format to represent the vertex format info needed. It also caches the channel count so that it can be queried faster. Also renames "Int" -> "Sint" in UtilsVk for consistency. Bug: angleproject:3256 Change-Id: I5ef9b983dad8a58c341113c802500b89ce081566 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684293 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll b00ecb9a 2019-07-04T07:01:20 Roll ./third_party/glslang/src 22683b409e6d..4b4b41a63499 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/22683b409e6d..4b4b41a63499 Created with: gclient setdep -r ./third_party/glslang/src@4b4b41a63499 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=ynovikov@google.com Change-Id: I90385bd8f9286aba10ee3d17e73c74e699c42e9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688580 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ian Elliott c4ef62ec 2019-07-01T14:34:06 Vulkan: Note newly-passing Windows tests. Remove FAIL lines from expectations file. After recent CLs have landed, addtional dEQP tests are now passing on Windows. Bug: angleproject:3190 Change-Id: I40e1f29b21d9d3bb450beac4e94377112175308a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684226 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Tim Van Patten 6d37651a 2019-06-26T13:13:09 Vulkan: dFdy is incorrect when the framebuffer is flipped To account for framebuffer flipping, `dFdy()` expressions must be changed to: dFdy() * ANGLEUniforms.viewportYScale Bug: angleproject:3487 Test: dEQP-GLES3.functional.shaders.derivate.dfdy.* Change-Id: I38f25ba37fb8c5ae61cee5ac911df88ec4a93fef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678404 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tobin Ehlis b7418a17 2019-07-03T13:53:11 Restore flatten invariant behavior This was removed with a previous commit to fix behavior of invariant pragma overall, however, the flattening is still needed for the initial translation step of webGL VSs. This change restores the flattening as it previously existed, however it is now only applied to VS outputs. FS inputs are no longer flattened as the previous fixes preclude the need for that workaround any longer. Bug: 980675 Change-Id: Ia3c0471e24cae2905eb0d7bde153091e4d3829b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687788 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Lingfeng Yang 196cd9e7 2019-07-03T08:50:03 GLES1: disable texture3DOES extension It requires GLES 2.0+ This should help keep src/tests/gl_tests/gles1/TextureParameterTest.cpp: TextureParameterTest.NegativeEnum green even if the extension is propagated to the frontend from the underlying renderer. Bug: angleproject:3639 Change-Id: I04118e060f38cb774a6897ee6ce035b540a3b60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686822 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com>
Jonah Ryan-Davis 7356514a 2019-07-03T12:13:05 End2end test for WebGL conformance2/uniforms/large-uniform-buffers.html Bug in UBOs over 65535 bytes is captured in the WebGL conformance test. Add an ANGLE end2end test to capture this behavior. Bug: angleproject:3388 Change-Id: I8151892d22b53a9100d26cceb124c13fdbfae844 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687116 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya a8da8668 2019-07-02T12:21:26 Vulkan: Implement OES_get_program_binary extension - Serialize and deserialize completed shader source of program for saving out for glGetProgramBinary(). - Cleaned up some unnecessary includes in cpp files. - Some refactoring within ProgramVk::ShaderInfo to minimize code duplication. - Added ProgramVk::ShaderInfo::saveShaderSource and ProgramVk::ShaderInfo::loadShaderSource. - Updated vk_caps_utils.cpp to enable getProgramBinary and add the GL_PROGRAM_BINARY_ANGLE program binary format. This follows the pattern for other backends. Bug: angleproject:3216 Tests: dEQP-GLES3.functional.shader_api.program_binary* angle_end2end_tests --gtest_filter=ProgramBinaryTest* Change-Id: I927a27aaf9aa3d7fac550819ee80d2676ec1d1be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683099 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 35c847eb 2019-07-03T15:28:52 Skip EGLFeatureControlTest.InvalidDisplay on all Win/Intel Was skipped only on Vulkan, but it hangs on other backends too, like D3D11. Bug: angleproject:3629 Change-Id: I3a812d86e1765507fb03a58c6d10c6a48edc0f2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687124 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Clemen Deng a87ce835 2019-07-03T13:38:38 Load the correct opengl32.dll DisplayWGL.cpp is loading the opengl32.dll in out/debug, as opposed to the system's opengl32.dll. Want system's dll. Bug: angleproject:3641 Change-Id: I764ef44a942a0a6c4dac7082f82ae0fd4d95a139 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687117 Commit-Queue: Clemen Deng <clemendeng@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov 994938ca 2019-07-03T13:44:46 Skip ImageTest.Source3DTargetExternal on Ozone Since Ozone supports external target only for images created with EGL_EXT_image_dma_buf_import Started failing when Texture3D was enabled in https://chromium-review.googlesource.com/c/angle/angle/+/1682782 Bug: angleproject:3188 Change-Id: I4131b51f16907d12088869b7ee02799ab1b39fec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687980 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>