src


Log

Author Commit Date CI Message
Shahbaz Youssefi cf8735dc 2019-03-18T16:48:45 Vulkan: Add support for ETC1 The ETC2 format is backwards compatible with ETC1. ETC1 RGB8 is thus supported by implicitly using the ETC2 RGB8 Vulkan format. Bug: angleproject:2670 Change-Id: I59a112da5ed3a0b90f90a8b4c350c94d43b31120 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520987 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
jchen10 7d53c60b 2019-02-15T21:06:42 ParallelCompile: use the native extensions This enhances to use the native parallel compile extensions if available. Bug: 873724 Change-Id: I0aaed314accd75e1bfa596b322225b56d729d3a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475234 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Qin Jiajia 0e2c39f2 2019-03-20T15:17:28 Fix that uniform can't be used as the index of buffer variable ssbo.a[uniformBlock.index] should be a valid usage. So in this change, we forward EOpIndexDirectInterfaceBlock to OutputHLSL to process when the left node is not a SSBO. Bug: angleproject:3280 Change-Id: I2696d5b1cf420db133a8ba0728116261dd9e9f1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531980 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jamie Madill f455f756 2019-03-20T20:49:44 Reuse angle_end2end_test windows and displays. This both speeds up test execution and cuts down on the number of new windows and displays created for a test config. This feature is only currently enabled for Windows NVIDIA and Intel. On every other config there were blocking issues that would need investigation. Several tests were manually flagged as needed new displays on each iteration to prevent test flakiness. This feature might fix the issues with Intel test flakiness that have been prominent on the ANGLE CQ. WGL configurations have also been removed from ANGLE tests. So this removes more of the code from ANGLETest.cpp. Bug: angleproject:3261 Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 12a1fe4a 2019-03-19T10:48:37 Add perf test for fbo clear gpu time This perf test measures the GPU time spent clearing framebuffers. Bug: angleproject:2361 Change-Id: I5dc2e12c08543330f7e2565596b73e9c2f4e53ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529864 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0f566fc7 2019-03-20T11:36:29 Introduce ConfigParameters test helper struct. This allows us to more easily compare sets of parameters used in our tests. The config parameters are stuff like the red / gree / blue bits used in an EGL config. Or particular sets of extensions or other EGL options. This will more easily allow us to determine when we need to use a new EGL display instead of reusing a prior. Bug: angleproject:3261 Change-Id: Ia1f0ede988e0b4084fbb4d55097e94fd89ee4899 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531535 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a532570a 2019-03-20T10:18:36 Vulkan: Cleanups to shader generation script. Fixes the suprious newlines messages. Also prefer a Release directory when writing shaders for performance. Also adds glslang's git HEAD to the list of generated hashes. This should ensure we regenerate all shaders when there's a roll of glslang. Glslang was rolled prior to this CL. Also update the SPRI-V libs. Bug: angleproject:3227 Change-Id: I1fd212a08000c08ef41b60c4201edd3ac771f91d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516512 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 198658a3 2019-03-19T22:09:14 Vulkan: Force a flush in ContextVk::onDestroy. Otherwise we could potentially be destroying resources that are currently in use. Was caught by changing some of the test tear down ordering. Also might affect some of the dEQP EGL multithread tests. Requires fixing the serial tracking of the "null" buffer. Otherwise we could be destroying the null buffer in the incorrect order. Bug: angleproject:3261 Bug: angleproject:3059 Change-Id: I57d1059ce9b1da19ced8ac753fab80c625901066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531291 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a683628b 2019-03-20T11:23:12 Use common SystemInfo in tests. We were using a static SystemInfo in two places. Consolidate the SystemInfo collection to a single location. Also renames Nvidia to NVIDIA to be consistent with the company naming. And adds a few helpers to SystemInfo for GPU detection. Will lead to test changes to reduce flakiness on Intel Windows. Bug: angleproject:3261 Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a11db2ac 2019-03-19T20:20:26 Fix D3D9 context state sync. Calling eglMakeCurrent between different D3D9 contexts could lead to state sync bugs. This fixes the problem by ensuring all internal state is dirtied between makeCurrent calls. This bug turned up when refactoring the tests to run multiple Contexts with the same EGLDisplay. Bug: angleproject:3261 Change-Id: Ic91e1af8b2615e7e7e0d0faabeb533d075ea2e91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531534 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 6ce1be5a 2019-03-19T16:06:44 Vulkan: move platform defines to Vulkan Headers build file. From angle_vulkan build target, so that everyone including Vulkan Headers would get them for the right platform. Also remove obsolete defines. Bug: angleproject:3279 Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis 4bcba62a 2019-03-18T14:31:12 Add Android device name, version, manufacturer to gpu_info_util The model name, model version, and model manufacturer are easy to expose for Android via <sys/system_properties.h>. This should be exposed and added to the angle test framework for easy management of test expectations on different devices. Bug: angleproject:3274 Change-Id: I8ee6b8fa66ff7f4d6ee4688b335f2e6ef03baed6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529207 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Qin Jiajia 9b050f84 2019-03-01T13:31:14 Fix that 0 is a valid memory barrier Bug: angleproject:2280 Change-Id: Iad82d5838a7efdb6f6287aafb9ab980e9e86468d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496017 Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Shahbaz Youssefi eb986426 2019-03-18T15:02:18 Prefix glmark2 perf results with glmark2_ Bug: angleproject:3125 Change-Id: Ifa45d489cb082355a23f33f05f805e5f6162ac0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529232 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 507e8d30 2019-03-15T16:49:48 Add missing entries in texture load functions map GetLoadFunctionsMap() is expected to cover all possible combinations of texture internalformat and upload data format. Several of these combinations were missing, especially w.r.t to compressed types. This change adds the missing combinations that are hit on any of the configurations being tested. An assert is added to catch missing conversion functions in the future. Bug: angleproject:2670 Change-Id: I793ac2c57f65eeb1cc8da8f1b223f6a9a44c7708 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524462 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis eaf56133 2019-03-13T12:56:49 gl_VertexID is incorrect if offset argument to glDrawArrays is non-zero On D3D the vertex ID is always indexed from 0, unlike GL. The D3D backend had assumed the wrong behavior. This forwards the true offset to D3D by using the ConstantsBuffer. Bug: angleproject:3090 Change-Id: Ia19e3490503c97541af14979b75af0c94c67ab6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520988 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
James Darpinian 38e28257 2019-03-13T16:11:15 Fix ASSERT macro not printing message ANGLE's ASSERT macro was often not printing the error message before crashing. The printing happens in the destructor of a temporary object, but the temporary object is not guaranteed to be destroyed before ASSERT calls __builtin_trap(). This change fixes it by introducing a new FATAL log severity that moves the __builtin_trap() call into the destructor after the message is printed. Bug: 780507, angleproject:2215 Change-Id: Ica91e00d67cc95d7b59c3d59e6925ac3a93c19c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521839 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d25be8a1 2019-03-14T22:17:37 Use valid glmark2 test result names Additionally, only one result is output from the tests. If running every scene, only the final result is output. Bug: angleproject:3125 Change-Id: I9592a6e07757663bfdd6653f541fece95c4b295b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524695 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 3ce7f960 2019-03-14T16:09:05 Disable sampler/texture type validation The sampler/texture type validation validation added in https://chromium-review.googlesource.com/c/1377611 did not correctly consider sampler objects. This is a minimal change to disable the validation temporarily, which I intend to merge back to 74. A fix for the validation is in progress at: https://chromium-review.googlesource.com/c/angle/angle/+/1522364 Bug: 940080, 809237 Change-Id: If8a1ae46af7daf23cd92ccb8a985329dfd404dc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524475 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5ae26eaa 2019-03-15T16:12:21 Fix several small issues in angle_end2end_tests. Many TearDown calls were missing. Also a few tests had other small issues. Discovered while changing the test harness. Bug: angleproject:3261 Change-Id: I8915088a6ca82e6cc4d6c922d03dc447e6051518 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524699 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f0607639 2019-03-15T16:00:21 DisplayWGL: Allow MakeCurrent(null). Previously we would ignore unsetting calls to MakeCurrent. But this would prevent ANGLE from unsetting driver state on the current thread. Fix this by checking for 0/null explicitly in DisplayWGL::makeCurrent. This turned up when running test configs without recreating the Display. Bug: angleproject:3261 Change-Id: I7f747dc7649a06f019f1b89655cb71dd3b151aa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520992 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 96a387f8 2019-03-15T11:38:18 Disable loop unrolling when encounting errors about invalid array indices. Zero-sized loops or loops that might never be executed may be unrolled into constant array accesses that are invalid, generating HLSL compiler errors. This issue showed up with the passthrough command decoder because it only does a single compilation step of WebGL shader -> HLSL instead of the validating decoder which does WebGL shader -> ESSL -> HLSL and eliminates these zero- sized loops in the process. BUG=angleproject:3269 Change-Id: Iaa14149c542f23a6da58c90cf6de51f4df7e27d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524696 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Ian Elliott e41882aa 2019-03-13T13:04:54 dEQP-EGL.functional.choose_config.* now passing Bug: angleproject:3172 Change-Id: I4ce55a71db204acdd73a4f9db0c5480b31e0b3ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521317 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi de52ca37 2019-03-13T14:23:30 Vulkan: Fix GraphViz dump in presence of queries and fences A previous refactor made queries no longer a graph resource. This in turn meant that the query nodes no longer had an ID, which tripped up the ID assignment when dumping the graph. This affected fences as well. Bug: angleproject:2853 Change-Id: I359f8145dca068edaa5fcd5bcb0a231ee050ab76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520990 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2fb6563b 2019-03-13T15:29:13 Vulkan: Fix CommandGraph barrier nodes w.r.t to first node The barrier dependencies were set in two loops: - From Previous to (Previous, Current] - From (Previous, Current) to Current The "Previous to Current" dependency was set in the first loop. This loop is conditioned to a previous barrier existing at all. The bug is that for the first barrier node, the first loop does not execute and the second loop does not create the dependency from the first node (Previous index being 0 when no previous barrier exists) to the barrier node. Bug: angleproject:2361 Change-Id: I61a78dbbeba6cf97788bf8ea32908c7865ad48c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520994 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi d84728e0 2019-02-01T16:28:55 Vulkan: Fix copySubImage to non-cube-complete images. When copying to a non-cube-complete level of a texture we would fail because we would try to get the base level's current format. Instead we can get the format of the level that is being copied to. Bug: angleproject:2911 Change-Id: Ib6a5c5cef67ad9c880c1b76ea71ed9317eb20c97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1483951 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang 979f3bbe 2019-03-14T10:23:29 Mark RGB HALF_FLOAT_OES as renderable with EXT_color_buffer_half_float and WebGL The EXT_color_buffer_half_float spec states: If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable. But WebGL content relies on being able to render to both RGB and RGBA unsized HALF_FLOAT_OES textures. Framebuffers may still return unsupported for this format. BUG=941671 Change-Id: I42d909d26508b9cdf7cda6d1dc025b0e2ed87732 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523530 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tom Tan 094c40dc 2019-03-13T18:08:08 Don't build glmark2_wgl on Windows ARM64 due to missing opengl32.lib Opengl32.lib/opengl32.dll are not available on Windows ARM64. Disable building glmard2_wgl which depends them. Bug: chromium:941621 Change-Id: Iddae231764c6135ef1a74c294da1393f0fe51eeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522353 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 57041007 2019-03-14T13:33:24 Revert "Fix several WGL test failures." This reverts commit 13a8c4d84e16137c47cb2f958b24c08797527cfc. Reason for revert: Seems to have led to a flakier situation: https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20Debug%20%28NVIDIA%29/3006 https://ci.chromium.org/p/chromium/builders/try/win-angle-rel/1231 Original change's description: > Fix several WGL test failures. > > SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation, > since getGLWindow()->hasError() would report a previous error, > instead of result of swapBuffers(). > When running after an OPENGL test, swapBuffers() would clear > the previous error, but that doesn't happen in isolation. > > The previous error is from loading WGL functions, some of which are > expected not to be present. Clear the error in GetProcAddressWithFallback, > but verify that there is no error entering it. > > This uncovers more errors in angle_perftests: > DrawCallPerfBenchmark.Run/wgl > DrawCallPerfBenchmark.Run/wgl_tex_change > DrawCallPerfBenchmark.Run/wgl_vbo_change > DrawElementsPerfBenchmark.Run/wgl_ushort > They come from redundant calls when destroying a window. Fix this as well. > > Several more errors where uncovered by debug prints, fix those, too. > > Bug: angleproject:3153 > Change-Id: I559c098be9dcdfd3add83f045f745d190250b986 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I095fadc0dd3a2c998c1dc86f3760184ae6fd7309 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3153 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523527 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 8cc0a47c 2019-03-13T12:10:43 Change Config::Config to set correct default for EGL_COLOR_BUFFER_TYPE The spec says that EGL_COLOR_BUFFER_TYPE "must be either EGL_RGB_BUFFER for an RGB color buffer, or EGL_LUMINANCE_BUFFER for a luminance color buffer." However, Config::Config() was setting it to EGL_NONE, which causes EGLChooseConfigTest to fail on the Ozone platform (which doesn't override the value). This sets the proper value for all platforms (which can still override this default). Bug: angleproject:3260 Change-Id: Iaf59bd76b11c8d80359c760c10baad3b79c79f9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521310 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
shrekshao 37b99642 2019-03-11T18:43:05 fix d3d ext float blend Bug: chromium:930993, chromium:938602 Change-Id: Ie2e07369eca663b1507c7811a1a06ce5efc892ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516007 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 494afea9 2019-03-13T13:56:29 Fix ShCompileTest.DecimalSepLocale failure. The test had an additional check to make sure we have coverage on every platform, but this is unnecessary and requires too much overhead to maintain a list of good locales for all platforms. Bug: 941249 Change-Id: I3e6da2ad61453fc385edf5f18101c8cb13ae0503 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520989 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 13a8c4d8 2019-03-11T15:54:47 Fix several WGL test failures. SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation, since getGLWindow()->hasError() would report a previous error, instead of result of swapBuffers(). When running after an OPENGL test, swapBuffers() would clear the previous error, but that doesn't happen in isolation. The previous error is from loading WGL functions, some of which are expected not to be present. Clear the error in GetProcAddressWithFallback, but verify that there is no error entering it. This uncovers more errors in angle_perftests: DrawCallPerfBenchmark.Run/wgl DrawCallPerfBenchmark.Run/wgl_tex_change DrawCallPerfBenchmark.Run/wgl_vbo_change DrawElementsPerfBenchmark.Run/wgl_ushort They come from redundant calls when destroying a window. Fix this as well. Several more errors where uncovered by debug prints, fix those, too. Bug: angleproject:3153 Change-Id: I559c098be9dcdfd3add83f045f745d190250b986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 4e87659e 2019-03-12T16:23:55 Fix eglChooseConfig for attributes that have exact default values. The implementation of eglChooseConfig does not match the specification for attributes not provided by the calling function. It is supposed to use the default value and match semantics, per the specification. This is fine for many attributes (where the value in the EGLConfig doesn't matter). Currently, this affects the following attributes: - EGL_COLOR_BUFFER_TYPE - EGL_LEVEL - EGL_RENDERABLE_TYPE - EGL_SURFACE_TYPE - EGL_TRANSPARENT_TYPE - EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE - EGL_COLOR_COMPONENT_TYPE_EXT This change causes 55 of 65 of the dEQP-EGL.functional.choose_config.* tests to start passing. Bug: angleproject:3172 Change-Id: I287af5ba7d296694d9a78ded5d1e3bc4e7043d03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506696 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 3c1f5a6b 2019-03-12T11:18:15 Include script outputs in run_code_generation.py. This will prevent incorrect modifications to outputs from being checked into the repository. Requires a few changes to some generators. Bug: angleproject:3227 Change-Id: I5285cb78a9d85df155a5272edf8b6b8cd27fc04c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515212 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f576a708 2019-02-04T16:52:12 Add glmark2 to angle_perftests Bug: angleproject:3125 Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi b6eb3412 2019-03-06T15:10:56 Allow testing::Combine in ANGLE_INSTANTIATE_TEST In most tests, ANGLE_INSTANTIATE_TEST is sufficient. This macro takes a a variable number of angle::PlatformParameters and instantiates that many tests. angle::PlatformParameters already aggregates multiple configurations. In a number of cases, however, it would be useful to have even more configurations in conjunction with angle::PlatformParameters. gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class that combines angle::PlatformParameters with test-specific configurations. gl_tests/CopyTextureTest.cpp included numerous tests with hardcoded values for its configurations. This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N. These macros take N testing::* parameter generators followed by the list of angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST. They then testing::Combine these generators, placing the angle::PlatformParameters list first. Tests that use this functionality would inherit from ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead of ANGLETest, and instantiate their tests as such: ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName, PrettyPrintFunction, testing::ValuesIn(listOfParameters), testing::Values(some, other, parameters), testing::Bool(), ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN()); The name of the test, as used by --gtest_filter, will be suffixed with the output of the PrettyPrintFunction. Assuming the tuple type given to ANGLETestWithParams is Params, this function takes a ::testing::TestParamInfo<Params> input to pretty-print the name of the test variation. It is recommended to output the platform first for consistency with other tests. gl_tests/CopyTextureTest.cpp is modified to use this macro. Bug: angleproject:3125 Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Qin Jiajia c9bc33cf 2019-03-04T17:31:05 Disable the initialization of shared memory This patch disables the initialization of shared memory for d3d backend. The initialization of shared memory is very slow and may produce incorrect behavior for some compute shaders on d3d backend. Bug: angleproject:3226 Change-Id: I41f0f061a5611c52af7667f23938fa48819906b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498385 Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jamie Madill 0f34f3f2 2019-03-11T10:18:57 Use auto_script in run_code_generation. Cleans up the generator scripts to prepare for listing outputs in the generated hashes file. Also reorganizes the scripts somewhat to make them a bit more maintainable. Bug: angleproject:3227 Change-Id: If40946c2004941d3f6cd51d5521c7db8cc0b52df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1512052 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis f563fdc9 2019-01-31T13:53:59 Reland "Fix unit test for setting locale creating malformed HLSL shader code Fix malformed HLSL shader code in other locales than classic" This is a reland of 5f662c0042703344eb0eef6d1c123e902e3aefbf Original change's description: > Fix unit test for setting locale creating malformed HLSL shader code > Fix malformed HLSL shader code in other locales than classic > > Bug: angleproject:1433 > Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26 > Reviewed-on: https://chromium-review.googlesource.com/c/1447862 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: angleproject:1433 Change-Id: I94caf7b4c7179119e5a5567c3014d7232df45a13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516192 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Qin Jiajia 49c9dfe3 2018-12-29T16:48:20 Fix the SSBO sync bug in two dispatch calls We should make sure that the raw buffer is the latest buffer before each dispatch call since the dispatch itself can update the raw buffer content. Bug: angleproject:3037 Change-Id: I75dddfd3e57b3c9cbcc58c02ed057c66cc8e1785 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1392379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Rafael Cintron b6a2f6bc 2019-03-06T17:27:47 Avoid unnecessary loading of D3D9.dll D3D9.dll is being loaded by ANGLE when using D3D11. This change removes the D3D9 dependency. - Delayload D3D9.dll using ldflags in BUILD.gn - Replace Renderer11 usage of DebugAnnotator9 with DebugAnnotator11. Using debug annotations with Visual Studio PIX tools now requires Windows 10. - Refactor DebugAnnotator11 to QI ID3DUserDefinedAnnotation from the renderer's ID3D11DeviceContext instead of making a 'null' device. Bug: angleproject:3234 Change-Id: I10a2b537e07cda2094b08abf02b7876bbe5009f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1508643 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 14126505 2019-03-06T21:13:20 Revert "Use a constexpr array for es3 copy conversion table." This reverts commit f30808db86e31b8b301eb9ec07cfe785d60b6a16. Reason for revert: build/android/gyp/assert_static_initializers.py thinks this adds a static initializer. See https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-arm64-rel/208664 Need to revert since this is blocking the roll. Original change's description: > Use a constexpr array for es3 copy conversion table. > > With the relaxed C++14 constexpr rules allowed in Chromium, we can > use a constexpr sorted array to store our table data. This can lead > to very fast lookups while being more maintanable than using auto- > generator scripts for every lookup table. > > Note that to be sure this syntax is permitted, we should land this > through the bots and let it sit for a little while. > > Bug: angleproject:1389 > Change-Id: I9395c40276470108ce3e5786d8f1b8d85462c517 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/777544 > Commit-Queue: Jamie Madill <jmadill@google.com> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:1389 Change-Id: I482729b6f16975896b0e5c29999f9a081056e800 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 105bc9d7 2019-03-06T16:32:40 Revert "Allow enabling trace annotations" This reverts commit f094bac949922dabc3dd6944f3dec04111e953b6. Reason for revert: Causes timeouts on Debug bots in the BufferDataTest.NULLData Original change's description: > Allow enabling trace annotations > > Tracing was never allowed to happen because getStatus always returned > false. Also want to allow tracing for release builds for perf analysis. > > Bug: angleproject:3176 > Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248 > Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@google.com> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@google.com,courtneygo@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3176 Change-Id: I91d28d15a092519551811a9a07c01987c9e028e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1505799 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 20ae6814 2019-02-27T17:11:58 Vulkan: Decouple EGLSync from renderer serial To support future work where RendererVk functionality is moved to ContextVk. Given multiple contexts, EGLSync can no longer rely on a single serial as it can be used in multiple contexts. Instead, the fence corresponding to the submission in which the EGLSync object signals is kept so it can be waited on. Introduces a `vk::Shared` class that includes a ref-counted reference to a Vulkan object (vk::Fence in this case). This is specially made to `destroy()` object when reference count reaches zero. Bug: angleproject:2464 Change-Id: I68c8229eea8df77974e28fcc2a9563dae5d204f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1493131 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi e397949e 2019-03-01T13:06:50 Vulkan: shave off 60 bytes from AttachmentOpsArray Bug: angleproject:2361 Change-Id: I39eb34b3c415fa165fa7803b2bc09338833f6773 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496039 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter a8300e56 2019-03-01T11:01:48 Fix scoped trace events The macro was introducing an additional scope that was not the scope we intend to trace. Test: ./external/chromium-trace/systrace.py -t 10 -o /tmp/maps.html -a com.google.android.apps.maps gfx sched freq idle am wm gfx view sync irq binder_driver Examine trace for markers and verify they are expected size. Bug: angleproject:3176 Change-Id: I593b8685c5e72a844bebec4b98e1373110a235ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492012 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Jamie Madill f30808db 2019-03-05T10:55:39 Use a constexpr array for es3 copy conversion table. With the relaxed C++14 constexpr rules allowed in Chromium, we can use a constexpr sorted array to store our table data. This can lead to very fast lookups while being more maintanable than using auto- generator scripts for every lookup table. Note that to be sure this syntax is permitted, we should land this through the bots and let it sit for a little while. Bug: angleproject:1389 Change-Id: I9395c40276470108ce3e5786d8f1b8d85462c517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/777544 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 55959b0b 2019-03-05T10:07:41 Add glmark2 to build. glmark2 is a an OpenGL ES 2.0 benchmark licensed under GPL v3. See https://github.com/glmark2/glmark2 ANGLE can use glmark2 as a metric and guide for optimization. It will add a number of useful performance tests. This CL adds the initial build integration. A follow-up CL will integrate glmark2 into our performance tests. Note that glmark2 will not be shipped with Chrome or Android. It will only be used on our test infrastructure. Note that the data path solution is temporary. When integrated into ANGLE we will make sure we CWD into the glmark2 directory before running the benchmark. Bug: angleproject:3139 Change-Id: I5c4f605221c255ab19abd10b321b5867ab459105 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1449984 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter f094bac9 2019-02-15T08:24:56 Allow enabling trace annotations Tracing was never allowed to happen because getStatus always returned false. Also want to allow tracing for release builds for perf analysis. Bug: angleproject:3176 Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Qin Jiajia b8cff9e9 2019-02-18T16:15:53 ES31: Add MAX_COMPUTE_SHARED_MEMORY_SIZE Bug: angleproject:2682 Change-Id: If9100bee246dfb99fca3f0470742a337a126c9a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1476951 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Kevin Schoedel b36f7a25 2019-03-01T11:20:55 Update gpu_test_expectations Sync with chromium, primarily to shave the kOsFuchsia yak. Bug: angleproject:2475 Change-Id: I76ce607095d02e805a41f63315b4237e57f1cc4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497392 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Tobin Ehlis e3981cf7 2019-02-27T11:05:15 Vulkan:Add SecondaryCommandBuffer class SecondaryCommandBuffer is a CPU-side command buffer construct intended to delay allocation/construction of GPU-side command buffers until absolutely necessary. Initially ANGLE was batching commands into Vulkan secondary command buffers and then submitting those command buffers when rendering was required. On at least some devices we saw two areas of overhead that SecondaryCommandBuffers are intended to reduce: 1. Commands in secondary cmd buffers taking longer than equivalent commands in a single primary cmd buffer. 2. Allocation/free/reset overhead of the secondary command buffers was a hotspot for some workloads. Bug: angleproject:3136 Change-Id: Ife8ffe2968eee423d89ff433d62596c432156661 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492016 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Geoff Lang e332e621 2019-02-14T12:53:04 D3D: Asynchronously load program binaries. Unpack as much of the binary steam as possible before passing the final loading of the shader programs off to a worker thread. Reporting as many possible link errors before becoming asynchronous means that linking should only fail due to unexpected system issues at that point. This also allows other backends to asynchronously load program binaries. BUG=angleproject:2857 Change-Id: I587917a3e54522114dabd41d1b14fc491c8fd18a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1473451 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d838178d 2019-03-04T11:07:47 Vulkan: Rename vk::Shared* to vk::RefCounted* To be specific regarding what being "shared" entails. Also, avoids confusion w.r.t to an upcoming vk::Shared class. Bug: angleproject:2464 Change-Id: Ib9c112bbb822ae30dab39c75a8cde25dd79b2258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1499693 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4d153383 2019-02-26T15:08:11 Reland "Vulkan: Implement debug markers" This reverts commit 0c01e36783b20a0177c653490cb4f8ea4a896075. Reason for revert: Its dependency that was reverted has now relanded: https://chromium-review.googlesource.com/c/angle/angle/+/1489153 Original change's description: > Revert "Vulkan: Implement debug markers" > > This reverts commit 983e446921946734fe47217c345a8fe2f079319d. > > Reason for revert: Depends on a CL that's reverted: https://chromium-review.googlesource.com/c/angle/angle/+/1470605 > > Original change's description: > > Vulkan: Implement debug markers > > > > Covers both GL_KHR_debug and GL_EXT_debug_marker. > > > > Debug markers are used to specify events or hierarchically categorize a > > set of commands within the command buffer. When debugging, this allows > > for quicker navigation to the draw calls of interest, and otherwise > > provides context to debug output. > > > > Bug: angleproject:2853 > > Change-Id: Id65e11fc877d9e70b6fd0fae7f0bbbcb1164bf10 > > Reviewed-on: https://chromium-review.googlesource.com/c/1403956 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > TBR=geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org > > Change-Id: I7fcfc8683195d396aec61848719f52c0fa049ece > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:2853 > Reviewed-on: https://chromium-review.googlesource.com/c/1470606 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=geofflang@chromium.org,jmadill@google.com,syoussefi@chromium.org Bug: angleproject:2853 Change-Id: Ie19ae103244d54dcf7108d5f61c24e318fc44057 Reviewed-on: https://chromium-review.googlesource.com/c/1489154 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi 6f1a852f 2019-02-26T15:00:54 Reland "Roll Vulkan repos" This reverts commit 3805122b0297b8208ff734a3bcdaa12850b60a00. Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change. Original change's description: > Revert "Roll Vulkan repos" > > This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622. > > Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots. > > Original change's description: > > Roll Vulkan repos > > > > Bug: angleproject:3095 > > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c > > Reviewed-on: https://chromium-review.googlesource.com/c/1405714 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org > > Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3095 > Reviewed-on: https://chromium-review.googlesource.com/c/1470605 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org Bug: angleproject:3095 Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0 Reviewed-on: https://chromium-review.googlesource.com/c/1489153 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi a9f89313 2019-02-25T16:31:57 Reland "Add system util to execute app and retrieve its output" This reverts commit fe14b2e503a5991aeb033836bb4d525508475b52. Reason for revert: failing test is reworked not to run angle_unittests itself, but another binary. Previously, this test was calling angle_unittests itself, but with a different target. On the bots, that was in turn calling angle_unittests with even more arguments, including the addition of a log file location. Under some configurations, this separate process was thus trying to access files that were already opened by the parent process, leading to a test failure. In this CL, a new helper executable is created for the sake of this unittest. > Revert "Add system util to execute app and retrieve its output" > > This reverts commit c63d95525cde8d28963148bb5894456c1d39018d. > > Reason for revert: Test fails on Win7 > > Original change's description: > > Add system util to execute app and retrieve its output > > > > This will be useful to run external applications, such as benchmarks, > > and process their output. > > > > Bug: angleproject:3125 > > Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a > > Reviewed-on: https://chromium-review.googlesource.com/c/1452534 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@google.com> Bug: angleproject:3125, angleproject:3168 Change-Id: I74815750484a79f33c36e0b4f941d4dd98f99aa5 Reviewed-on: https://chromium-review.googlesource.com/c/1487631 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 76bd848c 2019-02-13T13:00:44 Vulkan: Support ETC, S3TC and BPTC compressed textures Fixes the format table so the correct Vulkan format for the types are generated. Additionally, implements CHROMIUM_copy_compressed_texture as well as other functions relevant to initializing compressed textures. Bug: angleproject:2670, angleproject:2904 Change-Id: I682d36574262525027cddf8f329515f38cd77dc0 Reviewed-on: https://chromium-review.googlesource.com/c/1468048 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Yuly Novikov 1581ff03 2019-02-28T20:59:26 Vulkan: disable VK_PRESENT_MODE_FIFO_KHR on Linux Intel Causes random timeouts. Bug: angleproject:2932, angleproject:3153 Change-Id: I69a200684afab9e00642850bfa8e8efd0da5ad1d Reviewed-on: https://chromium-review.googlesource.com/c/1495229 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bruce Dawson ffa277a1 2019-02-28T15:37:19 Fix logic for warningsAsErrors warningsAsErrors should be falsed on Windows 7 because we may legitimately get a warning about loading the old d3dcompiler DLL on that platform. The logic for this was reversed in the initial change. This change flips the logic, changes the cutoff OS version, and always sets the flag to something. Bug: chromium:920704 Change-Id: Ibf8a7c9a48bffc183479b7614148d6c00c122a07 Reviewed-on: https://chromium-review.googlesource.com/c/1496015 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Tobin Ehlis 5546fb4f 2019-01-17T12:25:54 Vulkan:Adding custom pool allocator Migrated pool allocator used by compiler to common. Planning to use this for ANGLE custom command buffers so this some refactoring in preparation for that work. Added a unit test to check PoolAllocator functionality. Bug: angleproject:2951 Reviewed-on: https://chromium-review.googlesource.com/c/1476953 Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> Change-Id: I0b4f3d55ea1799e35c9799c221f7129233f30b24 Reviewed-on: https://chromium-review.googlesource.com/c/1492972
shrekshao fa0db6cc 2019-02-21T11:40:28 Use string literal style for shader string in WebGLCompatibilityTest Bug: None Change-Id: I75255cfda3793c539ac8a6ee2c50b8526bfc9286 Reviewed-on: https://chromium-review.googlesource.com/c/1493113 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
shrekshao c87e0053 2019-02-21T11:40:28 add ext_float_blend feature and test Bug: chromium:930993 Change-Id: I8edbd01c5c9f1ed63243cc4a42f6de44c92db8bd Reviewed-on: https://chromium-review.googlesource.com/c/1481242 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Yuly Novikov dbbdf563 2019-02-27T19:48:16 Require VK_EXT_queue_family_foreign for EGL_ANDROID_image_native_buffer support Even though VK_EXT_queue_family_foreign is required by VK_ANDROID_external_memory_android_hardware_buffer, Pixel 2 PQ2A.190205.002 supports the latter but not the former. Also print the names of unsupported extensions to ease debugging in the future. Bug: angleproject:3121, chromium:857138 Change-Id: Ib1195153cfb74f079a93ee9ce93b9b78e6f6e00a Reviewed-on: https://chromium-review.googlesource.com/c/1493114 Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 4b314eef 2019-02-27T13:20:51 Win7: No warnings as errors in FragData test. Applies to all Windows because we currently don't have a way to check which version we're on. The fallback to the old compiler is generating a warning. This test was being overly conservative. Also updates a few message strings. Bug: chromium:920704 Change-Id: If83677881e85d6a6f9ad98b33cd5f7d917bbec6b Reviewed-on: https://chromium-review.googlesource.com/c/1492311 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi 9dc8eafe 2019-02-11T11:04:54 Vulkan: ES3 dEQP suppressions This re-enables Vulkan ES3 context creation and adds the necessary dEQP suppressions. Bug: angleproject:2950 Change-Id: Ic24a9fb4f867f3bce08f101e056f208abf84bb5e Reviewed-on: https://chromium-review.googlesource.com/c/1483311 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov aaa17b85 2019-02-26T16:57:44 Restrict OpenGL/Vulkan test window re-creation workaround to NVIDIA The workaround in https://chromium-review.googlesource.com/430887 was intended only for NVIDIA. Re-creating the test window causes new native display to be created every time. Normally, re-using the same native display with different implementation would release the old implementation. When new display is created instead of re-using the old one, old implementation is never released, leaking memory. Use SystemInfo to check if any of GPUs is NVIDIA and apply the workaround only then, reducing the leak on other platforms. Bug: angleproject:1810, angleproject:3153 Change-Id: I6198c01c82a01e2adc0bcd1fad303c47cd7328d8 Reviewed-on: https://chromium-review.googlesource.com/c/1490379 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Geoff Lang 009696c5 2019-01-31T14:47:07 Vulkan: Support EGL_ANDROID_image_native_buffer on Android. BUG=angleproject:2668 BUG=angleproject:3121 Change-Id: I0dfb2ec0737ebd963b0fadb78cf720a90874f00b Reviewed-on: https://chromium-review.googlesource.com/c/1452264 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 46d32e0f 2019-02-25T17:13:16 Use Chromium mirror for rapidjson. ANGLE can use this library to output the test results format used by the Chromium infrastructure. We have a rapidjson mirror located on chromium.googlesource.com. Also updates rapidjson to the latest version and adds GN integration. Currently this library was unused in ANGLE. Bug: angleproject:3162 Change-Id: Ie349026f68028e3acc46055655e321c2d710b828 Reviewed-on: https://chromium-review.googlesource.com/c/1487633 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9f20dd77 2019-01-20T14:31:59 Add draw call perf test using 5 vertex arrays. This should highlight problems with array buffer state changes even more than the single attribute test. Bug: angleproject:3014 Change-Id: I7f42ddb48f0f794fa279b81c8378dab8dc9db489 Reviewed-on: https://chromium-review.googlesource.com/c/1413788 Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 0546b538 2019-02-25T22:47:17 Revert "Vulkan:Adding custom pool allocator" This reverts commit 941717496141b96f1d5817f31c2bb4a4e19847b9. Reason for revert: crashes on Debug bots Original change's description: > Vulkan:Adding custom pool allocator > > Migrated pool allocator used by compiler to common. > > Planning to use this for ANGLE custom command buffers so this some > refactoring in preparation for that work. > > Added a unit test to check PoolAllocator functionality. > > Bug: angleproject:2951 > Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef > Reviewed-on: https://chromium-review.googlesource.com/c/1476953 > Reviewed-by: Jamie Madill <jmadill@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=ynovikov@chromium.org,jmadill@google.com,tobine@google.com,syoussefi@chromium.org Change-Id: Id8c522bd1d94154e871211d975e801a55cc9c257 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2951, angleproject:3169 Reviewed-on: https://chromium-review.googlesource.com/c/1487977 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov fe14b2e5 2019-02-25T19:22:28 Revert "Add system util to execute app and retrieve its output" This reverts commit c63d95525cde8d28963148bb5894456c1d39018d. Reason for revert: Test fails on Win7 Original change's description: > Add system util to execute app and retrieve its output > > This will be useful to run external applications, such as benchmarks, > and process their output. > > Bug: angleproject:3125 > Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a > Reviewed-on: https://chromium-review.googlesource.com/c/1452534 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@google.com> TBR=jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3125, angleproject:3168 Change-Id: I389c0ee639c7c0176c87abe92fc88f99d1b20cc4 Reviewed-on: https://chromium-review.googlesource.com/c/1487104 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 94171749 2019-01-17T12:25:54 Vulkan:Adding custom pool allocator Migrated pool allocator used by compiler to common. Planning to use this for ANGLE custom command buffers so this some refactoring in preparation for that work. Added a unit test to check PoolAllocator functionality. Bug: angleproject:2951 Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef Reviewed-on: https://chromium-review.googlesource.com/c/1476953 Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Shahbaz Youssefi c63d9552 2019-02-04T13:41:51 Add system util to execute app and retrieve its output This will be useful to run external applications, such as benchmarks, and process their output. Bug: angleproject:3125 Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a Reviewed-on: https://chromium-review.googlesource.com/c/1452534 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi f78131da 2019-02-22T14:13:18 Suppress WebGL CopyTexSubImage2D on D3D9.3 everywhere Previously they were only disabled on 64-bit windows, but a recent change in ordering of the tests shows the same failures on 32-bit windows too. Bug: angleproject:3153 Change-Id: Ic40fb88ae335b3ce66d5c1c1cfeed83e52cf690d Reviewed-on: https://chromium-review.googlesource.com/c/1483264 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten a8b81590 2019-02-15T17:23:23 Vulkan: Free semaphores with other in flight resources ANGLE calls WindowSurfaceVk::nextSwapchainImage() to prepare for the next frame, which allocates an image (and other resources, like semaphore). However, it's possible for egl::Display::destroySurface() to be called before the next submitFrame(), which prevents the image from being returned back to the swapchain. This fix refactors swapImpl() to separate out the present work, which can be called as part of destroy() to return the allocated resources. dEQP-EGL.functional.query_context.get_current_context.* dEQP-EGL.functional.query_context.get_current_display.* dEQP-EGL.functional.query_context.get_current_surface.r* dEQP-EGL.functional.query_context.query_context.* Bug: angleproject:3057 Change-Id: Ia943f2530e4f27d1a10ee907e810f0bbdb3bfa9a Reviewed-on: https://chromium-review.googlesource.com/c/1474601 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill d09546e1 2019-02-22T10:24:44 D3D: Fall back to old compiler DLL. This is a workaround for Windows 7 users sometimes not having the UCRT required for the new versions of the MS HLSL compiler. It requires a specific version of the Windows SDK with the old compiler DLL. Bug: chromium:920704 Change-Id: Id9adb3b9d569272cbd69a8b4fc99dc160d837dbc Reviewed-on: https://chromium-review.googlesource.com/c/1403254 Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Jamie Madill <jmadill@google.com>
Jamie Madill cf9b2853 2019-02-13T09:15:26 Roll Google Test. Updates our build files to be more consistent with Chromium. Also rolls SPIRV-Tools to use newer test fixture syntax. Note: requires an update to SPIRV-Tools to pass 'gn check'. Bug: angleproject:3151 Change-Id: I8abddef396f84e5c58cdd185421f03fd6e2b6d58 Reviewed-on: https://chromium-review.googlesource.com/c/1470591 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi b9039bf7 2019-02-12T15:30:48 Vulkan: fix numerous formats missing support Vulkan _SRGB formats have a suffix of _UNORM_SRGB in the corresponding angle name. Vulkan A2B10G10R10_*_PACK32 formats have angle names in the form R10G10B10A2_*. A16 and A32 formats are emulated similar to A8. Some formats that are not in the front-end are removed. Bug: angleproject:2364, angleproject:2405 Change-Id: I00718f450a374912d57d3c00ea167ce486e10aa0 Reviewed-on: https://chromium-review.googlesource.com/c/1468042 Reviewed-by: Jamie Madill <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 962c222a 2019-02-20T15:43:41 Vulkan: Enable anisotropy feature when available If anisotropic filtering is used, the feature must be enabled at device creation time. This was missing. Bug: angleproject:2901 Change-Id: I86db55f8b1696dc04eae922b941512f786aa12b8 Reviewed-on: https://chromium-review.googlesource.com/c/1479264 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Jamie Madill 08573730 2019-02-20T19:59:22 Enable vertex_arrays tests on Android. These appear to be passing now. Bug: angleproject:1484 Change-Id: I0a52f73c87aeea2e0fba360063109b74aa6aa365 Reviewed-on: https://chromium-review.googlesource.com/c/1479904 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Jamie Madill 568a3425 2019-02-20T19:58:41 Enable texture.mipmap tests on Android. These appear to be passing on the bots. Bug: angleproject:1489 Change-Id: I1d672187f9bfe72189291309b90049fd128b1392 Reviewed-on: https://chromium-review.googlesource.com/c/1479903 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Jamie Madill 6cdb01f4 2019-02-20T19:54:24 Update fbo.completeness expectations on Android. The depth_stencil_unsigned_int_24_8 tests are passing now. The srgb8 failures are tracked in http://anglebug.com/1028. Bug: angleproject:1487 Change-Id: Id85fc00acfd1b59d4b7bfdd00596f2c18a583e5c Reviewed-on: https://chromium-review.googlesource.com/c/1479902 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Jamie Madill 1ceb9c8e 2019-02-20T19:50:57 Enable clipping.triangle_vertex test on Android. Seems to be fixed with newer compilers. Bug: angleproject:1485 Change-Id: I2954548d8f5370b57302c40fc40b6458f79fd7ed Reviewed-on: https://chromium-review.googlesource.com/c/1479901 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Jamie Madill 2ac98885 2019-02-20T18:49:57 Enable fbo.completeness.attachment_combinations on Android. These tests are all passing with "unsupported". Bug: angleproject:1486 Change-Id: I532000b4934ed66fd61f39312013a6da8f3dd86f Reviewed-on: https://chromium-review.googlesource.com/c/1479897 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Kevin Schoedel eef531f1 2019-02-20T16:33:21 Disable broken test on Fuchsia This disables the ImageTest.SourceCubeTargetRenderbuffer test that does not work on Fuchsia. BUG=angleproject:2475, angleproject:3145 TEST=angle_end2end_tests on Fuchsia Change-Id: I8e681926ee322642b39c32b3bc0cd266ffa1d11f Reviewed-on: https://chromium-review.googlesource.com/c/1479283 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com>
Victor Costan ffd39978 2019-02-20T10:45:24 test: Replace _TEST_CASE_ with _TEST_SUITE_. Googletest is (at last) converging with industry-standard terminology [1]. We previously called test suites "test cases", which was rather confusing for folks coming from any other testing framework. Chrome now has a googletest version that supports _TEST_SUITE_ macros instead of _TEST_CASE_, so this CL cleans up some of the outdated usage. [1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature Bug: chromium:925652 Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608 Reviewed-on: https://chromium-review.googlesource.com/c/1477418 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org>
Yuly Novikov 3d544fff 2019-02-19T12:02:06 Temporarily disable creating D3D debug device. To diagnose whether Windows Intel end2end tests flakiness is related to creating debug device and new version of Windows SDK. Bug: angleproject:3153 Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737 Reviewed-on: https://chromium-review.googlesource.com/c/1476954 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis 1d35d511 2019-02-15T15:39:27 Revert "Fix unit test for setting locale creating malformed HLSL shader code" This reverts commit 5f662c0042703344eb0eef6d1c123e902e3aefbf. Reason for revert: Some recent crashes related to streams, could be related to this change. https://bugs.chromium.org/p/chromium/issues/detail?id=932359 Original change's description: > Fix unit test for setting locale creating malformed HLSL shader code > Fix malformed HLSL shader code in other locales than classic > > Bug: angleproject:1433 > Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26 > Reviewed-on: https://chromium-review.googlesource.com/c/1447862 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> TBR=geofflang@chromium.org,jmadill@chromium.org,jonahr@google.com Bug: angleproject:1433 Change-Id: I28caa073b3996a95f3f233bed9dc91dc44263835 Reviewed-on: https://chromium-review.googlesource.com/c/1474624 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Qin Jiajia 6a492c27 2019-02-18T13:45:02 Update ES31 dEQP test expectation More SSBO related deqp cases pass due to the implementation of atomic counter. Bug: angleproject:1951 Change-Id: I1a6ed6001b9b2d06e74aab105d1a7852abbb9902 Reviewed-on: https://chromium-review.googlesource.com/c/1476950 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Shahbaz Youssefi 028df5f5 2019-02-13T12:57:10 Vulkan: Implement transfer path for texture copy This is primarily in preparation for compressed texture copy, but has the following side effect: - When transfer is possible, it's faster than draw - When texture format does not support draw (but transfer is possible), it will avoid copying through CPU. Bug: angleproject:2670 Change-Id: I49e1b51e6ccec875db3f971106687c7d48c4916f Reviewed-on: https://chromium-review.googlesource.com/c/1470595 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
James Darpinian 8a64926e 2019-02-15T13:55:36 Restore the active program after transform feedback When calling EndTransformFeedback, we might change the current program. This sets a dirty bit, but it might not get cleared before the next draw call, so this change makes us manually restore the program state after calling EndTransformFeedback. This is a follow-up to: https://chromium-review.googlesource.com/c/angle/angle/+/1448661 Bug: 832238 Change-Id: I1bea1b9685f55d68b04439a9b0a305deb48708c0 Reviewed-on: https://chromium-review.googlesource.com/c/1475061 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
jchen10 23ed69cb 2019-01-23T10:36:34 Make WARN() and ERR() thread safe This adds a global mutex lock to protect logging messages from worker threads. BUG=922936 Change-Id: I42e2a7b560da6f6a8b120b74252adce115ccda20 Reviewed-on: https://chromium-review.googlesource.com/c/1429479 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Ian Elliott 9429f216 2019-02-15T10:43:14 Vulkan: Add missing EGLConfigs for Android Native pixel formats GL_RGBA16F correlates to HAL_PIXEL_FORMAT_RGBA_FP16. GL_RGB10_A2 that correlates to HAL_PIXEL_FORMAT_RGBA_1010102. This fills-in key holes between generated ANGLE config formats and the Android native formats after GL_RGB565 was added to fix the configs that were missing for some games. Modified EGLContextCompatibilityTest to exclude GL_RGB10_A2 and GL_RGBA16F from some of the EGLContextCompatibilityTest cases. EGLContextCompatibilityTest uses the OSWindow utility, which only works with UNORM-compatible EGLConfigs that are a proper subset of GL_RGBA8. The new configs won't work with the WindowDifferentConfig and WindowSameConfig test cases. Bug: angleproject:3155 Change-Id: I693ed24f13ba787ea6d661f42ec65dc3d26f08f6 Reviewed-on: https://chromium-review.googlesource.com/c/1276807 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Courtney Goeltzenleuchter b6c1c66d 2019-02-15T08:30:45 Vulkan: Discard scissor if either dimension is 0 Test: adb shell am start -n com.drawelements.deqp/android.app.NativeActivity \ -e cmdLine '"deqp --deqp-case=dEQP-GLES2.functional.color_clear.* \ --deqp-log-filename=/sdcard/dEQP-Log.qpa"' run_angle_end2end_tests --gtest_filter=ClearTest.EmptyScissor/ES2_VULKAN Bug: angleproject:3114 Change-Id: Icd6ec39c993854f1dbc2fd9221b374e7d4541058 Reviewed-on: https://chromium-review.googlesource.com/c/1475235 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jonah Ryan-Davis 25686848 2019-02-07T15:21:27 Refactor ANGLE's extensions struct to more easily represent multiple vendor extension Some extensions are available from multiple vendors with the same name, while minimizing the amount of duplicated code and validation errors. The anonymous struct allows individual vendor checks as well as an "*Any()" check to check for any version of the extension. Bug: angleproject:3104 Change-Id: Ib8b65cde850462d3746d9663496a595321817514 Reviewed-on: https://chromium-review.googlesource.com/c/1456619 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Enrico Galli c1c9fb1b 2018-10-18T11:41:50 ES31: Add atomic counter buffer support to D3D11 renderer Adds support for atomic counters to the D3D11 renderer using UAV. Bug: angleproject:1729 Test: angle_end2end_tests Change-Id: I2904ba62644685b7d91f7475bd80a81ae414993b Reviewed-on: https://chromium-review.googlesource.com/c/1451259 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
jchen10 aead8edf 2019-02-13T13:55:09 Mute worker context creation warnings This moves the warnings to InfoLog. Bug: chromium:931294 Change-Id: I1627aa63bdda6f92fc89b8921eb260302ba9063f Reviewed-on: https://chromium-review.googlesource.com/c/1469721 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Yuly Novikov 559aaca5 2019-02-14T18:24:07 Fix texture and buffer data bugs in tests found by ASAN. Bug: angleproject:3153 Change-Id: Iacb7b2b97b9fc5c68fbee03c66d71eb72a53b4d6 Reviewed-on: https://chromium-review.googlesource.com/c/1474342 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>