Log

Author Commit Date CI Message
Jamie Madill 6c158164 2020-05-28T15:19:51 Vulkan: Fix XFB invalid accesses in buffer OOM. This uses the "null" buffer in the Renderer to bind an empty buffer handle so ANGLE can maintain a consistent state. Bug: chromium:1086532 Change-Id: I1912a1d1cb64433a285fcfced80a675619690a0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219140 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Antonio Maiorano 3c4d7ab0 2020-06-01T17:14:28 Fix copy subtexture to GL_RGB9_E5 in ANGLE/VK When copying via glTexSubImage2D to a non-renderable format, GL_RGB9_E5, ANGLE's TextureVk::copySubTextureImpl will use the read-back and copy method. This path was ignoring the source offset in the source area computation. Fixes the following WebGL tests: conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-float.html conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-half_float.html Bug: b/157744725 Change-Id: I714f8d3b8f1490edab5e7578445e9623215ce229 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225611 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Yuly Novikov fcd3140a 2020-06-02T14:52:34 Roll third_party/VK-GL-CTS/src/ 60972ed7f..80dc8399b (67 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+log/60972ed7fa8f..80dc8399b063 $ git log 60972ed7f..80dc8399b --date=short --no-merges --format='%ad %ae %s' 2018-03-16 capn Add texture specification test for GL_OES_texture_half_float. 2020-06-01 alexander.galazin Update KC CTS 2020-05-15 rgarcia Add SampleMask write tests 2020-05-29 ynovikov Fix Windows build 2019-03-08 lionel.g.landwerlin Add drm format modifiers tests 2020-05-21 piotr.byszewski Correct few pipeline_barrier tests 2020-05-22 slawomir.cygan Do not use 2D array d/s attachment created from 3D texture 2019-04-03 mika.vainola Update Android API levels and grant permissions 2020-05-18 basni Fix overflow in VK_EXT_subgroup_size_control tests. 2019-11-21 courtneygo Fix uninitialized index array 2020-02-24 jdrouan Add conformance tests for new buffer offset rules 2020-03-03 tomek.bury Improve Wayland protocol version selection. 2020-04-30 tarceri Fix broken layout binding tests 2020-05-06 gleese Remove non-compute variants of common function tests 2020-04-17 Kyle.Griffiths Allow RTZ rounding in spv_assembly*writes_two_buffers* tests 2020-05-04 alexander.galazin Update glslang 2020-05-24 alexander.galazin Force Popen to text mode 2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes 2020-05-24 alexander.galazin Force Popen to text mode 2020-05-06 james.glanville Limit dimensionality of arrays-of-arrays in random SSBO tests 2020-05-07 alexander.galazin Fix Fedora 32 gcc/clang warnings 2020-05-07 alexander.galazin Fix Fedora 32 gcc/clang warnings 2019-11-18 mike.byrne Split spirv_assembly tests workload 2020-05-12 rgarcia Add --deqp-print-validation-errors cmd line option 2020-04-29 rgarcia Test using ViewportIndex from frag shaders only 2020-05-07 ari.suonpaa Test OpArrayLength with stride larger than element size 2020-05-08 bwatling Add an Amber test which uses textureOffset() 2020-05-09 ari.suonpaa Test negative value conversion to b10g11r11 float format. 2020-05-03 tarceri Fix some egl robustness tests 2020-04-28 aleksy.sokolowski Fix epsilon calculation for RGB10_A2 pixel format 2020-05-14 piotr.byszewski Fix warnings found by compiling with MS VC++ 2019 2020-05-13 piotr.byszewski Correct few tests from indirect_dispatch group 2020-05-12 piotr.byszewski Correct sparse_image_format_properties2 tests 2020-05-12 piotr.byszewski Clarify integer formats conversions in blit_image tests 2020-05-11 piotr.byszewski Correct external_memory_host tests 2020-05-11 piotr.byszewski Correct opatomic_storage_buffer_volatile tests 2020-05-15 alexander.galazin Update Vulkan headers 2020-05-13 alexander.galazin Whitelist Vulkan CTS 1.2.2.1 2020-05-07 slawomir.cygan Add missing barrier to HOST in memory_barrier test 2020-05-04 quic_mnetsch Fix wide line rasterization tests 2019-12-04 courtneygo GLES 3.1 negative framebuffer texture2D test fails 2019-12-17 courtneygo OpenGL ES: Use shader storage alignment 2019-07-31 courtneygo Remove illegal parameter use in fbo.completeness 2019-09-11 courtneygo Fix use of invalid HALF_FLOAT enum 2018-08-28 james.hauxwell Fix invalid combinations for texture/copy on ES2 driver 2019-08-28 timvp Use unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_texture].rgba8 2019-07-30 courtneygo Fix invalid parameter for GLES 2.0 2018-07-13 james.hauxwell Fix invalid combinations for texture/copy on ES2 driver 2019-12-20 courtneygo Migrate deRoundUp32 to deInt32.h 2020-04-22 alex.walters Non-strict line interpolation and rasterization 2020-05-01 zzyiwei Suppress -Werror=array-bounds for latest GCC 2020-03-13 rosen.zhelev Extend Android Hardware Buffer external memory format tests 2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes 2020-05-07 alexander.galazin Ensure alphabetical order of xml attributes 2020-05-04 cwabbott0 fix input dependency for renderpass depth/stencil format tests 2020-04-27 slawomir.cygan Avoid exceeding maxPerStageResources in descriptor_indexing tests 2020-04-27 ari.suonpaa Split subgroupBroadcast tests 2020-04-03 rgarcia Test variableMultisampleRate with non-empty framebuffer 2020-04-29 ari.suonpaa Added a fourth batch of coverage tests found by GraphicsFuzz 2020-04-17 joshua Make ImageSamplingInstance loop over pNexts 2020-02-26 yevhenii.kolesnikov Add tests for usage of pixel storage modes 2020-04-29 luwang Fix of a build failure on QNX 2020-05-05 alexander.galazin Update SPIR-V Tools 2019-08-28 quic_mnetsch Adds geometry shader check for test 2020-04-17 james.glanville Stop 10bit formats requiring GL_SRGB encoding 2017-12-21 mnetsch Fixes pixelformat utils for RGB10_A2 2018-08-31 yabin.zheng Add specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation Created with: roll-dep third_party/VK-GL-CTS/src Bug: angleproject:4675 Change-Id: Id9b92e3ce400bf2c4669be845d3f6b5a12b5886f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227039 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya e0b8c74e 2020-06-02T10:42:42 EGL: EGL_CreateSync validation bug fix EGL_CreateSync was calling into ValidateCreateSyncKHR instead of ValidateCreateSync. This ended up returning the incorrect enum for a negative test in deqp. Bug: angleproject:2466 Test: angle_deqp_egl_no_gtest.exe --deqp-case=dEQP-EGL.functional.fence_sync.invalid.create_invalid_type Change-Id: I476d533049c2499705b783293cb6bde311f48a65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226932 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 2611f98b 2020-06-02T09:52:27 Vulkan: Add IMAGE_USE_STORAGE bit only if necessary. The VK_IMAGE_USAGE_STORAGE_BIT has negative performance impact. Right now we needed for overlay widgets. This CL will only add the bit if we actually have widget enabled. Bug: b/157774833 Change-Id: I3027df886c9b34ccfd667152fa4fb090dfadb45b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225810 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Ian Elliott 1df70f03 2020-06-01T16:32:41 Vulkan: Swap RenderArea coords for pre-rotation Fixes Vulkan validation-layer errors. Found by dEQP tests that use small viewports and/or scissors (see Buganizer bugs for details). Bug: angleproject:4431 Bug: b/157933235 Bug: b/157933198 Change-Id: I83966906d70c30a4b50209cf1a33649bf69e3dd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225607 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Le Hoang Quyen ab372311 2020-05-14T23:27:06 Metal: refactor RenderUtils to split into multiple util classes. This is useful for later modifications where blit/clear could be further categorized based on texture format type (float/integer). Bug: angleproject:2634 Change-Id: I877abd21761af9e91657686a60e189a43a33e3f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193195 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 957a2359 2020-06-02T11:09:18 Skip VulkanBarriersPerfBenchmark on NV/Win. This test is failing because our out-of-date Windows 7 NV bots can't create a GLES 3.0 context. Skip this test until the machines are updated. Also updates our wrapper classes to check for an empty handle before calling delete. Prevents a crash trying to call null functions. Bug: chromium:1090139 Change-Id: I0bb58f8bd167691cd241fb0df30cdf4b2f6adf5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225447 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll aab54fd0 2020-06-02T07:01:58 Roll SwiftShader from 471c120ac92a to 11dd7183c4d2 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/471c120ac92a..11dd7183c4d2 2020-06-01 capn@google.com Remove generation of OpenCLDebugInfo100.h 2020-06-01 capn@google.com Fix deallocation of uninitialized pointer If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I72b05c53434de57fc3110de155ec9cbf922809ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226132 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b194892f 2020-06-02T07:01:02 Roll Vulkan-Headers from 09531f27933b to db1a98c6cc43 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/09531f27933b..db1a98c6cc43 2020-06-01 oddhack@sonic.net Update for Vulkan-Docs 1.2.142 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Change-Id: I2856b05ceecc2f233869621e243b4b11e72acccb Bug: None Tbr: ynovikov@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226131 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6cf10840 2020-06-02T07:01:21 Roll glslang from d39b8afc47a1 to 78a3c915a1d7 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/d39b8afc47a1..78a3c915a1d7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I8acf30345c583a0512cf9c7016df8239559518cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226130 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f8cc88b1 2020-06-02T07:01:08 Roll Vulkan-ValidationLayers from 500f77901f6d to 515b4041cc32 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/500f77901f6d..515b4041cc32 2020-06-01 mark@lunarg.com chassis: Address non-const refs 2020-06-01 mark@lunarg.com chassis: Properly use vk_safe_struct.cpp without including it 2020-06-01 mark@lunarg.com chassis: Factor out some common parsing functions 2020-06-01 mark@lunarg.com chassis: Load default callbacks earlier in CreateInstance If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: If51ab028be0cf0b3da9f8917676a6800322589fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2226129 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jiajie Hu 77e5316a 2020-05-28T02:00:29 Pull in Android-only dependencies behind a condition In crrev.com/c/1866080, catapult and android_ndk were added for supporting standalone Android builds, which increased ANGLE's fresh checkout time and disk occupation a lot. For ANGLE embedders, this can be mitigated by putting them behind a condition, where checkout_android is a builtin variable controlled by target_os in the .gclient file. For standalone builds on Linux, Android will be added to target_os by default for compatibility with previous behavior. Bug: None Change-Id: I0b258c6fc7f62ca65e705b8c31c9ace5dffd4030 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216709 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajie Hu <jiajie.hu@intel.com>
Charlie Lao 5891b091 2020-06-01T11:24:37 Vulkan: acquire swapchain image should use COLOR_ATTACHMENT_OUTPUT_BIT The mAcquireImageSemaphore is for achieving the maximum overlap between display engine and rendering engine. We should only need to block when we write to the swapchain image. Work that doesn't touch the visible buffer can proceed. Bug: b/157916459 Change-Id: Ic9a9a1f2a7648ef7f50f99578a0f0d674ae5e66c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223826 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Antonio Maiorano 1e9097f5 2020-05-29T11:58:10 Enable CopyTextureVariationsTest.CopyTexture on VK These do not fail on SwiftShaderVK. Root problem was fixed at some point so we can re-enable these. Bug: angleproject:4092 Change-Id: I8a0e03eaf438b61d31a2c6461e581445d0378645 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2221424 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 93577b20 2020-05-28T15:16:46 Vulkan: Move "null" buffer to RendererVk. This will allow the TransformFeedback and other classes to share the same buffer. Also should save a bit of memory. Bug: chromium:1086532 Change-Id: I198170b4e09165a4770b68af6df9aa7b690e8d66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219138 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Le Hoang Quyen 5e13757b 2020-05-11T00:50:00 Metal: Fix array of structs containing array of samplers bug. Previously ProgramMtl could try to bind fixed slots to samplers based on layout (set=..., binding=...). However, GLSL layout model is different from Metal slots assignment. For example, The following is valid layout in GLSL: - array samplers A[2] is bound to index 0. - array samplers B[2] is bound to index 1. It is invalid to do so in Metal, since A occupies 2 slots, thus samplers B[2] must be bound to slots starting from 2. New binding method: let spirv-cross auto assigns the texture slots and retrieve them after compilation. Incomplete textures moved to ContextMtl using IncompleteTextureSet. New test added: GLSLTest.ArrayOfStructContainingArrayOfSamplers. Bug: angleproject:2634 Change-Id: Ib0edaaf8b20512e1272c37c1d4b16a88a5b35e75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193193 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Maksim Sisov 4b2a9cbc 2020-05-21T08:57:02 move duplicated SwapControlData to rendergl_utils. Both DisplayOzone and DisplayGLX have SwapControlData declared and defined. In the future, when both of them will be compiled (DisplayGLX will be required for Ozone/X11), they will result in a compilation error stating about multiple definitions of the struct. Thus, move that rendergl_utils. Bug: chromium:1084458 Change-Id: Ib174d0e8de1ac4773c841fe286175358acb15d79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210702 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 6169aca6 2020-06-01T10:45:17 Update dirty bits flow example. Had an incorrect label for the gl::Context and was missing a few edges for new connections. Bug: None Change-Id: I037551f8f0a6559b9c522ae192b1cd93edf9bcf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223815 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Philip Lamoureux 9515707b 2020-05-29T11:23:44 Move ShaderVariable utility function from utilities.cpp ShaderVars.cpp. Fixes an implied dependency cycle between translator and angle_common. This will also allow us to be more strict about declaring dependencies on GLSLANG headers. Tested by building and running angle_unit_tests on Linux. Bug: angleproject:4672 Change-Id: I331230d2cf179ccea140ee7a0d5a3c8768c58cb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222682 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya b3693762 2020-05-22T14:44:48 Vulkan: Enhance VulkanBarriersPerfBenchmark 1. Request a GLES3.0 context 2. Create 2 uniform buffers to be used in the new test case 3. Increase the size of the viewport 4. Add a new test case where we issue draw and buffer copy commands. The expectation is that the draw to FBO and the copy between the 2 buffers happen in parallel. Bug: angleproject:4633 Test: angle_perftest --gtest_filter=VulkanBarriersPerfBenchmark.Run/vulkan_buffer_copy Change-Id: I3c5d287c05451f77053962371a96e2de6a8ea00d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215139 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2f2595a8 2020-06-01T08:16:09 Roll SPIRV-Tools from 8dfdbeff84f3 to f050cca7ec47 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/8dfdbeff84f3..f050cca7ec47 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I682a6e599541cc32ff7cbd7d6f509683fef0f598 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2224899 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6d4675a6 2020-06-01T07:01:13 Roll Vulkan-ValidationLayers from 3c5bad0911e3 to 500f77901f6d (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/3c5bad0911e3..500f77901f6d 2020-05-29 s.fricke@samsung.com tests: Add extra VK_EXT_sample_location test 2020-05-29 s.fricke@samsung.com layers: Fix VK_EXT_sample_locations bug 2020-05-29 mark@lunarg.com tests: Added test for VUID-VkFBCreateInfo-pAttachments-00891 2020-05-29 mark@lunarg.com corechecks: Add FB check for depth-stencil 3D image/imageviews 2020-05-29 s.fricke@samsung.com tests: Add VUID 02840 2020-05-29 s.fricke@samsung.com layers: Add VUID 02840 2020-05-29 mark@lunarg.com layers: Clean up some variable name formatting issues 2020-05-29 souravp@nvidia.com tests: Implement test for raytracing VUIDs 2020-05-29 souravp@nvidia.com layers: Raytracing VUIDs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I1fce9cae0dcf5c96713b70833dee2c02aab9ae47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2224610 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 48102b2b 2020-05-29T10:28:18 Perf: Add Candy Crush trace TBR: jmadill@chromium.org,nguyenmh@google.com,tobine@google.com Test: angle_perftest --gtest_filter="*candy*" Bug: b/150458396 Change-Id: I79c86b8d111ef55528da2ec5f0ac3a39428a1667 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223658 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop b59db10a 2020-05-28T16:24:11 Perf: Add Subway Surfer trace TBR: jmadill@chromium.org,nguyenmh@google.com,tobine@google.com Test: angle_perftests --gtest_filter="*Trace*" Bug: b/150458446 Change-Id: Ie47dfa7208db0fb1f2449b758df9d2b73bbfe974 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220766 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 860af7a2 2020-05-29T15:34:27 Capture/Replay: Use aligned offsets for binary data Traces that populate data by reading from unaligned memory addresses can crash. This CL ensures each offset is 16-byte aligned. TBR: jmadill@chromium.org,nguyenmh@google.com Test: angle_perftests --gtest_filter="*Trace*" Bug: b/150458446 Change-Id: I721999426772fa2f94fe39600d330a15eacc2794 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222847 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill b947498b 2020-05-28T13:06:13 Vulkan: Clean up VMA wrapper classes. Make these more consistent with the rest of the wrapper classes. Also handle some VkResult errors that were being ignored. Will pave the way for better handling of buffer allocation error conditions. Bug: chromium:1086532 Change-Id: Idc5b3f0e2945b1f44f152d33e8cc572f83a6b658 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219136 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 558882a1 2020-05-28T15:26:37 Vulkan: Pass vk::Context to BufferHelper::init. This is necessary so we can initialize a "null" BufferHelper in RendererVk which does not have access to the ContextVk. This in turn will allow us to use a single global "null" Buffer instead of instantiating them all over ANGLE. Also removes a TODO that was sticking in the code. Bug: angleproject:2162 Bug: chromium:1086532 Change-Id: Ica48d5b886e885ebfe0f8e3abfbe8169a8eaa5b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219139 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Le Hoang Quyen c0c938af 2020-05-11T00:50:00 Metal: draw 1 triangle instead of 2 for fullscreen shaders. Reference article in favour of one big triangle instead of 2: https://michaldrobot.com/2014/04/01/gcn-execution-patterns-in-full-screen-passes/ According to this article, the performance could be increased by ~10% for fullscreen shaders. Bug: angleproject:2634 Change-Id: Ia5b04c40f0587e3cb8680c0f30f7b68d9d7a3efe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193192 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8470b533 2020-05-28T15:14:38 Set gl::Buffer to zero size when allocations fail. It's undefined what happens if we run into OOM errors when allocating new resources. To guard against fuzzer issues we can set the buffer size internally to zero when an allocation fails. This should prevent GL APIs from reading from the buffer when the contents are internally inconsistent. Bug: chromium:1086532 Change-Id: I9ac4becf977bf0521208b2220caba788c21c93f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219137 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Le Hoang Quyen 3c00eee2 2020-05-11T00:50:00 Metal: Use bit fields for state descriptor caching. This reduces size of state descriptors and increase hashing performance. Bug: angleproject:2634 Change-Id: Ida1a17a4fb30a053dafc82a3f7501b448e16e818 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192570 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 3e1e1087 2020-05-11T00:50:00 Metal: Use 2d array for caching index conversion's pipeline state. For index conversion utils, use 2d array for caching compute pipeline state based on DrawElementsType & source offset is aligned or not, instead of using std::map as previously. Also moved default shader's initialization to DisplayMtl. New test added: IndexBufferOffsetTest.DrawAtDifferentOffsetAlignments Bug: angleproject:2634 Change-Id: I1bd77aca88e03229ef8053e32add66733e33b06e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192569 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Antonio Maiorano 9905f7f5 2020-05-29T11:25:33 Fix CopyTextureTestES3.ES3FloatFormats for VK When enabled, this would crash in debug because mFormat would be nullptr on the target VkTexture, and the ASSERT would access mFormat via getAspectFlags(). Fixed this by only calling getAspectFlags() if mFormat is valid. I'm not sure this was the original reason this test was disabled, but they pass now on SwiftShader. Bug: angleproject:4092 Change-Id: I9b04bbc61dde14f722d3a510f3d38776f4f6c7ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2221420 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Maksim Sisov 56a4cc12 2020-05-21T13:17:21 Rename DisplayOzone to DisplayGbm. DisplayOzone doesn't really have anything related to Ozone. Instead, it's the gbm platform that is used there. Thus, rename it to DisplayGbm. Bug: chromium:1084458 Change-Id: I4d974f6afbf0daa28fc3e83943b35814dca203fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211763 Reviewed-by: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Ian Elliott 9bb7dd8a 2020-05-28T14:55:06 Create a pre-rotation test for dFdx() & dFdy() This end2end test makes it easier to create/debug pre-rotation support for dFdx() & dFdy(). Bug: b/157476241 Change-Id: I6e6cc3a86c84d252a326a776d6b589662b08d1ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220311 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop 6185d42e 2020-05-28T15:12:09 Capture/Replay: Update MEC for Subway Surfer Implement some missing entry points, including sync objects. Bug: b/150458446 Bug: angleproject:3662 Change-Id: I0e9e7926e1a13bd9b0e83900ea19d2fbef9a284f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220312 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Antonio Maiorano 98496cab 2020-05-28T15:02:43 Fix float to int copy in VK backend This fixes WebGL tests on Vulkan (e.g. SwiftShaderVK) that copy from the canvas (GL_RGBA8) to an integer format target texture, such as: conformance2/textures/canvas_sub_rectangle/tex-2d-rg8ui-rg_integer-unsigned_byte.html The sampled normalized value needs to be scaled up by 255. Also fixes angle_end2end test CopyTextureTestES3.ES3UintFormats on Vulkan. Bug: b/156399229 Bug: angleproject:4092 Change-Id: I18d46bc4453fdc500caca96ca3a12fe93290b10c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
angle-autoroll 82848585 2020-05-29T07:01:55 Roll SwiftShader from 9e718f962f87 to 471c120ac92a (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/9e718f962f87..471c120ac92a 2020-05-28 capn@google.com Don't inline rr::Variable methods If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ife0c3c9de12c3b5a61ea84d7994c671e7b087367 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222138 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 666ee1e3 2020-05-29T07:01:08 Roll glslang from e00d27c6d65b to d39b8afc47a1 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e00d27c6d65b..d39b8afc47a1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I48817820afa29f47dd84fa20c85eb2e2215e0e15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222136 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b41baa41 2020-05-29T07:01:11 Roll Vulkan-ValidationLayers from afe55126be2d to 3c5bad0911e3 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/afe55126be2d..3c5bad0911e3 2020-05-28 shannon@lunarg.com build: Update known-good file for 1.2.141 SDK 2020-05-28 s.fricke@samsung.com layers: Label BindBuffer2 VUIDs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Idbd085bbfc87bb5163e9fddb40be5f38caf1e80a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222137 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 33004b09 2020-05-28T17:22:39 Roll VVL and Headers to v1.2.141 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/424cdd54fe80..afe55126be2d 2020-05-27 shannon@lunarg.com build: Update known-good files for 1.2.141 header 2020-05-27 s.fricke@samsung.com layers: Label 01720 and 01721 2020-05-27 s.fricke@samsung.com layers: Remove CB device tracking 2020-05-27 tony@lunarg.com layers: Temp removal of check for border color feature 2020-05-27 s.fricke@samsung.com layers: Label BindMemory2 VUIDs https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/4c19ae6b95e4..09531f27933b 2020-05-15 oddhack@sonic.net Update for Vulkan-Docs 1.2.141 2020-05-04 devrel@oddhack.org Remove advanced notice of header change 2020-05-04 oddhack@sonic.net Update for Vulkan-Docs 1.2.140 Bug: None Change-Id: I1fa6b821c2b704457a92b0c744a97e546fc5ef81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220527 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 29bb612e 2020-05-28T10:32:26 Add egl::ShareGroup class to abstract the share context group Vulkan backend has a barrier tracker that tracks memory barrier needs of all shared resources. Because the buffer/texture objects are shared resources within a shared group, the tracker can not live in a context. Putting it in a device/renderer requires locks. It fits perfectly in a shareGroup object. The work is already done at API level to handle the mutex lock for shared context access so that no extra lock needs to be taken in the backend. This CL adds egl::ShareGroup class that represents the object that are shared among all share context group. At the front end this usually will include all the shared resource managers (not done in this CL). The ShareGroup object is accessible from gl::State object. This CL also adds ability for backend driver to allocate implementation specific ShareGroupImpl object. Vulkan backend will then use it to keeps the barrier tracker and other things that naturally fits the share group concept. Bug: angleproject:4664 Change-Id: Ifcd975cbdf5130022e21c41397894afc28f572e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217252 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Ethan Lee 209cf8fa 2020-05-27T16:23:57 GGP: Check and enable VK_GGP_frame_token Bug: angleproject:4668 Change-Id: I9ecbdf37e206cb6eb93699091bbff70ad898040f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219032 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 2383f344 2020-05-28T12:32:21 Port disable_timestamp_queries GPU workaround to ANGLE There is a driver bug in VMWare drivers related to timer queries. This driver is already disabled in Chrome, this CL ports the workaround to ANGLE. Bug: chromium:1075876 Bug: chromium:811661 Change-Id: I87ab28b803191884658d0c1ad4bfdfdd1b727fd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219420 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Ian Elliott 4d7a3993 2020-05-27T14:08:20 Vulkan: Rotate gl_PointCoord for Android pre-rotation This extends the current y-flip that's done for gl_PointCoord. Now, gl_PointCoord is rotated and then flips both the x and y-axis (similar to gl_FragCoord). The tests used to reproduce the problem and the fix are: angle_deqp_gles2_tests --local-output --gtest_filter=dEQP.GLES2/functional_shaders_builtin_variable_pointcoord* --use-angle=vulkan angle_end2end_tests --local-output --gtest_filter=*GLSLTest.PointCoordConsistency*Vulkan* Bug: b/157476696 Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216700 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0652d0d6 2020-05-27T12:59:20 Fix non-existent required dependency TARGET module ANGLE has non-existent required: privapp_whitelist_com.android.angle Bug: b/7456955 Test: TH presubmit Change-Id: I828f154d2ff8126de8383ef56216436c29677729 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218687 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll f7a7fb49 2020-05-28T07:01:07 Roll glslang from 2b0eafb1de5b to e00d27c6d65b (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2b0eafb1de5b..e00d27c6d65b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ie6b4be8440e36975367361ef9b303fa194940388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219636 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b9529e3a 2020-05-28T07:01:17 Roll SPIRV-Tools from d3d89bb90cbd to 8dfdbeff84f3 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d3d89bb90cbd..8dfdbeff84f3 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from f8bf11a0253a to ac638f181542 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ice1d98eea49e2a537ef3d87c6b24bba8609e6f37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219638 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 6a184fe9 2020-05-27T20:51:52 Fix use_libfuzzer build Broken by https://chromium-review.googlesource.com/c/angle/angle/+/2174719 Failed during roll in https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/466117 https://ci.chromium.org/p/chromium/builders/try/win-libfuzzer-asan-rel/437044 Bug: b/154030730 Change-Id: Ia1672b9ae8c86e9da135285101ca2d7f31301c2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219044 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 4bbef996 2020-05-26T15:40:51 docs: Update ANGLE for Android documentation Following up on feedback to minimize GN arg lists. The initial block generates a Debug build with minimum variance from default args. The additional blocks are for different scenarios, like getting maximum performance, and verifying ANGLE runs cleanly with Vulkan in Release. Bug: b/150368485 Bug: angleproject:4347 Change-Id: I4db6c389b9bdaf8124795a3aeeb79590245d1e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216813 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kenneth Russell c8bfefac 2020-05-22T14:54:47 Emulate unsized depth/stencil textures on ES 3.0 without OES_depth_texture. Use sized internal formats for unsized depth/stencil textures on ES 3.0 devices that don't advertise the GL_OES_depth_texture extension. This CL makes the webgl-depth-texture.html conformance test pass on WebKit's ANGLE backend on iOS. Bug: angleproject:4591 Change-Id: Ifc45e74258ecf2e6433662bb10b081f1f94bded9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213678 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 02fa7313 2020-05-05T17:01:18 Vulkan:Initial worker thread disabled by default Created new CommandProcessor class that can be run as a worker thread. Running CommandProcessor within RendererVk as a worker thread that takes a CommmandBufferHelper (CBH) ptr as the interface and processes that CBH into a primary command buffer. Main thread has a queue of CBH to draw from. After submitting a CBH to the worker, it pulls next CBH from the queue. Worker thread releases CBH back to the main thread queue when done. Synchronization goes two ways: 1. Work submitted to worker thread is managaed with a mutex and condition variable based around the work queue. 2. Available CBH ptrs for the main thread have a mutex and condition variable that manages the CBH queue. The worker thread is disabled by default, and, when enabled, it will currently behave and perform as the non-threaded code. This is because the kNumCommandBuffers const in ContextVk.h is set to 2. With only 2 command buffers, they will be assigned to the inside and outside RenderPass command buffers respectively. Then, as soon as one is submitted, the main thread will stall waiting for it to be completed and put back into the queue mentioned in #2 above. The next step is to move command submission to the worker thread and update the number of command buffers so that processing/submission will occur in parallel with the main thread. Right now there is a race condition issue when attempting to run in parallel because the main thread updates and submits the same primary command buffers that are used in the worker thread, which is in violation of the Vulkan spec. The follow-on CL will fix this issue as the main thread will only touch SecondaryCommandBuffers and the worker thread will be the only thread touching the primary command buffers. Bug: b/154030730 Change-Id: Ib0c518bbd7ca9a3a7e789f4e1f2f7131ddc0509e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174719 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten f5dace0f 2020-05-22T19:02:49 Vulkan: Increase GLES support to 3.1 Update getMaxConformantESVersion() to support GLES 3.1. This requires skipping some tests on Nvidia due to XFB failures. dEQP-GLES3.functional.transform_feedback.array_element.interleaved.* dEQP-GLES3.functional.transform_feedback.array_element.separate.* dEQP-GLES3.functional.transform_feedback.array.interleaved.* dEQP-GLES3.functional.transform_feedback.array.separate.* dEQP-GLES3.functional.transform_feedback.random.* Bug: angleproject:3520 Test: CQ Change-Id: I3de0e8f7a9e9c6e800be9eb2c04e713e1f88fc08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213810 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis eadc387c 2020-04-01T16:53:31 GL: Support GL_OES_texture_cube_map_array in shader translator GL_OES_texture_cube_map_array is core in 3.2. This CL adds support for this extension in the shader translator. Now passes dEQP.KHR_GLES31/core_texture_cube_map_array.*, dEQP.GLES31/functional_fbo_color_texcubearray_*, and dEQP.GLES31/functional_opaque_type_indexing*samplercubearray* with GL backend. Bug: angleproject:3584 Change-Id: I1a8485c7d9d3fffb9b5109d292b35b0c56a3c665 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2133086 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis 7fde3673 2020-05-25T15:48:06 GL: Support GL_OES_texture_cube_map_array in frontend/GL backend GL_OES_texture_cube_map_array is core in 3.2. This CL adds the necessary validation for the frontend, as well as support for this extension on the GL backend. The next step is to add the changes to the translator. Bug: angleproject:3584 Change-Id: I751a9c9f71a553b05fdf6673250290806d8cfbff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215306 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott 901045cc 2020-05-26T10:41:18 Vulkan: Rotate gl_FragCoord for Android pre-rotation This extends the current y-flip that's done for gl_FragCoord. Now, gl_FragCoord is rotated and then flips both the x and y-axis. Bug: angleproject:4643 Bug: b/156395519 Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210936 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Manh Nguyen 218a6835 2020-05-26T13:51:34 Store non-string, non-enum data in binary file. Before, non-string, non-enum data smaller than a size threshold will be inlined in the cpp files. Now, they will be stored in binary file regardless of size. Bug: angleproject:4661 Change-Id: Id71cd22c97d26c9b9afaf5b26f7a327b998cb858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216306 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Manh Nguyen <nguyenmh@google.com>
George Burgess IV ca092f01 2020-05-26T11:45:08 translator: explicitly specify underlying types for enums Some of these enums are stored in const structs and such. Since we don't need a full `sizeof(int)` bytes each, don't use it. This shaves 16KB off of libGLESv2.so for eve. Bug: chromium:1084580 Change-Id: Ib6eca49203a74c094661f890e32160974c0c531e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216431 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 4a81e3db 2020-05-27T07:01:55 Roll SwiftShader from 79dcb2a5abbd to 9e718f962f87 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/79dcb2a5abbd..9e718f962f87 2020-05-26 bclayton@google.com Update SPIR-V Tools to 55af3902f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ic2cd3565ff08e1000423ce938c2a45cfd666c2a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217453 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ad1a7ac3 2020-05-27T07:01:17 Roll SPIRV-Tools from 9cb2571a184c to d3d89bb90cbd (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9cb2571a184c..d3d89bb90cbd If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I8437a2768cd29fdf2045a63717523bccdc1a371b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217451 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll aabc896c 2020-05-27T07:01:52 Roll Vulkan-Loader from 3e390a159761 to 006586926ade (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/3e390a159761..006586926ade 2020-05-26 shannon@lunarg.com Build: Update known-good files for 1.2.141 header 2020-05-26 charles@lunarg.com loader: add per-application override layer settings If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I4f2da819d41d8695fe2a1835dad4890ca7c72c81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217452 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f9826008 2020-05-27T07:01:01 Roll Vulkan-Tools from 0c4ea014bf28 to 2bc4fcd9eba5 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/0c4ea014bf28..2bc4fcd9eba5 2020-05-27 charles@lunarg.com scripts: Add default arg for kvt_genvk directory 2020-05-26 shannon@lunarg.com build: Update known-good files for 1.2.141 header 2020-05-26 charles@lunarg.com vulkaninfo: use generate_source.py for autogen If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I45e2074e120db1356b35a7232b8235b1f6865927 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217330 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5b4c6273 2020-05-26T23:20:11 Roll Vulkan-ValidationLayers from 6ff146b0bfce to 424cdd54fe80 (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/6ff146b0bfce..424cdd54fe80 2020-05-26 ynovikov@chromium.org layers: Fix crash in ValidationStateTracker::PreCallRecordDestroySampler 2020-05-26 s.fricke@samsung.com tests: Add FindSupportedDepthStencilFormat check 2020-05-26 s.fricke@samsung.com layers: Fix False Positive AHB BindBuffer 2020-05-26 mark@lunarg.com tests: Add tests cases for CreateInstance status messages 2020-05-26 mark@lunarg.com tests: Add tests for the layer message filter 2020-05-26 mark@lunarg.com tests: Generalize SetEnvVar for use in any test case 2020-05-26 mark@lunarg.com layers: Update layer settings file for message filtering 2020-05-26 mark@lunarg.com layers: Enable filtering of VUIDs from layer output 2020-05-26 mark@lunarg.com chassis: Add processing for msg id filtering 2020-05-26 mark@lunarg.com chassis: Output status message at CreateInstance-time 2020-05-26 mark@lunarg.com tests: Avoid deprecated ext test false positive 2020-05-26 mark@lunarg.com chassis: Switch enables/disables from struct to array If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I6eb21f8f66b056c5914346a1ec7cbfdad1b8cb95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216763 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang a24be8c3 2020-05-26T16:45:29 Don't allow glReadPixels of depth buffers with ES3.1. The ES3.1 spec does not appear to include these formats as valid glReadPixels formats. Test=KHR-GLES3.packed_pixels.rectangle.depth24_stencil8 BUG=angleproject:3520 Change-Id: I6ccd5a7fc49c2e16885cfaace56efce1d96e937a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216713 Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Sunny Sachanandani 3d5f0c82 2020-05-19T20:05:57 Use surface texture offset for clears and blits https://chromium-review.googlesource.com/c/angle/angle/+/2186176 added surface texture offset attributes for D3D11 pbuffer surfaces, but the implementation didn't apply the offset to blits or clears. This CL fixes that and includes a unit test for blit, clear, and draw. Also renames textureOffset to surfaceTextureOffset throughout since it's clearer, and fixes the dcomp surface test to specify the update offset returned by dcomp BeginDraw(). Bug: angleproject:2997 Change-Id: I9298ccf55cbb2d04c3b8f78e12f9d07dc8fa54b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210967 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
George Burgess IV 9dac86c9 2020-05-26T08:58:40 gen_proc_table: generate `const` tables We never mutate these tables; marking them const allows the loader to shuffle them to a place that makes them readonly after they're init'ed. This isn't intended to be a functional change. Bug: chromium:1084580 Change-Id: If3356f6082945ef1109bf08aab94f7bfb606b951 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216295 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 05f11a3b 2020-05-21T14:33:42 Remove requirement of OES_texture_half_float for EXT_color_buffer_half_float. Some OpenGL ES 3.0 devices don't advertise OES_texture_half_float, but do advertise EXT_color_buffer_half_float. For this reason, stop requiring OES_texture_half_float when determining renderability of GL_RGBA16F textures. Bug: angleproject:4649 Change-Id: I657011fcc3bb35909760a57e8ad53cfbbc61c67a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212434 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kenneth Russell 68f92942 2020-05-22T18:32:52 Emulate GL_EXT_sRGB on ES 3.0 devices without native support. Translate the extension's internal formats and formats to values valid in core ES 3.0. Bug: angleproject:4655 Change-Id: Ie47d01fb2ebca7bab5058812c9f4217523f784a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213262 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9047ce5b 2020-05-26T11:23:35 Vulkan: Fix bad delete of swapchain. We could end up deleting a dirty pointer if the driver set an output value during a call to vkCreateSwapchainKHR that generates an error. In practice this turned up in some edge cases with SwiftShader. Fix this by using a temporary variable. Bug: chromium:1079475 Change-Id: Ia40e1fac94cbd56fd3bb800a179bb38b7f11fa26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216292 Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 30298dc2 2020-05-15T15:21:04 Vulkan: Optimize out barrier needs for transition between shaderReadOnly If we are transition between different kind of shaderReadOnly, there is no actual layout change or accessType change. Instead of always insert a barrier, this will track what shaderStage has made read access and only insert barrier if the read is from new shader stage. The barrier inserted will be always from last non-ShaderReadOnly transition. There is no read to read barrier generated. Bug: angleproject:4550 Change-Id: I4aeb7d4bddf2d072b60839f98e7af1aa23f977b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204480 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 6de7ee52 2020-05-25T17:00:01 Clean up overlay RenderPass count reporting. This fixes the trace perf test to accurately report how many RPs in each frame. Instead of counting the RPs on a flush we now count only on a swap call. This won't work for offscreen surfaces which is fine - the overlay doesn't really have the same use for offscreen rendering. Also ignores the first frame in graph data so we can ignore the first setup frame in the trace tests. Also skips the redundant extra "flush" call that would generate an empty space in the RP graph. Gives a cleaner measurement for optimizing the XFB RP count. Bug: angleproject:4622 Change-Id: I5762c500cdb216700247095984ae62b4f8741602 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215309 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Anders Leino 6820f77a 2020-05-22T17:50:03 Fix issue where last 8 bits of D24X8 influence depth calculation. Bug: angleproject:4573 Change-Id: If33737cf6ae660b8df58c06a08df32dade472540 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211768 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Manh Nguyen 27ceed38 2020-05-25T13:06:53 Fix replay crash when captured sample doesn't create binary data Ensure samples without binary data like hello_triangle can be replayed Bug: angleproject:4658 Change-Id: I6da29a05335abe93666b6c19fa769e84c42a9fa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212499 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Maksim Sisov ba4e2b94 2020-05-21T09:40:37 Type cast EGLNativeDisplayType to _XDisplay* in xcb and glx As we are approaching the point when DisplayGLX will be compiled in Ozone/X11 configuration, we need to resolve compilation errors. Ozone has intptr_t EGLNativeDisplayType whereas X11 requires Display* aka _XDisplay*. We've already done so in Chromium, and it's time to do the same cast in angle. Bug: chromium:1084458 Change-Id: I11b5ae2e10bfa316cbaa882be86af6894cfdbbf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211761 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 0638b6b9 2020-05-26T07:01:07 Roll glslang from 2cf9621d6d6f to 2b0eafb1de5b (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2cf9621d6d6f..2b0eafb1de5b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I65177bb44f922e0fbafcca007f2455f23f91accf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215729 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2a0b70aa 2020-05-26T07:01:17 Roll SPIRV-Tools from b0264b87ffb5 to 9cb2571a184c (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b0264b87ffb5..9cb2571a184c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I917a5385d5dad0b821075c31e044939dd9f1c75e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215730 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e3abf630 2020-05-26T07:01:55 Roll SwiftShader from cc5cda0f997d to 79dcb2a5abbd (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/cc5cda0f997d..79dcb2a5abbd 2020-05-26 capn@google.com Document helper invocations being considered active 2020-05-25 capn@google.com Move the Reactor 'Sample' unit test back to the top 2020-05-25 capn@google.com Unconditionally define the RValue copy constructor 2020-05-25 capn@google.com Call non-template base methods through 'this' pointer 2020-05-25 capn@google.com Eliminate the array size from rr::Variable If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I57af2a0d67c3dace1d17c82bc3829095611adfd1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215731 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jeff Vigil 7ff01bb1 2020-05-21T15:22:53 EGL: Add missing sync entry points Update libEGL.cpp with KHR version of sync entry points Update libEGL.def with sync KHR entry point names Bug: angleproject:4383 Change-Id: Ibda23a9e2ba6c873384238d492f0895b370fd6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212892 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jonah Ryan-Davis 31fbf981 2020-05-25T15:33:44 GL: Entry points for GL_OES_texture_cube_map_array This extension is made core in GLES3.2. This CL adds the necessary entry points to the frontend. Bug: angleproject:3584 Change-Id: Icaaa0b298898f3360819966a7f67b5feaf05124b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215305 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6789018a 2020-05-25T11:54:24 Context: init impl before creating objects. This eliminates a potential invalid access that would turn up in the Vulkan back-end. Also init a couple uninitialized variables. Should fix an ASSERT in the Vulkan back-end when running WebGL tests. Bug: chromium:1085627 Change-Id: I153f8dd83f567345b964b68784940d11712e7804 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212498 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya cbbfde6c 2020-05-22T09:08:06 Excplicitly include <string> header in tga_utils.h Some compiler versions are unable to resolve std::string without including <string> header. Bug: angleproject:4651 Change-Id: Ie2b9d843b55dc46278ed5571d82fa9c413f6b3c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213664 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll ef877fb5 2020-05-25T07:01:11 Roll Vulkan-ValidationLayers from b2cfe61366da to 6ff146b0bfce (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b2cfe61366da..6ff146b0bfce 2020-05-24 mark@lunarg.com corechecks: Fix typo in SubpassDescription error msg 2020-05-22 tony@lunarg.com tests: Re-enable gpu-av ray tracing test 2020-05-22 tony@lunarg.com gpu: Fix ray tracing scratch buffer creation 2020-05-22 s.fricke@samsung.com layers: Label 02498 and 02824 2020-05-22 s.fricke@samsung.com tests: Add samplerAnisotropy check 2020-05-22 jeremy@lunarg.com tests: Test transform feedback VUIDs 2020-05-22 jeremy@lunarg.com layers: Add transform feedback VUIDs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ie9057063777a8809e9ee629fd2b70c88cc39d965 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2214698 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev c746ac65 2020-04-27T03:55:20 Remove redundant BlendStateArray tracking Keep legacy BlendState for now. Bug: angleproject:4394 Change-Id: Icba2b2f3a071d0f838a5480ff94869d35b776d94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2169093 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Tobin Ehlis d3d7b95b 2020-05-19T17:27:50 Vulkan:Migrate timer sync functions to one-off cmd buffer ContextVk's getTimestamp() and synchronizeCpuGpuTime() were the two places that mCommandQueue was used outside of processing SecondaryCommandBuffers. Migrating those functions to use the one- off command buffer instead. This will allow for the removal of mCommandQueue from ContextVk as we migrate it to RendererVk instead for threading phase2 development. Bug: b/154030730 Change-Id: Ic00ce56739dadcdc4b5a1b1839e0e18603bfe0eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209312 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
angle-autoroll c9ebf905 2020-05-22T07:01:12 Roll Vulkan-ValidationLayers from a6d833327f7e to b2cfe61366da (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a6d833327f7e..b2cfe61366da 2020-05-21 tony@lunarg.com tests: Test for query reset/begin in different cmdbufs 2020-05-21 tony@lunarg.com layers: Fix queries false positives If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I98e844c8f1bffb49da28def58db20535d50a3570 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213316 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 71f352e3 2020-05-22T07:01:07 Roll glslang from 6f723ebbe3b0 to 2cf9621d6d6f (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6f723ebbe3b0..2cf9621d6d6f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I9cfb5ebe5fe98aed391e738027f023a4593db413 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213315 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0ee5ef35 2020-05-22T07:01:17 Roll SPIRV-Tools from 3c47dac28208 to b0264b87ffb5 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3c47dac28208..b0264b87ffb5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I1f36d50ba4b961ea929c3eb723c24e222c4ae9b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213317 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 96a80283 2020-05-20T16:48:54 Advertise filtering support for FP16 luminance/alpha formats on ES 3.0. Now that these formats are emulated if necessary on ES 3.0 contexts, advertise filtering support as well. This enables OES_texture_half_float_linear on mobile devices which support ES 3.0 but don't advertise this extension. Bug: angleproject:4648 Change-Id: I09f00fbb1454b2cfa72295254fbc45c872f4919c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210701 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cody Northrop 8add7dbf 2020-05-20T15:00:09 Tests: Add trace of Egypt to TracePerfTest Test: angle_perftest --gtest_filter="*Trace*egypt*" Bug: b/157158456 Change-Id: I9c076f247cb8a2743beae8377830c15269794f9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209689 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 93fc7d71 2020-05-19T14:03:42 Add error-handling when getting Xcb window size We can't trust the reply from Xcb if an error has been flagged. This was causing a crash in SwANGLE. Bug: chromium:1080984 Change-Id: Icaf58197869b563e4193efcf4e70646d519210cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209255 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 22aba328 2020-05-20T10:59:56 Don't write alpha when blitting to a framebuffer with emulated alpha. Emulated alpha framebuffers should never modify the alpha channel. Our blitting code didn't take this property into account. TEST=conformance2/rendering/blitframebuffer-resolve-to-back-buffer.html BUG=angleproject:4645 Change-Id: I1797934df7e7aa520bacfba8a379f6545e38753e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210023 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xinyi He 585e3555 2020-05-14T10:49:48 Vulkan: Remove GL_BGRX8_ANGLEX from configurations It doesn't need to expose an emulated RGB format any longer. Skip ClearTestRGB.DefaultFramebufferRGB test if GPUs don't support RGB format back buffer. Bug: angleproject:4631 Change-Id: Ifa2d2ed6f863dcb698f7eea3e752a8cd5d5e0ced Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2198888 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 33cf03cd 2020-05-20T20:45:34 Vulkan: change preferAggregateBarrierCalls to accomodate ARM on linux Bug: angleproject:4633 Change-Id: Ic198cef1afbad7dc96cead690daa46f07a653e96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211321 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Sunny Sun <sunny.sun@arm.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Tobin Ehlis 1a4f6e1f 2020-05-20T10:37:24 Vulkan:Migrate command buffers to pointers This is an intermediate CL as we move to a worker thread. With the worker thread there will be a pool of more than 2 command buffers so the current command buffers in use on the main thread will be pointers that are assigned from that pool. This CL isolates the command buffers as pointers to make review simpler. Bug: b/154030730 Change-Id: I3fc91222b07d5f3bf60f92a4c01b0910daad7df6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207812 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 6c4af0c3 2020-05-20T14:54:39 Tests: Add a common framebuffer config for perf tests As we add traces tests, some were recorded expecting depth as an attachment to framebuffer 0. This causes errors when they unconditionally query info about depth attachments. Since perf tests have never requested a config before (they are all DONT_CARE for each componenent), go ahead and set one shared by all. Test: angle_perftests Bug: b/157158456 Change-Id: I83ef1a58f246bfbc98c3bc7e024aca01560107f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210966 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll ce285f43 2020-05-21T07:01:18 Roll SPIRV-Tools from 63fa9114a931 to 3c47dac28208 (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/63fa9114a931..3c47dac28208 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I1f5b0891f67081a5be5eef34fdf92cf5a8de97c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211614 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 19292e54 2020-05-21T07:01:55 Roll SwiftShader from b6e8c3f0f483 to cc5cda0f997d (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/b6e8c3f0f483..cc5cda0f997d 2020-05-20 amaiorano@google.com LLVMReactor: set alignment when allocating stack variables If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ib9157bf74f7e47a01e94fd0b72b666a0aecc4b52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211615 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b15d81e1 2020-05-21T07:01:11 Roll Vulkan-ValidationLayers from 4683991f7675 to a6d833327f7e (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4683991f7675..a6d833327f7e 2020-05-20 s.fricke@samsung.com tests: Add VUID 01431 2020-05-20 s.fricke@samsung.com layers: Add VUID 01431 2020-05-20 s.fricke@samsung.com layers: Fix bug for multiple compute pipelines 2020-05-20 s.fricke@samsung.com layers: Add index to pipeline log messages 2020-05-20 s.fricke@samsung.com tests: Add VK_EXT_pipeline_creation_cache_control 2020-05-20 s.fricke@samsung.com layers: Add VK_EXT_pipeline_creation_cache_control If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I11813e3bd605863150dfdecb81d85dc89148f41b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211613 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 83ea5529 2020-05-21T07:01:02 Roll Vulkan-Tools from ca8958de1238 to 0c4ea014bf28 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/ca8958de1238..0c4ea014bf28 2020-05-20 charles@lunarg.com vulkaninfo: correct memory for linear tiled images 2020-05-20 charles@lunarg.com vulkaninfo: Refactor Supported Memory Image Types If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I9844ddde50dfe1a03ad406e5ead7874205108bbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211611 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 045be74d 2020-05-21T07:01:07 Roll glslang from 0ab78114a9e1 to 6f723ebbe3b0 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0ab78114a9e1..6f723ebbe3b0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ie9cce91f3b3174280780c1b4c50728c1a5c0355e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211612 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>