- 03 Dec, 2018 6 commits
-
-
Jamie Madill authored
A change in Chromium's build tools caused symbol paths to become relative. Since copying dlls no longer links back to the build directory we need to copy the PDBs as well to get debuggging symbols. Bug: angleproject:3001 Change-Id: I54d9a1d57d3c69d81d68913993653bab61fa4e65 Reviewed-on: https://chromium-review.googlesource.com/c/1358645Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Now that there's storage change notifications in the GL front-end we no longer need to give the back-end access to the angle::Subject. The Texture object is a special case where it has mirrored dirty bits. To keep the gl::Texture class notified of when the Impl has dirty bits we make the TextureImpl class an angle::Subject that is observed by the gl::Texture class. This will enable further dirty bits improvements. Bug: angleproject:2966 Change-Id: Id22da0926f51ff4679e58af3e62903f4d7948915 Reviewed-on: https://chromium-review.googlesource.com/c/1347670Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This enables the linux path for GetSystemInfo on fuchsia. Tested locally and fixes the build. Bug: angleproject:2996 Change-Id: Icc8f282a66ff43ae9c74545a9dcee2d4af8a21e0 Reviewed-on: https://chromium-review.googlesource.com/c/1358632Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Nico Weber authored
Since this was missing, the layer json files didn't get regenerated on vulkan rolls, leading to stale generated json files, which in turn led to incremental builds having different files in the swarming isolate than full builds. To make this type of bug harder to introduce, rewrite generate_vulkan_layers_json.py a bit: - pass in path to vulkan_core.h as an argument - also pass in the input .json / .json.in files as arguments, so that the script re-runs if a .json or .json.in input is added or removed, and in the script verify that the passed-in list matches the glob() the script did previously (this verifies that the sources list in the .gn file is up-to-date with the state on disk) - generate outputs list in gn from sources list, to make sure they're in sync - use an expicit --icd flag instead of doing `'icd' in path` - fail when failing to extract vk_version instead of silently using a default - some minor python style fixes Bug: chromium:910699,chromium:869348 Change-Id: I1e598f4566697a7f1ef56b040e52d0717f7ad075 Reviewed-on: https://chromium-review.googlesource.com/c/1358631Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
-
Tom Tan authored
Windows ARM64 was first released at 10.0.16299 which contains d3dcompiler_47.dll under %systemroot%\system32, so no need to copy it from Windows SDK. For the same reason, it is also not included as part of redistribute package for Windows ARM64. Bug: chromium:893460 Change-Id: I175ce831d800ec1f19c767fc172219f6b693fec3 Reviewed-on: https://chromium-review.googlesource.com/c/1357155 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This change enforces a lot more consistency. We pass const char * to the Compile functions instead of std::string. Also fixes the indentation of C++11 block comments to be more consistent. Bug: angleproject:2995 Change-Id: Id6e5ea94055d8cbd420df4ea2e81b2d96cb5ce78 Reviewed-on: https://chromium-review.googlesource.com/c/1357103Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 30 Nov, 2018 3 commits
-
-
Shahbaz Youssefi authored
With DynamicBuffer outputting BufferHelper objects, these objects can participate in the command graph, i.e. record commands. This means they need appropriate dependencies in the graph as well as pipeline barriers. There are a few users of DynamicBuffer for which this change should be applied to. This change covers index buffers. This commit includes a fix to BufferHelper::copyFromBuffer for WaW hazards. It also includes a fix for a missing pipeline barrier after BufferVk::copyToBuffer. Bug: angleproject:2958 Change-Id: I3e61af56936580b2da20c28c45defece552d9a39 Reviewed-on: https://chromium-review.googlesource.com/c/1352732Reviewed-by:
Tobin Ehlis <tobine@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Ian Elliott authored
This version-2 API splits up and renames parts of the version-1 API. Some initial unit tests were added. The code is now built and tested on Linux, Windows, and Mac (in addition to Android, which is where it's being used). Memory leaks were fixed and some memory/list-management TODOs were also dealt with (associated with an Android bug). Some review items deferred. See: angleproject:2993 Bug: angleproject:2794 Bug: b/113346561 Change-Id: Iff307f9347fb05a733fe96b6774fb32d36e25590 Reviewed-on: https://chromium-review.googlesource.com/c/1291837Reviewed-by:
Ian Elliott <ianelliott@google.com> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
-
Tobin Ehlis authored
Roll VK Headers/Loader/ValidationLayers forward. There's a build improvement as well as many new checks. Added new source file dep, convert_to_renderpass2.cpp, used by core_ validation for added RenderPass2 checks. Also had to move glslang fwd for shader validation layer so updated from confusing upstream branch of glslang that's integrated with shaderc to the independent Khronos glslang repo. Bug: angleproject:2937 Bug: chromium:845519 Change-Id: Ifee911f061dc426404c09499e49c2f029b174d03 Reviewed-on: https://chromium-review.googlesource.com/c/1355508Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
-
- 29 Nov, 2018 12 commits
-
-
Shahbaz Youssefi authored
Includes both binding of resources and updating push constants on the compute shader stage. Bug: angleproject:2958 Change-Id: I5686cbac81e0dd83d0e938cb40f9f9ac7d2ef48a Reviewed-on: https://chromium-review.googlesource.com/c/1355500 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
Refactors code out of generated functions into a common function and simplifies assertions. Bug: angleproject:2958 Change-Id: I896c2304c3ac1e043c16f9ecf81fa8b72a6b87c0 Reviewed-on: https://chromium-review.googlesource.com/c/1355501 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This is useful for triggering a dirty state notification for Textures. It will lead to improvements for program and texture dirty bits. Bug: angleproject:2966 Change-Id: Iaba625da8a970a558f7d158bfa2f09c964f6761a Reviewed-on: https://chromium-review.googlesource.com/c/1347669 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
This allows us to skip 1/2 of the robust resource init check in Context::setupDraw. The plan is to remove the other half in a follow-up CL. Most of the work of this CL was already handled. We just need to add the right dirty object mask to the Context's draw dirty objects list. We can mask out this check when robust resource is not enabled. Bug: angleproject:2966 Change-Id: I97ec2497c95e5cdf52988e1ce85f7602206935f0 Reviewed-on: https://chromium-review.googlesource.com/c/1343140 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Cody Northrop authored
Even though we don't plan to be launchable, we need to include an icon for plumbing reasons. For now I'm using a temporary icon pulled from our Cubey sample. When we get something official we can easily swap it in, and enhance it support multiple dpis. Bug: angleproject:2991 Change-Id: I2873d74586543c617cfc13fe6582b0b4967cbb22 Reviewed-on: https://chromium-review.googlesource.com/c/1355505Reviewed-by:
Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by:
Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
-
Jamie Madill authored
The packing and unpacking take a few extra instructions. But it completely obviates the need for any switches in the validation code. Speed is slightly faster or the similar depending on the back-end. Also add gl_angle_ext.xml to GL entry point generator inputs. This was missing and would cause the code generation to miss certain changes. Bug: angleproject:2985 Change-Id: I1ea41a71db71135000166ead8305ec42d22ff7b3 Reviewed-on: https://chromium-review.googlesource.com/c/1351729 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Shahbaz Youssefi authored
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT was used for barriers, but TOP and BOTTOM bits can only be used for execution barriers. These stages don't access memory, so they don't participate in memory barriers at all. A validation error is generated as our current barriers violate this: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-01184 A note from the spec (see second paragraph in particular): > An execution dependency with only VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT > in the destination stage mask will only prevent that stage from > executing in subsequently submitted commands. As this stage does not > perform any actual execution, this is not observable - in effect, it > does not delay processing of subsequent commands. Similarly an execution > dependency with only VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT in the source > stage mask will effectively not wait for any prior commands to complete. > When defining a memory dependency, using only > VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT or > VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT would never make any accesses > available and/or visible because these stages do not access memory. > VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT and > VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT are useful for accomplishing layout > transitions and queue ownership operations when the required execution > dependency is satisfied by other means - for example, semaphore > operations between queues. Bug: angleproject:2958 Change-Id: Ic616dcad7583db6b386d7d01a774b3ebd71a7081 Reviewed-on: https://chromium-review.googlesource.com/c/1352733 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Markus Tavenrath authored
Create a function table for State::syncDirtyObjects to avoid the costly switch and inline calls along the Context::syncDirtyObjects calling hierarchy. Bug: angleproject:2975 Change-Id: I1ec797452af41bc767578e4017c8eccb7d83628b Reviewed-on: https://chromium-review.googlesource.com/c/1340222 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
For each internal shader, there is now possibly a companion .json file that defines shader variations. The variations consist of a set of flags and a set of enums. Each enum defines a variation that takes one of a few values. Flags are shorthands for 2-value enums. In the shader code, #if can be used to change the shader based on variations derived from flags and enums. On the C++ side, those variations are combined into an index and the appropriate shader is retrieved from a table. Bug: angleproject:2958 Change-Id: Ic4fc7061adb20c047c26624305285e3005092aab Reviewed-on: https://chromium-review.googlesource.com/c/1351117 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Shahbaz Youssefi authored
The internal shaders know exactly what mix of resources they use, so with this change they can make one allocation of multiple types. Bug: angleproject:2958 Change-Id: Ia6f03672b95af4be9618a2f5eeb41ef1c027e810 Reviewed-on: https://chromium-review.googlesource.com/c/1351116Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Yizhou Jiang authored
This patch adds GetMultismaplefvANGLE and SampleMaskiANGLE api. TEST=TextureMultisampleTest.CheckSamplePositions* TEST=NegativeTextureMultisampleTest.Negtive* BUG=angleproject:2275 Change-Id: Ib1e8b856059229bbe88328a28cf2a892f4673214 Reviewed-on: https://chromium-review.googlesource.com/c/1319252 Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Also optimizes the DrawElements validation to remove redundant tests. Also make some more validation WebGL-specific. Bug: angleproject:2979 Change-Id: I2d5c3094ed86ebadbc572e46b8ae105431f7ae68 Reviewed-on: https://chromium-review.googlesource.com/c/1343139Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 28 Nov, 2018 7 commits
-
-
Shahbaz Youssefi authored
Bug: angleproject:2958 Change-Id: I7fd50e8b2029aad59a35050f401e1cf70d047444 Reviewed-on: https://chromium-review.googlesource.com/c/1354098 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
This is so that the resulting buffers can be written to by the GPU. Additionally, the class is given the ability to create host-visible or device-local buffers, making map()-on-init() optional. This is in preparation for vertex/index transformations in compute. Bug: angleproject:2958 Change-Id: Ib8f5829e33a1e49fa8f80c70dbde74f313ae49ec Reviewed-on: https://chromium-review.googlesource.com/c/1351113 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Yuly Novikov authored
Vulkan backend was missing dependency on NativeWindow. Bug: angleproject:2314 Change-Id: I66675af6f885b57bdb0524a0626dfec0256a21d3 Reviewed-on: https://chromium-review.googlesource.com/c/1354100Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Tim Van Patten authored
This reverts commit fdbdb2b2. Reason for revert: I didn't mean to land this quite yet, since we are still working on the Android side of things. It seems doing CQ+2 merges it while I was trying for just a dry run while replying to Jamie's comments with updates (after checking with Boulder folks, I want CQ+1 next time). Once the Android changes are ready, I'll work on getting this landed again. Original change's description: > Enhance ANGLE for Android Developer Options > > Update ANGLE Developer Options > > Update ANGLE developer options to allow selecting the OpenGL driver > (default, ANGLE, native) for each app as well as forcing ANGLE for all > apps. > > Bug: angleproject:2962 > Test: Verify the default/ANGLE/native values are saved and applied and > used by the loader. > > Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769 > Reviewed-on: https://chromium-review.googlesource.com/c/1330315 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org,cnorthrop@google.com,tobine@google.com,courtneygo@google.com,ianelliott@google.com,timvp@google.com Change-Id: If3a4e917973c56b858244a0ca7f1b164143524f5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2962 Reviewed-on: https://chromium-review.googlesource.com/c/1354099Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
James Darpinian authored
This is a WebGL spec change: https://github.com/KhronosGroup/WebGL/commit/bfbe124a7bb92eed34ea7cc18694167ed66b1030 Fixes conformance2/textures/misc/tex-mipmap-levels.html Bug: chromium:898351 Change-Id: Ib20409e10bec598611be273577115a380a63b523 Reviewed-on: https://chromium-review.googlesource.com/c/1352385 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Austin Eng authored
This patch changes arguments for MultiDrawElements and MultiDrawElementsInstanced from from GLsizei *offsets to const* GLvoid* indices. Bug: chromium:890539 Change-Id: I2124cf2daeaa6af0f889f3c46aa2b8c77be200a6 Reviewed-on: https://chromium-review.googlesource.com/c/1352591Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kai Ninomiya <kainino@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
-
Jamie Madill authored
Removes several TODOs. Only egl::Error remains. Also slightly decreases binary size. Bug: angleproject:2491 Change-Id: I3a9d1c22eb0884ca9e37362463fddd0083faf826 Reviewed-on: https://chromium-review.googlesource.com/c/1337462 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
- 27 Nov, 2018 8 commits
-
-
Tim Van Patten authored
Update ANGLE Developer Options Update ANGLE developer options to allow selecting the OpenGL driver (default, ANGLE, native) for each app as well as forcing ANGLE for all apps. Bug: angleproject:2962 Test: Verify the default/ANGLE/native values are saved and applied and used by the loader. Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769 Reviewed-on: https://chromium-review.googlesource.com/c/1330315 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Allows for better readability. Also sort the error strings by ID. Bug: angleproject:2957 Change-Id: Ib3900a4c90507ac84496fd5ff916417eb768667b Reviewed-on: https://chromium-review.googlesource.com/c/1337461 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
The GLenum was already mostly packed. There were just a few missing values because of the exclusion of things like GL_QUADS and GL_POLYGON from GLES. Also update the PackedEnumMap initialization to take an intializer. The initializer is a list of key/values which is much more robust to changes in the packed map. Improves draw call speed slightly as there is no conversion needed any more for the mode enum. Bug: angleproject:2966 Change-Id: Icae658272c6234f29335f6a57a63cf341cf5b2a0 Reviewed-on: https://chromium-review.googlesource.com/c/1346529 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Geoff Lang authored
This test flakes on many platforms. BUG=angleproject:2408 BUG=angleproject:2407 Change-Id: I9e8ff8aedc02962656c1a336c3f34191920ae8c7 Reviewed-on: https://chromium-review.googlesource.com/c/1352222 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This applies git cl format --full to all ANGLE sources. Bug: angleproject:2986 Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f Reviewed-on: https://chromium-review.googlesource.com/c/1351367Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Geoff Lang authored
The EXT_color_buffer_half_float extension spec issue #2 states that none of the added color buffer formats are required to be renderable and the client must check for framebuffer completeness for using them. Chrome exposes the extension if at least RGBA16F is renderable for WebGL. Replicate Chrome's behaviour by loosening our requirements to only expose this extension if an explicit check for RGBA16F renderability succeeds. BUG=angleproject:2984 Change-Id: Id97f3043ebf3fd11b5e9e2d505e57b76baba9716 Reviewed-on: https://chromium-review.googlesource.com/c/1351350 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Qin Jiajia authored
This patch adds the swizzle process if the swizzle node is the last node in ssbo access chain. Bug: angleproject:1951 Change-Id: Iecc95baa45e8cc40be9111a15398c7e858bfb99e Reviewed-on: https://chromium-review.googlesource.com/c/1341234 Commit-Queue: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
James Darpinian authored
Implementing a WebGL spec change: https://github.com/KhronosGroup/WebGL/pull/2658 Fixes WebGL 2 conformance test: conformance2/transform_feedback/same-buffer-two-binding-points.html Also applying the change to D3D backends because they can't support multiple transform feedback outputs in one buffer. Bug: chromium:866089 Change-Id: I8d7eda14225c13efb7ca1ed974239332be4e79a6 Reviewed-on: https://chromium-review.googlesource.com/c/1347749 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 26 Nov, 2018 4 commits
-
-
Shahbaz Youssefi authored
Bug: angleproject:2958 Change-Id: Ifa40537bc6003486b37d5d2ac9a2b7f1f5c3d1c2 Reviewed-on: https://chromium-review.googlesource.com/c/1351115Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2909 Change-Id: Ie59c1206e2ce4940e27fed7887dbee665721049b Reviewed-on: https://chromium-review.googlesource.com/c/1351354Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Shahbaz Youssefi authored
Bug: angleproject:2958 Change-Id: I3f77e694638b4dc060d20a149c3f9c8aed3692d1 Reviewed-on: https://chromium-review.googlesource.com/c/1351114Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Jamie Madill authored
To allow for extern "C" declarations to not break on a brace. This preserves the current code style. Also add indented preprocessor definitions. This makes the formatting of "platform.h" much nicer. Bug: angleproject:2971 Change-Id: I392babe0c8d67539a8e026a36a023a7404bb63c2 Reviewed-on: https://chromium-review.googlesource.com/c/1347452 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-