Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 8be7a4c7 | 2019-09-19 12:48:31 | Re-land "Vulkan: SwiftShader integration." Re-land fixes Win7 configs and placement of the SwiftShader module for ASAN/TSAN configs. Adds a new EGL extension for picking SwiftShader when using the Vulkan back-end. Also cleans up ICD enabling code RendererVk. Also includes a change to a buffer size necessary to support SwiftShader's minimum limits. Bug: angleproject:3876 Bug: b/140251624 Change-Id: I5e16057ac4de07bbdbbd248542b1b9103133294f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810065 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 34148207 | 2019-09-16 11:30:39 | Capture/Replay: Encapsulate cpp replay. This moves the cpp replay logic out of the FrameCapture class into pure c helper functions. This is a bit cleaner and could help us eventually move to writing out the cpp replay on a worker thread. Bug: angleproject:3611 Change-Id: I6a96c1ef1595a6203d44c1d4d9d793205701dd24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804879 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 2249fef2 | 2019-09-16 11:19:23 | Capture/Replay: Move stub implementation to new file. This lets the MSVC parser work better with FrameCapture.cpp. Bug: angleproject:3611 Change-Id: I249106dce81a7965684caf1a835f0472b34e8963 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804878 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 11dc1635 | 2019-09-18 14:46:23 | Add support for generating UWP (Windows Store) projects again Until late 2017, ANGLE supported Windows Store apps on Windows 8.1, Windows Phone 8.1, and Windows 10 (via the Universal Windows Platform, aka UWP). Unfortunately ANGLE deprecated support for Windows Store when it switched from GYP to GN in 2017. Since then, users have been able to use Microsoft\angle for their UWP apps but this isn't ideal since it's based on a 2017 copy of Google\angle. This PR bring back support for UWPs, so that UWP users can use Google\angle again. Specifically it: - Adds support for generating UWP projects via GN - Adds helper/util functions specific to UWP (they're mostly similar to the desktop Windows helpers) - Fixes some existing Windows Store code that's rotted since 2017 - Disables async shader compilation for UWPs, since its implementation calls wait on the UI thread (which is forbidden in UWPs) - Renames 'ANGLE_ENABLE_WINDOWS_STORE' to 'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now - Fixes misc other related issues (such as dependencies on D3D9 headers in API-agnostic code) Note that this doesn't bring back support for Windows/Phone 8.1. BUG=angleproject:3922 Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| dd4a00a0 | 2019-09-19 14:19:11 | Vulkan: Track resource usage via counter. This adds a small shared piece of memory that counts the number of times a resource is used in a command graph. This will enable more multi-threaded uses. The shared pointer is updated in the command graph during a submit and during graph construction. Bug: angleproject:2464 Change-Id: Id9d0319a6814825d02e865ba527c97b5f535ff31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785989 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| d7f28aae | 2019-09-19 14:19:10 | Vulkan: Pass CommandGraph when updating serials. This is in preparation for storing a pointer to a shared resource use structure. Bug: angleproject:2464 Change-Id: I8f4ba1c71de6ad6a27ac06fc8012a0e94267cc16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785988 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| fea65766 | 2019-09-19 09:30:38 | Vulkan: Add support for OES_vertex_type_10_10_10_2 - Add support to CPU/GPU convert vertex formats - Add test cases for type conversion in angle_end2end_tests - Fix a bug in shader script by adding a ceil when calculating bytes Bug: angleproject:3192 Test: angle_end2end_tests --gtest_filter=VertexAttributeTest*Packed1010102* Change-Id: I57bab9fc1c1041cd734746d0e52a33717b635ec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788495 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| 4e57520a | 2019-08-23 16:14:07 | GL: Update BlitGL to use ANGLE_GL_TRY. BUG=angleproject:3020 Change-Id: I587e638ca9dea2cb84aaad68aa8d1ce32fc62053 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769062 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| ac7c876b | 2019-09-17 11:20:47 | GL: DisplayGLX::makeCurrent should handle drawSurface==0 In this case the draw surface should be unbound, but ANGLE had been skipping this case (and handling it internally). This caused a crash on Linux Intel. Now makeCurrent is actually called on the driver with drawSurface mDummyPbuffer. Bug: chromium:988440 Change-Id: Ifae7a828455eb67e516a47515ec6c24cc36e3c2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808719 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| e6582161 | 2019-09-16 12:39:18 | Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU. DXT1 has a specific 'BLACK' code that results in transparent black pixels when sampled. D3D does not have specific RGB-only DXT1 formats like OpenGL does so when this code is encountered, we sample 0 alpha for these pixels when GL would expect 1 because the alpha channel should not exist. Work around this by converting to DXT3 RGBA, adding an extra block of 1.0 alpha pixels for each color block. Mac Intel OpenGL requires additional workarounds to always sample 1.0 alpha. Set the texture swizzle parameters to force it. BUG=angleproject:3729 Change-Id: Ia3647085acd97bb01af4e95ef3f6f21dcfb6a554 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804880 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| bf4268a3 | 2019-09-17 13:33:56 | Fix misc VS2019 bool conversion warnings BUG=angleproject:3921 Change-Id: I06de5131f98b27c2556ed60dd7228c9cfa154802 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811858 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2f2ea8b4 | 2019-09-18 16:42:28 | Fix depth pitch calculations for compressed textures. Depth pitch computations were not taking into account the block size and simply multiplying the row pitch with the pixel height. This caused our load functions to use a very high depth pitch, reading past the end of the user-supplied buffer. BUG=angleproject:3190 BUG=angleproject:3920 Change-Id: I4ef4763b542735993568c51ae4b5a235659b9094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811837 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 197005d8 | 2019-09-18 12:58:31 | Vulkan: Pass ContextVk to various helpers This is groundwork for some upcoming changes where data from ContextVk is needed in GraphicsPipelineDesc::initializePipeline(). Passing ContextVk ptr all the way down instead of the reduced vk::Context ptr. Bug: angleproject:2672 Change-Id: I29f580c3503777085355f1b79f4ae4552a394557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811433 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| db09eb68 | 2019-09-18 13:40:39 | Increase the max fence wait time in debug builds Also minor refactor to avoid duplicating the constant by having both RendererVk and ContextVk retrieve the wait time via new member function RendererVk::getMaxFenceWaitTimeNs(). BUG=angleproject:3915 Change-Id: I9a283a4e0f34a6a1f840c350dc667f4fc27f59e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810066 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a7003d5f | 2019-07-19 11:43:34 | Reland "EGL: Implement EGL_KHR_no_config_context" Add extension string and flag to all renderers that pass Modify eglCreateContext to accept EGL_NO_CONFIG Modify eglQueryContext per specification Modify eglMakeCurrent to bypass surface-context config compatibility checks Add check for client API Create new end2end test EGLNoConfigContextTest Disable on most renderers to prevent possible fail with future configs Bug: angleproject:3635 Test: dEQP-EGL.functional.create_context.no_config* angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* Change-Id: I88c1922a1e75afcc49922a9eccb4f1ae046c024a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806140 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 01dfe404 | 2019-09-04 12:08:25 | Capture/Replay: Use resource ID maps in cpp replay. Introduces a new enum for resource ID types. This is used in auto- generated code to convert ParamType to resource ID map types. Also implements a lot of new parameter captures for gen/delete calls. Bug: angleproject:3611 Change-Id: I26cca1df88d1783d9830c89438c99f7593a70ea9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784059 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| db7a36f4 | 2019-09-17 00:22:32 | Revert "Vulkan: SwiftShader integration." This reverts commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1. Reason for revert: https://bugs.chromium.org/p/angleproject/issues/detail?id=3912 Original change's description: > Vulkan: SwiftShader integration. > > Adds a new EGL extension for picking SwiftShader when using the Vulkan > back-end. Also cleans up ICD enabling code RendererVk. Also includes a > change to a buffer size necessary to support SwiftShader's minimum > limits. > > 32-bit is currently left disabled to work around an issue on AMD Win7. > > Bug: angleproject:3876 > Bug: b/140251624 > Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org Change-Id: Id7464250f6941b0228a6b2a9bd0349823727275b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3876, b/140251624 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808101 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> | ||
| 2e16f639 | 2019-09-16 18:37:00 | Capture/Replay: Refactor cpp replay param writes. This makes a few more methods use static helpers. Introduces a DataCounters helper class that can manage tracking the names for particular local data members in the cpp replay. Prepares for a larger refactor to support resource ID maps. Bug: angleproject:3611 Change-Id: I25b4cc80cc3aa140c1cd15d9012c9542ba0cfc87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802743 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 1224802c | 2019-09-16 15:17:33 | Vulkan: SwiftShader integration. Adds a new EGL extension for picking SwiftShader when using the Vulkan back-end. Also cleans up ICD enabling code RendererVk. Also includes a change to a buffer size necessary to support SwiftShader's minimum limits. 32-bit is currently left disabled to work around an issue on AMD Win7. Bug: angleproject:3876 Bug: b/140251624 Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b5560486 | 2019-08-30 17:09:04 | BaseInstance VertexAttribDivisor fix Add tests not using gl_InstanceID/gl_BaseInstance but set vertexAttribDivisor which implicitly reference base instance value. Add fixes and workarounds based on this change. Bug: chromium:891861, angleproject:3402 Change-Id: I2d93c181029f4ca1741f244363568096964d6b19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779350 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 3a2e01ed | 2019-09-16 13:08:39 | Vulkan: Require sampling support for attachments. Since Framebuffer attachments can be copied from with CopyTexImage, we must require transfer support. This will affect the amount of formats we can expose correctly for different uses. Bug: angleproject:3876 Change-Id: I0343da94b5f8e05dca946e7029ffb8fdf155bb41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803756 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| d32dae1b | 2019-09-13 22:06:56 | Revert "EGL: Implement EGL_KHR_no_config_context" This reverts commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd. Reason for revert: https://crbug.com/1003971 Original change's description: > EGL: Implement EGL_KHR_no_config_context > > Add extension string and flag to all renderers that pass > Modify eglCreateContext to accept EGL_NO_CONFIG > Modify eglQueryContext per specification > Modify eglMakeCurrent to bypass surface-context config compatibility checks > Add check for client API > Create new end2end test EGLNoConfigContextTest > Disable on most renderers to prevent possible fail with future configs > > Bug: angleproject:3635 > Test: dEQP-EGL.functional.create_context.no_config* > angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* > Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org,m.maiya@samsung.com,j.vigil@samsung.com Change-Id: I849aa796803e3cda9b480a39be813ef9105325bb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3635 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803789 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> | ||
| 6caa2652 | 2019-09-11 08:06:13 | Vulkan: Support float textures and renderbuffers Fixed support in the vulkan backend for legacy GLES2.0 formats (luminance, alpha, luminance_alpha) Correctly exposed the following extensions: OES_texture_float OES_texture_half_float OES_texture_float_linear OES_texture_half_float_linear EXT_color_buffer_float EXT_color_buffer_half_float Some of the above extensions have different requirements depending on other extension support and the context client version, and were incorrectly assuming the most restrictive requirements to be exposed. Implemented end2end tests for: OES_texture_float OES_texture_half_float OES_texture_float_linear OES_texture_half_float_linear EXT_color_buffer_float EXT_color_buffer_half_float Bug: angleproject:2898 Bug: angleproject:2726 Test: ./angle_end2end_tests --gtest_filter='Texture2DFloatTest*' Change-Id: I7024aa1393eadafb5a0fb83c23e9035aae650b67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740276 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c4b1fbd6 | 2019-07-19 11:43:34 | EGL: Implement EGL_KHR_no_config_context Add extension string and flag to all renderers that pass Modify eglCreateContext to accept EGL_NO_CONFIG Modify eglQueryContext per specification Modify eglMakeCurrent to bypass surface-context config compatibility checks Add check for client API Create new end2end test EGLNoConfigContextTest Disable on most renderers to prevent possible fail with future configs Bug: angleproject:3635 Test: dEQP-EGL.functional.create_context.no_config* angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b1580a27 | 2019-08-27 18:08:56 | Vulkan: Set half float vertex format to valid in 2.0 context - OES_vertex_half_float extension requires this patch - Add end2end tests to verify OES_vertex_half_float extension BUG=angleproject:3191 BUG=angleproject:3802 Test: angle_end2end_tests --gtest_filter=*VertexAttributeTest.HalfFloatClientMemoryPointer* 3DMark Icestorm GT1 Change-Id: Ia597021a5ae6b4853ee1199989ec3f9cc23c7fac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793354 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1439b6d5 | 2019-09-06 07:27:49 | Vulkan: Fix integer overflow for max per stage and combined uniform buffers. This was causing dEQP-GLES3.functional.implementation_limits.max_fragment_uniform_blocks and dEQP-GLES3.functional.implementation_limits.max_combined_uniform_blocks to fail on Vulkan drivers that expose > INT_MAX maxPerStageDescriptorUniformBuffers or maxDescriptorSetUniformBuffers limits. Bug: angleproject:3824 Change-Id: I6c5a328ddefa43fedb2361448fe4cbe6c405ef4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1734786 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 4fdeb8d2 | 2019-09-12 10:08:15 | Vulkan: Reduce uniform block dynamic buffer size. This is to fit in the minimum required Vulkan limits that SwiftShader exposes. Bug: angleproject:3876 Bug: b/140251624 Change-Id: If1a36fc578675ebb07d3f6546689709882c174f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1801264 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 790abf03 | 2019-08-28 13:57:52 | Vulkan: Support program interface queries for inputs Program interface queries are a generic way to query attributes of the program like uniforms, samplers, attributes, etc. This change supports those queries for program inputs. Bug: angleproject:3596 Test: dEQP-GLES31.functional.program_interface_query.* Test: ProgramInterfaceTest.cpp Change-Id: Ie904274f4efd87357256f559b69e148e8eda6119 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775458 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 8ac49e18 | 2019-09-04 17:38:22 | Fix dEQP renderbuffer unspecified attachment test. The spec mandates default sizes of 0 for everything, while we assume a non-initialized Renderbuffer is RGBA4. Bug: angleproject:2321 Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_unspecified_attachment_x_size_rbo Change-Id: I7defbdda46fc90dc3672628667c710a8304473b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785881 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| d9456b25 | 2019-09-11 08:21:14 | Vulkan: Enable further dEQP 3.1 tests As TimVP pointed out, a previous change enabled some previously-skipped texture gather 2d_array tests. Enabling them. Bug: angleproject:3605 Bug: angleproject:3189 Change-Id: I3ad190131339a04441fdd05e23ff3b7ac724dc83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797655 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 0b8eca79 | 2019-09-10 10:39:40 | Capture/Replay: Fix CaptureShaderSource_string. Was accessing a buffer out-of-bounds. Also wasn't handling negative length. Test: ASAN build Bug: angleproject:3611 Change-Id: I0f1cfa09d0488de20928d90e910803d98c225968 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1796082 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 79ad0411 | 2019-09-09 15:05:37 | Vulkan:Pass through min/max program texel offset The Vulkan min/maxTexelGatherOffset VkPhysicalDeviceLimits correspond to OpenGL's GL_MIN/MAX_PROGRAM_TEXTURE_GATHER_OFFSET params. Pass them directly through. Bug: angleproject:3605 Change-Id: Ic6a22bbe30ee2b0baaeaa62b6e26dc844c2ad82d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793357 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 46c88567 | 2019-09-04 11:17:49 | Correct glCompressedTexSubImage3D() Parameter Checking GL_INVALID_OPERATION is generated if format is an ETC2/EAC format and the target is not GL_TEXTURE_2D_ARRAY. Bug: angleproject:3895 Test: dEQP-GLES3.functional.negative_api.texture.compressedtex*image3d Test: KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image Change-Id: I7f653192328f0bb067cc4a0c0285a2d3acec7024 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784060 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| c1af9abf | 2019-08-28 14:35:32 | Add support for overriding internal format for D3D11 texture EGLImages Add an optional EGL_D3D11_TEXTURE_FORMAT_ANGLE attribute that is the GL internal format to use for EGLImage being created. This will be used for RGB emulation of swap chain texture backed WebGL contexts in Chrome when they have alpha:false set. Without RGB emulation it is possible to observe side-effects of the underlying swap chain being RGBA such as reading/writing the alpha channel, BlitFramebuffer working/not working when expected, etc. Also document creating EGLImages from D3D11 textures in the existing EGL_ANGLE_d3d_texture_client_buffer extension along with RGB emulation. Bug: chromium:699566, chromium:939657 Change-Id: I4931cb7bdc46e9bc6debd56b79ecc10ea27bd78b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1777099 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> | ||
| f29125be | 2019-08-27 10:31:24 | Update the rules for unsized float renderability. dEQP uses the following rules for unsized float format renderability in ES2: HALF_FLOAT_OES + RED : GL_EXT_texture_rg and GL_OES_texture_half_float HALF_FLOAT_OES + RG : GL_EXT_texture_rg and GL_OES_texture_half_float HALF_FLOAT_OES + RGB : GL_EXT_color_buffer_half_float and GL_OES_texture_half_float HALF_FLOAT_OES + RGBA: GL_EXT_color_buffer_half_float and GL_OES_texture_half_float FLOAT + RED : GL_EXT_texture_rg and GL_OES_texture_float FLOAT + RG : GL_EXT_texture_rg and GL_OES_texture_float FLOAT + RGB : never FLOAT + RGBA: never BUG=angleproject:3283 Change-Id: I4c4c0d290d2c7dec45419a0765fa27b79f0ad774 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773304 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| eb4f2d50 | 2019-09-04 16:56:25 | Fix WebKit iOS build WebKit's iOS and Mac builds do conditional compilation with preprocessor directives rather than relying on the build system. Cocoa.h is not available on iOS, so these Objective-C files must be conditionally compiled. Bug: angleproject:3439 Change-Id: I8a1228f5b14ca6441c7d9a7f1c3f45d060003135 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785653 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| a7ff7df2 | 2019-09-03 11:22:21 | Vulkan: Improve wording of PresentSemaphores.md Bug: angleproject:3450 Change-Id: Iee5360a7b9cced403c08b7883fa11420e250244f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784065 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 32d6006b | 2019-09-06 10:10:08 | Don't block setting the DEPTH_STENCIL attachment based on the resource format. By blocking the attachment at this point, it doesn't allow for the resource to have a depth stencil format later. BUG=997702 Change-Id: Iec5243012cb9a9527c5b1467d44c393b0dc6bddc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780898 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 90a58622 | 2019-09-04 15:39:58 | Refactor ShaderVariable to Remove Specializations The following structs are being refactored and moved into the parent struct ShaderVariable: VariableWithLocation Uniform Attribute OutputVariable InterfaceBlockField Varying Bug: angleproject:3899 Test: CQ Change-Id: I389eb3ab4ed44a360e09fca75ecc78d64a277f83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785877 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 66e0feec | 2019-09-03 18:45:43 | Remove default template args in ResourceMap. Only need GLuints now for GLsyncs. Bug: angleproject:3611 Change-Id: Id8b11851d8d5d30e6743433c772b9fa85eb875f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783406 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d0e56cc6 | 2019-08-27 09:35:30 | Add fallback to write GLenum as hex in capture 1. Add extension 'GL_ANGLE_program_binary' to registry_xml.py, this extension brings enum 'GL_PROGRAM_BINARY_ANGLE' which ANGLE already supports. 2. Add a fallback for converting GLenum and GLbitfield to string, for any GLenum value not found in the conversion table, write out its hex value instead of 'EnumUnknown'. It prevents GLenum from some unregistered extensions breaking the frame capture. Bug: angleproject:3804 Change-Id: I36a676305fbbcff2173bbc9f818ff589abe51434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775028 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 0c35e0f4 | 2019-09-03 11:29:57 | Add null default backend environment variable option ANGLE_DEFAULT_PLATFORM environment variable now accepts 'null' as a valid option. This will set the default platform type to the null backend. Bug: angleproject:3893 Change-Id: Ieddcdf3ae840f927c1b276e56f3b753b67d9b73d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784062 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| 7e44ec26 | 2019-08-26 15:59:48 | GL_EXT_multisampled_render_to_texture extension. Part 1. Adding new parameters for extension without adding any real code change. Since no new code paths were added, we expect all tests to pass as before. Bug: angleproject:980428 Change-Id: I551b46a66f422eabd357fd021e00cf266a991efb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772377 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1f2782e0 | 2019-08-29 14:19:23 | Vulkan: fix unsized internalformat depth sampling Many implementations provide OES_depth_texture behavior if the texture was specified with a non-sized format (e.g. GL_DEPTH_COMPONENT). This change implements that behavior for Vulkan and adds a couple of tests to verify it. Bug: angleproject:3890 Change-Id: I005b1eaa30db033f7d78a5cf2236aab7f442b7f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764301 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 26a87516 | 2019-09-03 17:04:13 | Remove overlay font hash from codegen. This prevents a presubmit error on Windows. Seems like the binary file differs somehow. Remove it from the hashes until we can investigate. Bug: angleproject:3892 Change-Id: I4f06dbe37e3e02f9905654d202a8b4fba78b9323 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c3f7873b | 2019-08-30 15:00:52 | Use TransformFeedbackID in place of GLuint handle Bug: angleproject:3804 Change-Id: Ib8fbec89f28645790df98a184f47303f4a8d64c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779343 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| feb8507f | 2019-09-03 13:22:04 | Use VertexArrayID in place of GLuint handle Bug: angleproject:3804 Change-Id: I0454533eff13218a6aa1e1672ffcd0e76aedb399 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769716 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 050b124d | 2019-06-30 03:26:18 | Reland "Vulkan: Debug overlay" This is a reland of e54d0f90d1a165404236fd7abd1b05ddd041a686 This was reverted due to a build failure as a result of a missing virtual destructor in the widget base class. Original change's description: > Vulkan: Debug overlay > > A debug overlay system for the Vulkan backend designed with efficiency > and runtime configurability in mind. Overlay widgets are of two > fundamental types: > > - Text widgets: A single line of text with small, medium or large font. > - Graph widgets: A bar graph of data. > > Built on these, various overlay widget types are defined that gather > statistics. Five such types are defined with one widget per type as > example: > > - Count: A widget that counts something. VulkanValidationMessageCount > is an overlay widget of this type that shows the number of validation > messages received from the validation layers. > - Text: A generic text. VulkanLastValidationMessage is an overlay > widget of this type that shows the last validation message. > - PerSecond: A value that gets reset every second automatically. FPS is > an overlay widget of this type that simply gets incremented on every > swap(). > - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an > overlay of this type. On every vkQueueSubmit, the number of nodes in > the command graph is accumulated. On every present(), the value is > taken as the number of nodes for the whole duration of the frame. > - RunningHistogram: A histogram of last N values. Input values are in > the [0, 1] range and they are ranked to N buckets for histogram > calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay > widget of this type. On vkQueueSubmit, the memory waste from command > buffer pool allocations is recorded in the histogram. > > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py > processes to create an array of bits, which is processed at runtime to > create the actual font image (an image with 3 layers). > > The overlay widget layout is defined in overlay_widgets.json which > gen_overlay_widgets.py processes to generate an array of widgetss, each > of its respective type, and sets their properties, such as color and > bounding box. The json file allows widgets to align against other > widgets as well as against the framebuffer edges. > > Two compute shaders are implemented to efficiently render the UI: > > - OverlayCull: This shader creates a bitset of Text and Graph widgets > whose bounding boxes intersect a corresponding subgroup processed by > OverlayDraw. This is done only when the enabled overlay widgets are > changed (a feature that is not yet implemented) or the surface is > resized. > - OverlayDraw: Using the bitsets generated by OverlayCull, values that > are uniform for each workgroup (set to be equal to hardware subgroup > size), this shader loops over enabled widgets that can possibly > intersect the pixel being processed and renders and blends in texts > and graphs. This is done once per frame on present(). > > Currently, to enable overlay widgets an environment variable is used. > For example: > > $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste > $ ./hello_triangle --use-angle=vulkan > > Possible future work: > > - On Android, add settings in developer options and enable widgets based > on those. > - Spawn a small server in ANGLE and write an application that sends > enable/disable commands remotely. > - Implement overlay for other backends. > > Bug: angleproject:3757 > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:3757 Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 44a0e734 | 2019-09-02 13:55:59 | Re-enable -Wextra-semi-stmt. Now that the DEPS roller is fixed this should not be able to break the CQ. Bug: angleproject:3128 Change-Id: I0f51b5d8a7b71859cced335ca9bd6ad155637ec5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781619 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 9deb3bfa | 2019-08-23 15:57:50 | Use MemoryObjectID in place of GLuint handle Bug: angleproject:3804 Change-Id: I7ca86089fe1e72c136c0fc1947ad43cecee122eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769544 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fc58af47 | 2019-09-02 07:46:44 | Revert "Vulkan: Debug overlay" This reverts commit e54d0f90d1a165404236fd7abd1b05ddd041a686. Reason for revert: causes compile failure on Linux CFI bot. Sample build: https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI/14810 Sample log: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8903575125463586160/+/steps/compile/0/stdout?format=raw Original change's description: > Vulkan: Debug overlay > > A debug overlay system for the Vulkan backend designed with efficiency > and runtime configurability in mind. Overlay widgets are of two > fundamental types: > > - Text widgets: A single line of text with small, medium or large font. > - Graph widgets: A bar graph of data. > > Built on these, various overlay widget types are defined that gather > statistics. Five such types are defined with one widget per type as > example: > > - Count: A widget that counts something. VulkanValidationMessageCount > is an overlay widget of this type that shows the number of validation > messages received from the validation layers. > - Text: A generic text. VulkanLastValidationMessage is an overlay > widget of this type that shows the last validation message. > - PerSecond: A value that gets reset every second automatically. FPS is > an overlay widget of this type that simply gets incremented on every > swap(). > - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an > overlay of this type. On every vkQueueSubmit, the number of nodes in > the command graph is accumulated. On every present(), the value is > taken as the number of nodes for the whole duration of the frame. > - RunningHistogram: A histogram of last N values. Input values are in > the [0, 1] range and they are ranked to N buckets for histogram > calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay > widget of this type. On vkQueueSubmit, the memory waste from command > buffer pool allocations is recorded in the histogram. > > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py > processes to create an array of bits, which is processed at runtime to > create the actual font image (an image with 3 layers). > > The overlay widget layout is defined in overlay_widgets.json which > gen_overlay_widgets.py processes to generate an array of widgetss, each > of its respective type, and sets their properties, such as color and > bounding box. The json file allows widgets to align against other > widgets as well as against the framebuffer edges. > > Two compute shaders are implemented to efficiently render the UI: > > - OverlayCull: This shader creates a bitset of Text and Graph widgets > whose bounding boxes intersect a corresponding subgroup processed by > OverlayDraw. This is done only when the enabled overlay widgets are > changed (a feature that is not yet implemented) or the surface is > resized. > - OverlayDraw: Using the bitsets generated by OverlayCull, values that > are uniform for each workgroup (set to be equal to hardware subgroup > size), this shader loops over enabled widgets that can possibly > intersect the pixel being processed and renders and blends in texts > and graphs. This is done once per frame on present(). > > Currently, to enable overlay widgets an environment variable is used. > For example: > > $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste > $ ./hello_triangle --use-angle=vulkan > > Possible future work: > > - On Android, add settings in developer options and enable widgets based > on those. > - Spawn a small server in ANGLE and write an application that sends > enable/disable commands remotely. > - Implement overlay for other backends. > > Bug: angleproject:3757 > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org Bug: angleproject:3757 Change-Id: Ib08e2e7b1a9449ca097673acb11655df5d2bbf31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778862 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 912e52d8 | 2019-08-23 00:25:09 | Vulkan: Storage image support Image bindings are placed after atomic counters in the "resources" descriptor set. There are two issues yet to be addressed: - GL can create a 2D (array) view of a 3D image, but this is not allowed in Vulkan. If this cannot be made possible, emulation needs to be done. https://github.com/KhronosGroup/Vulkan-Docs/issues/1033 - GL can create an image view of a texture with a different format and have the data reinterpreted. This is not currently done. Bug: angleproject:3563 Change-Id: I95c4d92c50bb033212a9a67f3f2d6f97c074c7bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767366 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 93bb092f | 2019-08-31 13:44:28 | Fix build error Result of simultaneous submission of two CLs. Bug: angleproject:3757 Change-Id: I0e11678633587421f83d337958a1df28a694cf2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778967 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e54d0f90 | 2019-06-30 03:26:18 | Vulkan: Debug overlay A debug overlay system for the Vulkan backend designed with efficiency and runtime configurability in mind. Overlay widgets are of two fundamental types: - Text widgets: A single line of text with small, medium or large font. - Graph widgets: A bar graph of data. Built on these, various overlay widget types are defined that gather statistics. Five such types are defined with one widget per type as example: - Count: A widget that counts something. VulkanValidationMessageCount is an overlay widget of this type that shows the number of validation messages received from the validation layers. - Text: A generic text. VulkanLastValidationMessage is an overlay widget of this type that shows the last validation message. - PerSecond: A value that gets reset every second automatically. FPS is an overlay widget of this type that simply gets incremented on every swap(). - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an overlay of this type. On every vkQueueSubmit, the number of nodes in the command graph is accumulated. On every present(), the value is taken as the number of nodes for the whole duration of the frame. - RunningHistogram: A histogram of last N values. Input values are in the [0, 1] range and they are ranked to N buckets for histogram calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay widget of this type. On vkQueueSubmit, the memory waste from command buffer pool allocations is recorded in the histogram. Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py processes to create an array of bits, which is processed at runtime to create the actual font image (an image with 3 layers). The overlay widget layout is defined in overlay_widgets.json which gen_overlay_widgets.py processes to generate an array of widgetss, each of its respective type, and sets their properties, such as color and bounding box. The json file allows widgets to align against other widgets as well as against the framebuffer edges. Two compute shaders are implemented to efficiently render the UI: - OverlayCull: This shader creates a bitset of Text and Graph widgets whose bounding boxes intersect a corresponding subgroup processed by OverlayDraw. This is done only when the enabled overlay widgets are changed (a feature that is not yet implemented) or the surface is resized. - OverlayDraw: Using the bitsets generated by OverlayCull, values that are uniform for each workgroup (set to be equal to hardware subgroup size), this shader loops over enabled widgets that can possibly intersect the pixel being processed and renders and blends in texts and graphs. This is done once per frame on present(). Currently, to enable overlay widgets an environment variable is used. For example: $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste $ ./hello_triangle --use-angle=vulkan Possible future work: - On Android, add settings in developer options and enable widgets based on those. - Spawn a small server in ANGLE and write an application that sends enable/disable commands remotely. - Implement overlay for other backends. Bug: angleproject:3757 Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c3f57231 | 2019-08-28 15:00:46 | Vulkan: revamp present semaphore management See doc/PresentSemaphores.md for details. Bug: angleproject:3450 Bug: angleproject:3670 Change-Id: I52d5bd13a4af25f224d386c9584525c182af6f17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776880 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| f0640bc3 | 2019-08-23 10:26:25 | Use SemaphoreID in place of GLuint handle Bug: angleproject:3804 Change-Id: Iabaae60ed7cbbe423bf768c506099d26cf0dedcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768978 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d2766ce7 | 2019-08-30 15:26:17 | Vulkan: Generalize ICD decision for loader. This will allow a more flexible introduction of other ICDs like SwiftShader. Refactoring change only. Bug: angleproject:3876 Change-Id: I6883225645e0f961f699366368bebccd9812aaec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775463 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 0b1fbcff | 2019-08-30 15:05:12 | Vulkan: Make vk::ImageView pointers const Bug: angleproject:3563 Change-Id: I8b6415dd9508941d093f36e7ded72d25f571b6f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779204 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2b7e2acb | 2019-08-30 13:26:37 | Vulkan: Move loader defines into BUILD.gn. We shouldn't need the extra loader defines config variable. The defines we need should probably be able to be located in ANGLE entirely. Bug: angleproject:3320 Bug: angleproject:3876 Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 2c5d48a6 | 2019-08-23 09:28:35 | Use FramebufferID in place of GLuint handle Bug: angleproject:3804 Change-Id: I5e1b5f1903b05a91468379e00ec130802315cdc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769039 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com> | ||
| eb68081e | 2019-08-28 15:28:54 | Vulkan: Split Vulkan docs from README.md into doc/ This is in preparation for adding more docs and migrating internal ones. Bug: angleproject:1944 Change-Id: I7aa4d708c9cd6134ef4ded00a82890448988ce9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773907 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| dca10129 | 2019-08-29 16:48:37 | SystemInfo: Add Google VendorID. This enables SwiftShader detection. Bug: angleproject:3876 Change-Id: Ic4ebfb5b431771c31298af7349d0370df913e596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773853 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 56ba54cc | 2019-08-08 13:03:34 | Support separate read and draw surfaces in eglMakeCurrent Update ANGLE's default framebuffer implementation to support reading and writing to different surfaces within the same framebuffer. Bug: angleproject:2620 Test: EGLSurfaceTest[3] Change-Id: I4b1ea04ca87a751f80cf190bf3adec148fc4fce3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744746 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 120b61d3 | 2019-08-21 12:51:58 | Use ShaderProgramID in place of GLuint handles Bug: angleproject:3804 Change-Id: I5dc640004c2cc054c53261e8e939b6a9f5fc23bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762363 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| aae21ef6 | 2019-08-29 21:56:06 | Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files"" This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150. Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016 Original change's description: > Reland "Vulkan: Use VK repos' internal BUILD.gn files" > > This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 > > Original change's description: > > Vulkan: Use VK repos' internal BUILD.gn files > > > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > > files so switched ANGLE to use those by default. > > Also Validation Layer, Loader, and Tools repos no longer uses codegen > > so this speeds up the build overall. > > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > > to VK_LAYER_KHRONOS_validation unified layer. > > > > This changes includes a temporary workaround to the Vulkan-Loader repo > > to remove its Window's build dependence on WDK. There are plans to > > remove that depenedence in Loader master, but until then we can use > > our custom branch workaround. > > It also includes a custom branch for validation layers that includes > > some build fixes for ANGLE. > > Finally, the layers were crashing on Android when attempting to use > > DebugUtils extension so forcing DebugReport on Android for now. > > > > Bug: angleproject:2449 > > Bug: angleproject:3320 > > Bug: angleproject:3852 > > Bug: chromium:997009 > > Bug: chromium:997016 > > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Tobin Ehlis <tobine@google.com> > > Bug: angleproject:2449, angleproject:3320, angleproject:3852 > Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 > Commit-Queue: Tobin Ehlis <tobine@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 0ad1559f | 2019-07-18 15:10:49 | Reland "Vulkan: Use VK repos' internal BUILD.gn files" This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Bug: chromium:997009 > Bug: chromium:997016 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> Bug: angleproject:2449, angleproject:3320, angleproject:3852 Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| d8e821aa | 2019-08-29 12:38:35 | Expand the TextureGL::releaseTexImage size reset workaround to Win AMD. Windows 10 AMD drivers have also had issues with generating errors when calling glTexImage2D with zero size after unbinding a surface. BUG=angleproject:3859 Change-Id: Iae3e31418b6c89056d0d4aab954519598d8f25f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775111 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| d3b31037 | 2019-08-29 13:45:43 | Vulkan: DispatchIndirect in graph dump output Bug: angleproject:3601 Change-Id: Ib7e5abea3a9fced88f415c6395a3f790aadafdaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776008 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 324b3915 | 2019-08-29 08:19:11 | Vulkan: Fix compute shader bug affecting 10_10_10_2 formats When the source format is 10_10_10_2, valueBits needs to be "2" if the component is "3" i.e, the alpha channel. It was incorrectly set to "10" for all components Bug: angleproject:3866 Change-Id: If206c63d704a7a485681e483e12ae9ab611b0d99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775105 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| c43852aa | 2019-08-27 13:38:29 | Various fixes for frame capture 1. Use contextId as identifier to separate captures for different GL context. 2. Fix write string params. In order to keep consistent between replay and capture, changes have been made to store C style string (with '\0' suffix) for string param capture, which breaks cpp frame capture. This change fixes it. 3. On Android device, it use a custom path to save captures and it breaks the loadBinaryData(). Here differentiate file name and file path to fix it. Bug: angleproject:3804 Change-Id: I378cf26697d15f0c1a8cf7afea2b758f5c58498b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774469 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 5d27a696 | 2019-08-13 11:29:07 | Support separable shader programs The spec states: Shader stages including vertex shaders, fragment shaders, and compute shaders...A single program object can contain all of these shaders, or any subset thereof. This change allows shader programs without a fragment shader. The biggest driver of this change is dEQP since a large number of tests create shader programs without a fragment shader. Bug: angleproject:3803 Test: dEQP-GLES31.functional.program_interface_query Change-Id: Id6cb098c62a1489a14b9ec1b31bd4cd59f655e49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752010 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 378c1881 | 2019-08-22 16:55:39 | Use ProgramPipelineID in place of GLuint handle Bug: angleproject:3804 Change-Id: Ice37a4b3d43008e5bcd5d0a7528514d5bb504066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767322 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com> | ||
| 8933de85 | 2019-08-28 13:04:47 | Vulkan: Expose EXT_instanced_arrays Implemented in https://chromium-review.googlesource.com/c/angle/angle/+/1452740 was missing exposure from the Vulkan backend. Bug: angleproject:3105 Change-Id: If82e6f3dfa5ff8fafbc401258a5e324ea311123d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773906 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 7b5744f4 | 2019-08-22 16:26:35 | Use PathID in place of GLuint handle Bug: angleproject:3804 Change-Id: Ibadfc2c33e4af1cca22caa1dbe96ac48a4a85ffa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1766822 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com> | ||
| 814a0a1b | 2019-08-22 11:50:43 | Use QueryID in place of GLuint handle Bug: angleproject:3804 Change-Id: I921bbe7f67c025ab2b624fe14530c04ac17346f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765889 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com> | ||
| 7cd5f64a | 2019-08-21 20:03:49 | Move default ANGLE platform type out of main switch/case The "default" platform type isn't really a discrete type, and treating it that way leads to duplication. Make the default platform just map to another platform enum. After this change, setting args to angle_enable_opengl=false angle_enable_vulkan=true under X11 results in a default of vulkan; previously we would hit UNREACHABLE() due to not handling this case. Bug: angleproject:3847 Change-Id: I1dc093ef8a2f5b93721cb1ebda0a8c3ec4a7d2f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521321 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org> | ||
| 05114fe7 | 2019-08-09 15:45:56 | Support in memory frame capture replay Enable FrameCapture to dispatch its calls back to Context and replay them. Bug: angleproject:3785 Change-Id: I580eff1fca3e39414a9b45bb296e0f3866ea33bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747055 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 886698bc | 2019-08-27 16:48:07 | Vulkan: Style cleanups to TextureVk. Pass params by const & and use "CPU instead of "Cpu" naming. Also prefer "ContextVk *contextVk" to "ContextVk *context". Bug: angleproject:2464 Change-Id: I887de5b2e5494d14f0e9c7db269eb63744f2a3cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771499 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9288dcf6 | 2019-08-27 15:00:35 | Vulkan: Remove command buffer param from initImage. This method didn't use the parameter. Removing it simplifies the code. Bug: angleproject:2464 Change-Id: Ib8f5f649f66eae405fb91f7cfcc8cefc4c44bda2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771992 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2a19c59f | 2019-08-23 14:10:24 | GL: Check for errors around GL calls. Add a macro to check for GL errors after each GL call to catch errors as they happen even if the debug callbacks are unavailable. GL errors are only checked when asserts are enabled unless explicitly requested with the ANGLE_GL_TRY_ALWAYS_CHECK macro to verify GL calls that may allocate memory. Updated TextureGL to use the macro. BUG=angleproject:3020 Change-Id: I7678b204899e940824b010ab4be7e7f159bee6de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 57ad1e12 | 2019-08-23 14:53:26 | Vulkan: Introduce ContextScoped Scoped is changed to DeviceScoped and a ContextScoped class is added. The former destroys objects at the end of scope, and the latter releases them. Bug: angleproject:3757 Change-Id: Ia0bbded53e94af9c8c72c77d07306d6724c6c409 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769060 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| cd31f286 | 2019-06-25 14:22:41 | Implement Draw base vertex and base instance functions This patch implements functionality of glDrawArraysInstancedBaseInstanceANGLE, glDrawElementsInstancedBaseVertexBaseInstanceANGLE, glMultiDrawArraysInstancedBaseInstanceANGLE, and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE Workaround for OpenGL driver on Mac: gl_VertexID on Mac with AMD GPU doesn't include baseVertex value. So replace gl_VertexID with (gl_VertexID + angle_BaseVertex) if any. Workaround for Vulkan GLSL: gl_InstanceIndex on Vulkan includes baseInstance. So replace gl_InstanceIndex with (gl_InstanceIndex - angle_BaseInstance) when angle_BaseInstance is declared. Bug: chromium:891861, angleproject:3402 Change-Id: Ia1d94b5d4d7da7e635468c05c962c4f7eb1b1919 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750126 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 962503e7 | 2019-08-21 13:18:30 | Use FenceNVID in place of GLuint handles Bug: angleproject:3804 Change-Id: I29c16e17c3a426efbbf0b60670581962ee505f3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764298 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 87b106a0 | 2019-08-26 10:42:06 | Fix trace logging in Debug. - fix crash when logging an invalid context - output to trace even when platform logging is on Bug: angleproject:3815 Change-Id: I725f5728e1d839e3d8458579ad1958cb775d9ecf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769505 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f2f111d7 | 2019-08-26 14:37:39 | LoggingAnnotator: don't output to trace file if there is no platform This is a revert of a small chunk of https://chromium-review.googlesource.com/c/angle/angle/+/1761163 that is suspect to cause weird failures on the GPU FYI waterfall in Debug on Windows, maybe because the many disk writes are too slow. BUG=chromium:997667 TBR=jmadill@chromium.org Change-Id: Ifb799d2ed90682e55e5cc7c0ce21d2598bf30c9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768371 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 3c6b2e16 | 2019-08-23 15:12:32 | More improvements to trace logging. - output 'glDrawArrays' instead of 'DrawArrays' - output context IDs for multithreaded scenarios - output to trace even when platform logging is on - fix newlines in trace file output Bug: angleproject:3815 Change-Id: Ie07c5c91d9eae6204aaf6f6319ef318b88d292aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761163 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 83a369bb | 2019-08-14 10:39:34 | Vulkan: Improve cubemap emulation seam handling Changes seamful cubemap emulation to always compute the derivative, emulating the bias parameter by scaling the provided derivatives. This results in more accurate mipmap levels for seams within primitives. There are some artifacts as a result of how derivatives are calculated, but this matches the native driver. Bug: angleproject:3243 Bug: angleproject:3732 Change-Id: Icb976e2a7e14cb4210645571edc037d4e607bd0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754383 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e2ea45ba | 2019-08-23 14:05:53 | Don't reset the texture size to zero in TextureGL::releaseTexImage on Mac. After unbinding IOSurface textures, we reset the texture size to 0 because some platforms don't correctly update their state tracking. This call ends up generating GL_INVALID_OPERATION errors on Mac for unknown reasons. Skip the call, the size reset is not required on Mac anyways. BUG=angleproject:3859 Change-Id: I5e39b6a36aaff41082a5fcc923970f8e97774675 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769059 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 2ed7b290 | 2019-08-23 13:56:22 | GL: Unset the bound PBO when initiailizing texture data. If a PBO is bound when uploading the initialization data, GL erorrs or crashes can happen. Covered by tests added in https://chromium-review.googlesource.com/c/angle/angle/+/1764476 BUG=angleproject:3858 Change-Id: I16963b1c09b5b173665a87f77296607f8639c975 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769058 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 83c24aa8 | 2019-08-21 12:28:18 | Vulkan: Reference Context fences in FenceSyncVk. A particular test waits on a fence that was created in another Context. Then it immediately destroys all other resources. This triggered a bug where the VkEvent corresponding to the FenceSync was deleted while it was still in use by a command buffer. Fix this by referencing the other submit fence of the second ContextVk in the FenceSync class. Bug: angleproject:2464 Change-Id: I4ef096bf760aa8943db08d491006c68e36db993b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757505 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 0aa11026 | 2019-08-23 13:13:33 | Only log D3D11 annotations from the thread used to initialize the annotator. Chrome makes some ANGLE calls from multiple threads for initializing WebXR buffers which breaks the assumption that DebugAnnotator11 is only called from a single thread. Work around this by only allowing DebugAnnotator11 to log annotations from the thread used to initialize it. BUG=995888 BUG=972914 Change-Id: I2241e078031633cafea470f85b7b1ecf1fba8466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769057 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 1d5aaa6c | 2019-08-06 11:20:13 | Vulkan: support dynamic indices in array of arrays Expands existing struct-sampler rewrite to flatten arrays of arrays. This allows us to support dynamically-uniform array indexing, which is core in ES 3.2. Samplers inside (possibly nested) structs are broken apart as before, and then if the type resulting from merging the array sizes of the field and its containing structs is an array of array, the array is flattened. Also adds an offset parameter to functions taking in arrays to account for this translation. As a result of outer array sizes leaking into function signatures, functions taking arrays of different sizes are duplicated according to how the function is invoked. Bug: angleproject:3604 Change-Id: Ic9373fd12a38f19bd811eac92e281055a63c1901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744177 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 3b46885e | 2019-07-30 16:50:36 | Vulkan: Implement EXT_texture_type_2_10_10_10_REV - Expose GLES 3.0 feature of 2_10_10_10_REV texture type on GLES 2.0 as EXT. - Handle alpha channel value as 1.0 when used with RGB format. - Add test for "RGB+UNSIGNED_INT_2_10_10_10_REV" case into TextureUploadFormatTest. BUG=angleproject:3232. Test: dEQP-GLES2.capability.extensions.uncompressed_texture_formats.GL_EXT_texture_type_2_10_10_10_REV dEQP-GLES2.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev dEQP-GLES3.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev KHR-GLES2.core.internalformat.*2_10_10_10_rev* KHR-GLES3.core.internalformat.*2_10_10_10_rev* Change-Id: Iac00517971f9242161115c7256117a69093fb5df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732618 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 472c74c6 | 2019-08-19 16:32:13 | Translator: Allow tree validation in children of TCompiler This is to be able to perform validation inside TranslatorVulkan, even if it's through ASSERTs. Additionally, every transformation is changed such that they do their validation themselves. TIntermTraverser::updateTree() performs the validation, which indirectly validates many of three tree transformations. Some of the more ancient transformations that don't use this function directly call TCompiler::validateAST. Bug: angleproject:2733 Change-Id: Ie4af029d34e053c5ad1dc8c2c2568eecd625d344 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761149 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 5f3c98de | 2019-08-23 01:05:38 | Revert "Vulkan: Use VK repos' internal BUILD.gn files" This reverts commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6. Reason for revert: Causing flakiness in "confirm no-op" CQ step. See issue for more details. Bug: chromium:997016 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 552f5fcb | 2019-07-18 15:10:49 | Vulkan: Use VK repos' internal BUILD.gn files This retires custom BUILD.gn files for the Vulkan Headers, Tools, Validation-Layers, and Loader repos. They now have integrated BUILD.gn files so switched ANGLE to use those by default. Also Validation Layer, Loader, and Tools repos no longer uses codegen so this speeds up the build overall. Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer to VK_LAYER_KHRONOS_validation unified layer. This changes includes a temporary workaround to the Vulkan-Loader repo to remove its Window's build dependence on WDK. There are plans to remove that depenedence in Loader master, but until then we can use our custom branch workaround. It also includes a custom branch for validation layers that includes some build fixes for ANGLE. Finally, the layers were crashing on Android when attempting to use DebugUtils extension so forcing DebugReport on Android for now. Bug: angleproject:2449 Bug: angleproject:3320 Bug: angleproject:3852 Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| ee79e2ff | 2019-08-20 11:28:36 | Use SamplerID in place of GLuint handles Update all Sampler handles to type SamplerID, preparing for midframe capture of sampler. Bug: angleproject:3804 Change-Id: I9337919f97d61e28718987612d642c569b90246a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761780 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 91dc5da8 | 2019-08-21 15:17:50 | WebKit requires "Web" as prefix to Objective-C class names WebKit's build process requires that every Objective-C class name begin with the prefix "Web". While this is unfortunate, we only have one Objective-C class in the codebase that needs to change so we might as well just do it. Bug: angleproject:3439 Change-Id: I07d1f5478b067f680971d0f24befe2f63651c735 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764649 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | ||
| 617f23d1 | 2019-08-12 10:11:53 | Fix frame capture build for Android Bug: angleproject:3611 Change-Id: I65018823a8d7223de0f63ea5bd6a573f62f1c24b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748884 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 24456989 | 2019-08-20 12:30:38 | Fix incorrect parameter in gl_angle_ext.xml The first parameter of glGetFramebufferParameterivRobustANGLE should be `GLenum target`. Bug: angleproject:3826 Change-Id: Ice4ea265389794a51838d8e61fff774c55588512 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762714 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiacheng Lu <lujc@google.com> |