- 26 Jun, 2019 9 commits
-
-
Shahbaz Youssefi authored
Bug: angleproject:3520 Change-Id: I1f34717e6efaf4a6371c345d892922e598e871bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676552Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Jamie Madill authored
This adds a free list to the dynamic buffer storage. Buffers are added to the free list when the retained buffers are released. They are taken from the free list when we allocate a new buffer. We only allocate a new buffer in the ring when we run out of free buffers. This reduces the amount of time we spend in allocation for frequent updates. Now that we're recycling buffers inside of DynamicBuffer we also need to be a bit more careful about when we allow ourselves to reuse them. If they're still in use by the GPU we should not try to modify them. Bug: angleproject:3082 Change-Id: Ibee5a7e2fe4a17f4a2f7af6bc6bcce54bdc413c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tobin Ehlis <tobine@google.com>
-
Tim Van Patten authored
VAO support is present, so this is just enabling the necessary testing. The tests being skipped are being worked on with issue 3193, which is adding support for integer values. Bug: angleproject:3207 Test: VertexAttributeTest end2end tests Change-Id: Ic0bbcc0e05673aece203e93d8765ac8e90dc6a59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1672445Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Jamie Madill authored
This will allow us to more easily create a white box test that sets a very small initial size for a dynamic buffer. Bug: angleproject:3082 Change-Id: Ic02bbee83ee8e0f4bfe182e9448c2ce60dea66d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1667645 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tobin Ehlis <tobine@google.com>
-
Shahbaz Youssefi authored
Bug: angleproject:3205 Change-Id: Id8c1de49d2201ea331e5f5223c88144db5fadbb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665354Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Anders Leino authored
Some NVIDIA D3D11 drivers are buggy and interprets the level passed to GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip. This affects the implementation of the imageSize function in the D3D11 backend. Bug: angleproject:3100 Change-Id: I1e48f5df5e40caf49a4d07662aec587e98cf8388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677206Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
The check in addReadDependency to avoid setting self-dependencies was causing the barrier set in `copySubData` to be potentially set earlier than the buffer's previous usage. This change allows buffer self-dependencies to be handled especially. Bug: angleproject:3194 Change-Id: I08f2c39f420f020ad5faa9735193e6b7142fa756 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670952 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
angle-autoroll authored
https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f9d08a25fbe1..4162de4bbfc5 Created with: gclient setdep -r ./third_party/glslang/src@4162de4bbfc5 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=syoussefi@google.com Change-Id: I03bb4c5cf03e37db4109f5fe7c7412e27c4fad53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677697Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
angle-autoroll authored
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/df86bb44fe47..dfcb5a1e1042 Created with: gclient setdep -r ./third_party/spirv-tools/src@dfcb5a1e1042 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=syoussefi@google.com Change-Id: I4a01fff43331aa2d3bafbc4aa428e3e8ef684266 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677698Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
- 25 Jun, 2019 8 commits
-
-
Ian Elliott authored
Sub-divide one of the big SKIP lines into more-fine-grain SKIP and FAIL lines, based on current top-of-tree status. Bug: angleproject:3190 Change-Id: I50ac559a5b44c06b8e525d10efe3ff1b24350d6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676406Reviewed-by:
Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
-
Geoff Lang authored
BUG=angleproject:3559 Change-Id: Ib57b40d6f6b488549c5746a4e2d40e6fba6bcd4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676306Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Shahbaz Youssefi authored
Previously, only read-only layouts skipped same-layout transition. This is extended to color attachment and depth/stencil attachment layouts as well. On Nvidia+Linux, this does reduce the number of barriers in the Draw* benchmarks, though there's no visible CPU-side performance difference. GPU time is not measured in these tests, but it's possible that the driver already skips such transitions (i.e. this only saves us from recording an ineffective transition). Additionally, transfer dst and shader write same-layout transitions are turned into an execution barrier instead of a memory barrier to avoid an unnecessary flush. Currently, this particularly affects texture upload, and shows a 10% improvement in TextureUploadSubImageBenchmark. Note that this optimization is temporarily disabled due to a bug in the windows AMD driver. Bug: angleproject:3347 Change-Id: I7dc9d0b5dd2ad87ec19ae13277b330438038519f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1659149Reviewed-by:
Tobin Ehlis <tobine@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
shrekshao authored
HLSL adds a unique id suffix to user defined variable and these numbers are currently hardcoded in tests. It could easily fail if new tokens are added to angle builtin variables. Introduce C++11 regex feature into the foundInHLSLCode to avoid over strict tests. Bug: angleproject:3551 Change-Id: Ia3052afec667a7ac11198be31b5c1d03c856a723 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670581Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
-
Geoff Lang authored
Chrome uses regular texture uploads on all platforms except OpenGL on Mac to do robust resource init for textures because multiple bugs have been observed with texture corruption. BUG=883276 BUG=882580 BUG=941620 Change-Id: I5fcd6862147822a08c7533e6a6a9277223034ebd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1669104Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
ValidateSamplerParameterBase is called with both const and non-const parameter pointers which caused our explicit template instantiations to not cover all cases resulting in link errors. Force the parameters to always be const so that our instantiations cover everything. BUG=angleproject:3555 Change-Id: Ibf92572ba80a689c75dcdc70e5153d9941da76f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676305Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Qin Jiajia authored
Bug: angleproject:3548 Change-Id: Idd273cdfff5f175399dcc46bd40db52d6f4163b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666909Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
-
Qin Jiajia authored
The error happens when a RWTexture is used in shader. However, there is no resource binding to it. We should clear the corresponding UAV in case the previous view type is a bufer not a texture. Meanwhile, this patch removes clearSRVs/clearUAVs since we use unsetConflictingSRVs/unsetConflictingUAVs to do the similar thing. Bug: angleproject:3512, angleproject:3548 Change-Id: I01752bb9bc6aca5b767599639c4dc613b4e2e2d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662017Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
-
- 24 Jun, 2019 2 commits
-
-
Tibor Goldschwendt authored
Bug: 891996 Change-Id: I64381bea1bcbddb76748dd03c7caaf2f5360e1ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674258Reviewed-by:
Cody Northrop <cnorthrop@google.com> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
angle-autoroll authored
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7c294608ca19..df86bb44fe47 Created with: gclient setdep -r ./third_party/spirv-tools/src@df86bb44fe47 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=jonahr@google.com Change-Id: I04e0b7ee52f1c981eb42d20dcd045eff4812c1f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1673826Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
- 21 Jun, 2019 10 commits
-
-
Jamie Madill authored
We could expand this functionality in the future to only update the pipeline when a signficiant bit of pipeline state changes. For now this is mostly a proof of concept. Significantly improves performance in the textures microbenchmark. Bug: angleproject:3117 Change-Id: I3957dd2f08d7d89694f94ddbe45eeeeb620bac0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650790Reviewed-by:
Tobin Ehlis <tobine@google.com> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Tim Van Patten authored
The call to abi::__cxa_demangle() with too small of a char[] can cause segfaults or hangs. This change increases the array from 256 to 4096. Bug: angleproject:3553 Test: Verify validation layers don't segfault/hang Change-Id: I6704ff00bfab62c99eb288f803ccda35a037dd9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670580Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
-
James Dong authored
In GLES 3.0, depth textures where changed to behave like RED textures, but in GLES 2.0 with ARB/OES_depth_texture, they were treated as luminance textures. This change produces the expected behavior on GLES 2.0 for the GL backend and on GLES 3.0 for the Vulkan backend. Bug: angleproject:3540 Change-Id: Iad6b4e03cf947b27eb97dbb10419bc8bcdb11024 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666363Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: James Dong <dongja@google.com>
-
Geoff Lang authored
Android devices will often fail to allocate textures this large and it is prefereable to return an error from ANGLE instead of losing the context due to an out of memory error. This mirrors the limits Chrome applies with the max_texture_size_limit_4096 and max_msaa_sample_count_4 workarounds that are broadly applied to Android. BUG=882580 Change-Id: I63890baa8712f13b37c607fa475432e67e9384a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1351357 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com>
-
Geoff Lang authored
This workaround is always enabled in Chrome, do the same in ANGLE. BUG=882580 Change-Id: I2c01f34a589b07bd0035d7408be884f7a51b1706 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666699Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Tobin Ehlis authored
Bug: chromium:977330 Change-Id: I25b2ac11b8ee9b5c084bd828a4d0ddf2b8c1b3eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670092 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
Issue exposed by a transform feedback test. Since we already create a scissor to match the viewport (be it 0-sized or not), we can create the Vulkan viewport with a small width/height if they are 0, as that's not allowed by Vulkan. Bug: angleproject:3205 Change-Id: Ib23d8b9f5e84447be2c4b7e8aff805e7d9e57323 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665352 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The ANGLE Vulkan backend is now thread safe for non-share group contexts. This means that a global GL lock only adds overhead for most use cases. Remove the angle_force_thread_safety gn argument. BUG=angleproject:2464 Change-Id: Ic6ba89e18b46e5dd72aa83d0f409097441fcca3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635749 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Tobin Ehlis <tobine@google.com>
-
Shahbaz Youssefi authored
Implemented as part of an experiment. Allows easier buffer-related testing by providing a quick way of filling the buffer with dummy data. Bug: angleproject:3205 Change-Id: Ice8cfd0c2566c91a5fb10aaea57985d671d0e7b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665351 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tobin Ehlis <tobine@google.com>
-
angle-autoroll authored
https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2090d7a2d26c..7c294608ca19 Created with: gclient setdep -r ./third_party/spirv-tools/src@7c294608ca19 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=jonahr@google.com Change-Id: I92f99e50eaa01782b74f311b1f0d77d4580ab9fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670005Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
- 20 Jun, 2019 11 commits
-
-
Yuly Novikov authored
Bug: chromium:973992 Change-Id: Iee5cf6a4b6b0469b81cd0c1a7cd0ebea05060580 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670009Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Courtney Goeltzenleuchter authored
The issue occurs that binds the same buffer and calls glDrawElements with the same indices. The offset has been reset in the VertexArrayVk::syncState(), but it doesn't check the actual value in the ContextVk::setupIndexedDraw(). Also corrected case where update via BufferSubData wasn't being sent to the HW. Bug: angleproject:3362 Change-Id: I0f7d2fc162bc8f1c36cb09ba689fd27b482b9035 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666345 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
James Dong authored
They can be re-enabled with the angle_enable_trace option. Prevents validation errors from being output in NoFixture tests, as the default platform methods aren't overridden. Bug: angleproject:3525 Change-Id: I77342230b6c7cd167cfc3169f09d4e74b4579244 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1669848Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Michael Spang authored
Since a6242e4d ("Vulkan: Support submitting multiple semaphores"), we can submit up to 2 semaphores at a time, but pWaitDstStageMask is still a single value. Change it to an array of two elements to prevent an out of bounds access. Bug: angleproject:3289 Change-Id: I5147802ce350af7b78dbf54cfa4a9519dd495f01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666347 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Tim Van Patten authored
Implement BufferVk::copySubData(). Bug: angleproject:3194 Test: dEQP-GLES3.functional.buffer.copy.* Test: dEQP-GLES3.functional.negative_api.buffer.copy_buffer_sub_data Test: angle_end2end_tests BufferDataTestES3 Change-Id: I220cd490eb1eb799604e217b3e377af3fd431d97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648669 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This captures a bit more information about where the call time goes during a flush. It can show at least on desktop NVIDIA that we spend a fair amount of time in vkQueuePresentKHR. Bug: angleproject:3117 Change-Id: I2d0195b9338bcac80e8dd8cfb550402271f286f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650787 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Jamie Madill authored
We can use the DIRTY_BIT_IMPLEMENTATION internal dirty bit in the gl::Texture class to force calls to ContextVk::syncState. In syncState we can ensure we call ensureImageInitialized before we get to the ContextVk. This in turn means we can remove some of the command graph breaks from TextureVk. We need to make sure the dirty bits are propagated to EGL Image siblings with this method. This fixes a potential implementation issue with EGL images with the GL back-end. Also makes a state change test a little better by removing some of the VAO and program init calls before the draw. Improves perf on the texture change microbenchmark by 12.5%. Bug: angleproject:3539 Bug: angleproject:3117 Change-Id: I2b5481690801fa98f859a6c02e3f4b974590cd3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663839 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Jamie Madill authored
Requires that we update the TRACE_EVENT macros to accept a platform as an argument. The refactor isn't complete. In order to finish we'd need to ensure we have the Display's PlatformMethods available at all sites. Unblocks adding trace events directly in the perf tests. Bug: angleproject:1892 Bug: angleproject:3117 Change-Id: Iee0ca086ccfe23acab3fc186fb042f018711a94c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664794 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Jiacheng Lu authored
Bug: angleproject:3547 Change-Id: I83e491fb0121f0a8473630ead6e48b062ae06da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668234Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
The keys in vk_format_map.json were incorrect. The format table generation script is enhanced to give an error in such a case. This revealed a number of entries with no corresponding angle format, which are also removed. Bug: angleproject:2898 Bug: angleproject:3190 Change-Id: I32caf2d2a8abb6f76b25436725670a8e84d576fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666700 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
By using the helper isTransformFeedbackActive* functions. Bug: angleproject:3205 Change-Id: I50b3e9db427da9f65c3e2b50d7847464e8c28202 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665353 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com>
-