Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 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> | ||
| 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> | ||
| 20bb47d3 | 2019-09-16 12:55:30 | Skip a angle_end2end_tests on Linux Intel OZone. Texture2DFloatTestES2.TextureFloatRenderTest/ES2_OpenGLES R=jmadill@chromium.org Bug: chromium:1003971 Change-Id: I96d858bbfbbaa7d98d9a7488cb98e0c1fca18ba3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1807581 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| a3c7c2ff | 2019-09-02 13:17:26 | Vulkan: Lift failing Wintel test expectation. MaxTextureSizeTest.SpecificationTexImage Bug: angleproject:2690 Change-Id: I19aad34e7213fe34af434f368968a06adc31ab55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781617 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 91180c48 | 2019-09-02 14:33:11 | Also skip ComputeShaderTest.UniformDirty/ES3_1_Vulkan on Win/NVIDIA The test is failing since the suppression was lifted. BUG=angleproject:3879 Change-Id: Ic2d45db7f7e2388c0c0040183c8760ee6a8fcb08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778863 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> | ||
| 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> | ||
| 566c2e3c | 2019-08-28 18:37:58 | Suppress correct failure on Android FYI Release (NVIDIA Shield TV) TBR=geofflang@chromium.org BUG=chromium:998505 Change-Id: I8e49ee063c2e06f5031a288c5fe32fd7683fcd7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774723 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 7f00d338 | 2019-08-28 15:19:16 | Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV) These were fixed on desktop drivers but not this Android driver. TBR=geofflang@chromium.org BUG=chromium:998505 Change-Id: Ie5f434c52753beff4d8f119713ef55f229ee7b95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773253 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@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> | ||
| 76a93c33 | 2019-08-21 13:21:52 | Remove skipping of several tests on NVIDIA since they are now passing Remove skipping of several tests on NVIDIA since they are now passing. - MissingReturnStructOfArrays - DrawWithLevelsOutsideRangeWithInconsistentDimensions - TextureFormatChangesWithBaseLevel - TextureLuminance16Implicit BUG=angleproject:3849 BUG=angleproject:1305 BUG=angleproject:596 Change-Id: Ie3c3ba6634a251a7320a61c6c4cc03cb178db925 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763964 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@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> | ||
| 27a8b32f | 2019-08-23 10:06:03 | Vulkan: Enable ES1_VULKAN testing in end2end tests. Bug: angleproject:3408 Change-Id: I19b3c0f4795130638f43eabfe9c6f41ff85521fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@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> | ||
| 563f9f81 | 2019-08-23 11:59:30 | Suppress failure in MultisampleCompatibilityTest Started failing on Win10 Intel Vulkan recently. Bug: angleproject:3855 Change-Id: I817ac2ffc593a9aac922dae0f5a8fb482940aa62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769077 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| 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> | ||
| 5f45432f | 2019-08-22 15:34:57 | Add several angle bugs for end2end tests failing on NVIDIA Add several angle bugs for end2end tests failing on NVIDIA. - TwiceMaxVaryingVec2 failing on GLES - MipLevels failing on Shield GLES - GenerateMipmapCubeBaseLevel failing on GL BUG=angleproject:3849 BUG=angleproject:3850 BUG=angleproject:3851 Change-Id: I6e5283f0d4c1c5da8259034dfda3beb94e041b21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768016 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 68c4fec0 | 2019-08-23 09:48:41 | Add AtomicCounterIncrement test case Add AtomicCounterIncrement test case. BUG=angleproject:3246 Change-Id: I6e74f349b758c3ae9fcb44a14e70d36495406dfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768017 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@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> | ||
| a9389dfe | 2019-08-23 15:22:35 | Revert "Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA" This reverts commit aac491fcdb31b7cea6d60db8787531b3acc87cd0. Reason for revert: This test is still failing on the Win7 NVIDIA bots: https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20Release%20%28NVIDIA%29/6206 https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20%28NVIDIA%29/6261 Original change's description: > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA > > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA. > > BUG=angleproject:2280 > > Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=kkinnunen@nvidia.com,jmadill@chromium.org,svaisanen@nvidia.com Change-Id: Ib7802e66b68419f7aa3dabf3a308811d36c52ff2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2280 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769076 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| d6c7fec1 | 2019-08-12 16:46:57 | Vulkan: Support mixed column/row-major buffer fields Adds comprehensive tests for mixed column/row-major interface blocks, which flush out various bugs in different OpenGL drivers too. Bug: angleproject:3443 Change-Id: Ie88cca743373891bbb49d9f564f30407475e07fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749334 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| aac491fc | 2019-08-21 13:21:52 | Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA. BUG=angleproject:2280 Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2f07e4fb | 2019-08-02 10:41:56 | Add test for array of arrays of samplers This test fails on the Vulkan backend because Vulkan does not allow arrays of arrays of samplers. Also adds a few other tests relating to arrays of arrays. Test: ./angle_end2end_tests --gtest_filter='GLSLTest_ES31.*' Bug: angleproject:3604 Change-Id: I5c47119b6ba6d26fe30fdd9c6730caac6f222696 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733476 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| cdecd97c | 2019-06-25 14:22:41 | Add Draw base vertex and base instance function entrypoints Split from https://chromium-review.googlesource.com/c/angle/angle/+/1705035/27 This patch adds entrypoints glDrawArraysInstancedBaseInstanceANGLE, glDrawElementsInstancedBaseVertexBaseInstanceANGLE, glMultiDrawArraysInstancedBaseInstanceANGLE, and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE Implementation will come in a later separate patch. Bug: chromium:891861, angleproject:3402 Change-Id: I18e19b850cddd79be4798b9ae7efe0680a050c7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750125 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 188b679b | 2019-08-15 09:02:43 | Remove GL/EGL function pointers from tests. The auto-gen loader code should be able to handle all these cases. Bug: angleproject:3393 Change-Id: If0a90fb29d79f2892fdf76fe0cb91ed0036ee1e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756083 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 9d737966 | 2019-08-14 12:25:12 | Standardize copyright notices to project style For all "ANGLE Project" copyrights, standardize to the format specified by the style guide. Changes: - "Copyright (c)" and "Copyright(c)" changed to just "Copyright". - Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1"). - Fixed a small number of files that had no copyright date using the initial commit year from the version control history. - Fixed one instance of copyright being "The ANGLE Project" rather than "The ANGLE Project Authors" These changes are applied both to the copyright of source file, and where applicable to copyright statements that are generated by templates. BUG=angleproject:3811 Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 99cffe5d | 2019-08-01 17:10:50 | Vulkan: Fix glCopyTexSubImage3D() Update glCopyTexSubImage3D() to account for the requirements necessary for VK_IMAGE_TYPE_3D. Bug: angleproject:3765 Test: KHR-GLES2.texture_3d.copy_sub_image.rgba8 Test: angle_end2end_tests CopyTexImageTestES3 Change-Id: Ife3d768323d0cfe2a53e5ae4c47a0747d65981bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730637 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 2ab08edc | 2019-08-12 16:20:21 | Use TextureID in place of GLuint handles. Bug: angleproject:3611 Change-Id: Ie6156e8732b3ca4dc6c4439c059a5481a4dfd250 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738753 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d48d38ce | 2019-08-09 11:03:35 | Vulkan: Restore DrawBuffersTestES3.3DTextures on Intel Linux The test was failing due to ANGLE changes, not the target itself. It is unclear why this was the only one showing Vulkan validation errors, but it is passing now. I believe we were using recycled rendertarget views. Bug: anglebug:3784 Change-Id: I256165954c9933b211bcc04b94172e13fa5a3a70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745850 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| d53944cc | 2019-08-09 12:09:32 | Disable AtomicCounterBuffer tests on Vulkan If a shard executes a Vulkan test first, it sets the window's pixel format to something that the gl backend doesn't agree with. This causes subsequent OpenGL tests to all fail, and eventually leads to a crash. This disables AtomicCounterBuffer tests on Vulkan so that every shard starts with some OpenGL test first (note that AtomicCounterBuffer is alphabetically the first test suite). Bug: angleproject:3738 Change-Id: Ifc32e7884e53ec2a10eb939cf23e5db7fa66f8b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745359 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| eb0479e2 | 2019-07-24 14:15:56 | Vulkan: Texture 3D and 2DArray layers as framebuffer attachments Support glFramebufferTextureLayer by correctly handling layers from 3D and 2DArray textures. Modeled after CubeMap layers support. Bug: angleproject:3188 Bug: angleproject:3189 Change-Id: Ic73a6017134e9d2b49beed103487454397a97167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738436 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| c9ba782a | 2019-08-05 16:14:22 | Vulkan: Support atomic counter array of arrays Previously, it was assumed that a function argument is either AC or AC[i], and it was converted to AC or AC+i respectively. The code is changed to support any number of dimensions and subscripts, using array size information from AC's type. If AC is an array of array (atomic_uint AC[N][M][R]), the following index calculations are done. AC -> AC.arrayIndex AC[i] -> AC.arrayIndex + i*M*R AC[i][j] -> AC.arrayIndex + i*M*R + j*R AC[i][j][k] -> AC.arrayIndex + i*M*R + j*R + k A test is added to exercise these various forms of indexing: AtomicCounterBufferTest31.AtomicCounterArrayOfArray Bug: angleproject:3566 Change-Id: I1e181a7363463d1d0ee4916f35006ed7c58e0f7c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739488 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 4c833efb | 2019-07-11 11:29:35 | Vulkan: Enable sampler objects This is the initial implementation to get GLES3.0 Sampler Objects working on the Vulkan backend. When samplers are dirty, a corresponding Vulkan sampler object will be created with associated state and textures are flagged as dirty anytime sampler bindings change. Then when handling textures dirty, any bound sampler objects are pulled from active texture units. When sampler objects are bound, their state is used instead of the built-in texture's sampler state. This change also adds a test that uses the same texture object with different sampler objects to test a corner case that dEQP misses. Bug: angleproject:3208 Change-Id: I643d9c9d5cb92fecc02dad815a07bcf349534c70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706897 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 7270a6d5 | 2019-08-06 16:01:42 | Fix ShaderStorageBufferTest31.LoadAndStoreBooleanVarAndArray to be more correct The test contained bugs which made it fail on multiple platforms. After mapping SSBO, access the data with GLuint instead of GLboolean. The elements in the SSBO are 4 machine units, even though the SSB talks about bools. A bvec2 declared after bool in the SSB has alignment requirements. The test asserts that a shader written result is zero. In this case it needs to initialize the result buffer to non-zero in order to prove that the shader put the zero there. Bug: angleproject:3749, angleproject:1951 Change-Id: Iad8301be7f9e9df6bbed6b390d9c415d4e437c1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738909 Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 7424fe8b | 2019-08-07 18:29:13 | Skip BufferDataOverflowTest.VertexBufferIntegerOverflow on Win NVIDIA D3D11. Due to flaky timeout. Bug: angleproject:3786 Change-Id: I9881dcf4bcb2c958c7e5d26cba635d9cf3ff7f1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743050 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 93560ef5 | 2019-07-25 16:13:02 | Vulkan: Seamful cube map emulation In GLSL, a cube texture is sampled with one of textureCube* functions. This function takes a 3D coordinate which is a vector from the center of the cube and identifies a direction to sample from. GLES2.0 has the following table that translates this 3D coordinate (Rx, Ry, Rz) to a face and ST coordinates within that face. This table can be found in Section 3.7.5 (Cube Map Texture Selection). A compiler pass is implemented in ANGLE that replaces samplerCube declarations with a sampler2DArray. The textureCube* functions are replaced with the corresponding texture* functions with the translated coordinates according to that table. Gradients provided to textureCubeGrad are translated using the same formulae, which is not precise but the spec specifies this projection to be implementation dependent. Helper invocations enabled through WQM (whole quad mode) cause a nuisance in that the extrapolated varyings used as coordinates in a textureCube call could have a different major axis (and therefore face) from the non-helper invocations that lie within the geometry. subgroupQuadSwap* operations are used in conjunction with gl_HelperInvocation to make sure the helper threads calculate texture UVs in the same face as the non-helper invocations. Bug: angleproject:3300 Bug: angleproject:3240 Bug: angleproject:3243 Bug: angleproject:3732 Change-Id: I0cb6a9b1f2e1e6a392b5baca1c7118ed1c502ccf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715977 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 483ee3fa | 2019-08-07 14:53:37 | Remove ShaderStorageBufferTest test skips for bug 2990, bug is marked fixed Unskip ShaderStorageBufferTest tests that reference bug angleproject:2990, the bug is marked fixed and the tests pass. Bug: angleproject:2990 Change-Id: I378f648baa1caf44c5e5280c1580abaefcbe6cba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742146 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 7c8928d0 | 2019-07-24 10:39:40 | Add more tests covering gl::vertexAttribPointer 1. Add tests ensuring VBO binding with format requiring conversion in vulkan backend is converted correctly after binding and offset changes. 2. Add tests ensuring VBO binding switching between CPU and GPU handles correctly in vulkan. As for vulkan, it transfers CPU side memory into tightly packed buffer and may causing a stride change. Bug: angleproject:3256 Change-Id: I5d9d78670b28bec286b96d3b6a9c6211da3f3d9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716614 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c13ca2af | 2019-07-17 15:46:29 | Vulkan: Allow more than one atomic counter buffer binding dEQP assumes there are more than one atomic counter buffers available. This is technically not a requirement by the standard, but nevertheless could be what applications expect as well. This change adds support for multiple atomic counter buffer bindings. This is done by declaring an array of storage buffers for the atomic counter buffers (instead of declaring only one) and passing the (binding, offset) pair around to functions instead of just the offset. The atomic counter is found by indexing `binding` into the storage buffer array first before indexing `offset` into its `uint[]`. ProgramVk's default uniform collection is also fixed not to include atomic counter uniforms. A remaining issue is that atomic counter buffer offsets don't have alignment requirements in GLES, but Vulkan does for storage buffers. Similar to emulated transform feedback buffer offsets, these should be sent to the shader through uniform values. This will be done in a follow up change. Bug: angleproject:3566 Change-Id: I5600225c24c38f1a8ecf5c64388073055733197d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707931 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 626a7280 | 2019-07-08 15:11:59 | Vulkan: Implement framebuffers without attachments It is possible to render to a framebuffer object that has no attachments. However, the rasterization of primitives is always based on the area and characteristics of the bound framebuffer. These characteristics (size, number of samples, etc.) would normally be defined by the attached images. If no images are attached, these characteristics are defined by their default values. Bug: angleproject:3579 Test: dEQP-GLES31.functional.fbo.*no_attachments* Test: dEQP-GLES31.functional.state_query.framebuffer_default.* Change-Id: I9580b924ac810db573cd8df96273fbb01bbb1f73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690688 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 593b1a6c | 2019-07-30 10:02:22 | Vulkan: Fix array handling in default uniforms Changes default uniform block layout generation to only remove the first array subscript, which causes arrays of arrays to be recognized correctly. Bug: angleproject:3604 Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.shaders.arrays*' Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.program_interface_query.*array*array*' Change-Id: Ifacc665cae87c651253e5cb8d929178d7fc92817 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724906 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: James Dong <dongja@google.com> | ||
| a0d010ab | 2019-08-01 11:05:21 | Disable atomic counter buffer tests on AMD/Windows/GL Second attempt at fixing this bot: https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28AMD%20RX%20550%29 Bug: angleproject:3738 Change-Id: I8e8626cc911df9dae82c542b2dde8696f10e49bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731130 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e995d7fb | 2019-06-26 17:59:27 | Use memoryBarrier to sync image load and store Image load and store are incoherent memory access operations, so need to use memoryBarrier to ensure the visibility of incoherent memory access operations with other operations. Bug: angleproject:3044 Change-Id: I4d474d260a3199c026911de8d20878cd327d16c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677420 Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 1dbbc7b3 | 2019-07-31 17:49:39 | Skip couple TextureBorderClampIntegerTestES3 tests. TextureBorderClampIntegerTestES3.TextureBorderClampInteger/ES3_OpenGL TextureBorderClampIntegerTestES3.TextureBorderClampInteger2/ES3_OpenGL failing on Win10 FYI x64 Release (AMD RX 550). Bug: angleproject:3760 Change-Id: I0ccd56f190b1a3775f6a9a0448ca3003baa331ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729564 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| eb06814d | 2019-07-03 17:17:45 | Correct barriers of glMemoryBarrier in test cases Some test cases use wrong barriers when calling glMemoryBarrier. Bug: angleproject:2280 Change-Id: I0750c1eba84ed8af32091f7ecd5bdbd2b32fd397 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687591 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> | ||
| ce66a4f8 | 2019-07-26 16:27:04 | Skip 2 end2end tests failing on 431.02 Windows NVIDIA driver ClearTestES3.RepeatedClear/ES3_Vulkan ShaderStorageBufferTest31.LoadAndStoreBooleanValue/ES3_1_D3D11 Bug: angleproject:3748, angleproject:3749 Change-Id: I54c6259d36c9993250e961d92a6d4b8e4349ed57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721185 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 7e50f4cd | 2019-07-25 09:58:51 | Vulkan: Fix ES 3.1 vertex attribute bindings When handling dirty bindings, we were treating binding indices as if they were attribute indices, causing strange behavior. This change fixes the dirty bit handler to use the provided index properly and update the attributes that correspond to the binding index. Test: ./angle_end2end_tests --gtest_filter='VertexAttributeTestES31.OnlyUpdate*/ES3_1_Vulkan' Bug: angleproject:3598 Change-Id: I2bc3cd4da5f639a1301776fcf057a74368812c56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718786 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 020abb8b | 2019-07-24 11:33:49 | Vulkan: invalidate translation buffers for SSBOs Translation buffers weren't being marked dirty after running a compute shader in which they are bound as SSBOs. This change invalidates all SSBOs after a draw or compute call. Bug: angleproject:3739 Change-Id: I66b56df7e619b55afc7e3da6b5613b6d050e06bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1717144 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: James Dong <dongja@google.com> | ||
| 0716ce0a | 2019-07-22 15:20:47 | Re-add case to blitframebuffer workaround where src is outside of bounds. On Mac, blitFramebuffer calls fail if the source region is not enclosed by the framebuffer. In this case, we must naively clip the source region and adjust the dest region accordingly. This is slightly different behavior and may cause issues with scaling so we use a separate workaround. Also, Windows NVIDIA has a driver bug that affects Vulkan device creation after blitting large textures, so it should be included in the original workaround. This CL cleans up the workaround to use more helpers from ANGLE and to generally improve readability. Bug: chromium:830046 Change-Id: I50bd97449725b738036e6bd3af82362020d7eda8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713090 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c68e7cbc | 2019-07-25 11:28:07 | Vulkan: Fix image copy flipping The draw framebuffer was consulted for flipping instead of the read framebuffer. Revealed a bug with copy-with-transfer not taking source render target's level/layer into account. This test was failing on Linux/Intel because there the framebuffer is not flipped, so the transfer path was taken. Bug: angleproject:2954 Bug: angleproject:3723 Change-Id: If95bf97b8e0536302ed39999be47bf904283c9e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718784 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 557e3853 | 2019-07-24 18:16:18 | Vulkan: Disable atomic counter buffer tests on AMD/Windows A likely driver bug is causing the subsequent OpenGL test to fail. Bug: angleproject:3738 Change-Id: I6ee5e9e7298a2adb3069a6e14ac83453fa34b50f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716056 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 3dcd8ebb | 2019-07-22 15:33:22 | Skip ProgramBinaryTransformFeedbackTest.GetTransformFeedbackVarying on Pixel 2 Vulkan. Bug: angleproject:3690 Change-Id: Ic00038cfe8fe9d1170eb75aec89c0ac0f074fb05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710026 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| af80b781 | 2019-07-22 14:31:08 | Skip ShaderStorageBufferTest31.ActiveSSBOButNotStaticallyUsed on Pixel 2 Vulkan. Bug: angleproject:3725 Change-Id: Ic5c80ad3ec495c3fd382639f761b368f16993434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713564 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| b82d8633 | 2019-07-15 11:23:08 | Vulkan: Atomic counter buffer support Vulkan doesn't treat atomic counters especially, and they are emulated with atomic access to storage buffers. A single atomic counter buffer binding per pipeline is supported. All the atomic counters identify an offset within this buffer. The shader is modified to include a storage buffer definition with `uint counters[];` as the only field. A compiler pass replaces atomic counter definitions with variables that hold the corresponding offset parameter, as well as changing atomic_uint types to just uint (as the offset). Where an atomic counter variable is used, it is replaced with the offset variable (plus the array index, if array). At the same time, built-in `atomicCounter*` functions are replaced with a corresponding `atomic*` function and `memoryBarrierAtomicCounter` is replaced with `memoryBarrierBuffer`. Bug: angleproject:3566 Change-Id: Iefb3d47de6a5cb3072bfa0cb94a46ac6a886d369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704635 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| bd4ff479 | 2019-07-19 22:08:17 | Revert "Reland "Temporarily disable creating D3D debug device."" This reverts commit 6064e6ab6bc7355b410543301a578d22d2f6e477. Reason for revert: flakiness should be fixed by https://chromium-review.googlesource.com/c/angle/angle/+/1709726 Original change's description: > Reland "Temporarily disable creating D3D debug device." > > This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2. > > Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 . > > Original change's description: > > Revert "Temporarily disable creating D3D debug device." > > > > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21. > > > > Reason for revert: Seems like flakiness is not related. > > > > Suppress D3D11 test failures uncovered by re-enabling D3D debug device: > > ComputeShaderTest.DispatchCompute > > Texture2DTestES3.TextureImplPropogatesDirtyBits > > D3DTextureTestMS.* > > > > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages > > to clear reported messages, otherwise the failures are also reported > > for tests following the one with the actual failure. > > > > Original change's description: > > > Temporarily disable creating D3D debug device. > > > > > > To diagnose whether Windows Intel end2end tests flakiness > > > is related to creating debug device and new version of Windows SDK. > > > > > > Bug: angleproject:3153 > > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737 > > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954 > > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > > > > Bug: angleproject:3153, angleproject:3493 > > Bug: angleproject:3501, angleproject:3512, angleproject:3513 > > > > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854 > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > > TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org > > Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Kenneth Russell <kbr@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,kbr@chromium.org,jmadill@chromium.org Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3513 Change-Id: I16eff79172dcfa2dd6d4f6445a74c9c65c1bd27c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710861 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 9ec3f51d | 2019-07-19 13:06:16 | Reland "Vulkan: Implement OES_get_program_binary extension" Reason for revert: default uniform initialization was incomplete This change has the following fixes: 1. Add missing default uniform initialization when loading program binaries. 2. Re-enable OES Program Binary capabilities for Vulkan. 3. Added two angle end2end test, - ProgramBinaryES3Test.BinaryWithLargeUniformCount uses several uniforms across the vertex and fragment shaders. - ProgramBinaryES3Test.ActiveUniformShader tests the difference between uniform static and active use Bug: angleproject:3216 Bug: angleproject:3217 Bug: angleproject:3665 Tests: dEQP-GLES3.functional.shader_api.program_binary* angle_end2end_tests --gtest_filter=ProgramBinary* Change-Id: If6886f01241d65bb1e17a21cc3406533021072ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699069 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 765ee7b7 | 2019-06-19 14:19:52 | Vulkan: support for new vertex attribs in GLES 3.0 Fixes handling of packed vertex formats, adds new overrides for 32-bit [SU](NORM|SCALED) vertex types, and handles half-precision floats correctly. Pixel 2 does not natively support certain 10-10-10-2 vertex formats; this change does not add support for them. Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.vertex_arrays.*' Test: ./angle_end2end_tests --gtest_filter='AttributeLayout*/ES3_Vulkan' Test: ./angle_end2end_tests --gtest_filter='VertexAttribute*/ES3_Vulkan' Bug: angleproject:3193 Change-Id: I5ae4edd743e86e3e89e2697034c04dc4d9ecd1f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668230 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: James Dong <dongja@google.com> | ||
| 8cb95960 | 2019-07-16 13:54:57 | Vulkan: Fix FS array output location assignment Test: angle_end2end_test --gtest_filter=GLSLTest_ES3.FragmentShaderOutputArray/ES3_Vulkan Bug: angleproject:3707 Change-Id: I6519a76aa58ad80ada0e2ad90a2a70d93f831ce5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704779 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| ec30d78d | 2019-07-03 12:56:58 | Optimize uniform matrix update 1. Add a fast matrix update function to do a single memcpy for uniform matrix assignment with same layout. It benefits row-4 no-transpose GLSL matrix and col-4 transpose HLSL matrix. 2. Make boolean IsColumnMajor to be a template parameter in generate uniform matrix updating, which gets rid of the conditional branch in loop and has better performance. 3. Add e2e test of uploading multiple 3x4 GLSL matrices at the same time, which adds coverage to this CL. Bug: angleproject:3632 Change-Id: Id1701ef6fbf63ea4b9884254d93ea8eacfe4e16a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688274 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2e43b0f5 | 2019-07-11 17:09:54 | Vulkan: Implement memory barriers Bug: angleproject:3574 Change-Id: I13d8f4fcd6f1bf9bf3496c91c2c697076e2491bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699005 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 950e1a4d | 2019-07-16 13:10:29 | GL: Reset the pixel unpack state after initializing texture data. Texture data initialization happens after dirty bit synchronization so TextureGL::initializeContents must be careful to leave the applied state the same way it found it. BUG=angleproject:3703 Change-Id: I1647cfc59c45fd9fad0fcde2e37af831e56f2e57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704215 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| f92fc916 | 2019-07-15 22:39:23 | Vulkan: Compute shader support A DispatchHelper class is created as the equivalent of FramebufferHelper as a command graph resource. There's currently a single dispatcher and all dispatch calls are recorded on that. Context dirty bits are set up in such a way that graphics and compute workloads are independently handled, so that issuing a dispatch call wouldn't cause a framebuffer's render pass to rebind resources. Bug: angleproject:3562 Change-Id: Ib96db48297074d99b04324e44b067cfbfd43e333 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688504 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 943fe34e | 2019-06-24 16:51:57 | Vulkan: Upload packed depth-stencil Bug: angleproject:3437 Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.VerifyStencilData/* Change-Id: Iffab48eaea6aa35888560859e9f502a4f814b833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674663 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 375ddfc5 | 2019-07-12 11:12:14 | Signal different dirty bit for vertex buffer change. We use new logic to compare if the attribute format changes before setting dirty bits. This improves performance of VBO-only state changes significantly. On the VBO change Vulkan microbenchmark gives about a 30% improvement. Bug: angleproject:3256 Change-Id: Ifaf1c92ed7a09422156ef79b5983e7349de63346 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684294 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 29fba5e0 | 2019-07-04 17:08:41 | Vulkan: Prepare for variable-stage pipelines Compute (single-stage pipeline) is upcoming, but this change prepares GlslangWrapper to handle any number of stages (mostly). Additionally, this change binds each resource to each stage based on whether it's active, so that we don't hit the per-stage limit of resources by binding every resource to every stage. Bug: angleproject:3633 Bug: angleproject:3562 Change-Id: Ifebf691482846e0371c6e314f514226a4cfee258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689330 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 96682377 | 2019-07-08 11:06:27 | Fix the RTV and SRV conflict This change fixes below error: Message 0: ID3D11DeviceContext::CSSetShaderResources: Resource being set to CS shader resource slot 0 is still bound on output! Forcing to NULL. Bug: angleproject:3658 Change-Id: I72d656cf61ffb7c39660c019eab980c39eafb70f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688307 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com> | ||
| 4c292b87 | 2019-07-05 09:37:22 | Vulkan: Enable remaining ProgramBinary end2end tests Now that we have support for program binaries, enable the following end2end tests for Vulkan backend - 1. ProgramBinaryTest* 2. ProgramBinaryES3Test* 3. ProgramBinaryTransformFeedbackTest* Bug: angleproject:3217 Change-Id: I007b03181c4c3c6c20e8cb278ed78cf14bff7f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689824 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a71a8c66 | 2019-07-04 09:42:31 | ANGLE tests loading wrong opengl32.dll ANGLE tests try to load opengl32.dll from ANGLE directory instead of system Bug: angleproject:3645 Change-Id: I3a8cea37252d13e915ff54ae6bbac920db16e4c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688544 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 196cd9e7 | 2019-07-03 08:50:03 | GLES1: disable texture3DOES extension It requires GLES 2.0+ This should help keep src/tests/gl_tests/gles1/TextureParameterTest.cpp: TextureParameterTest.NegativeEnum green even if the extension is propagated to the frontend from the underlying renderer. Bug: angleproject:3639 Change-Id: I04118e060f38cb774a6897ee6ce035b540a3b60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686822 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> | ||
| 7356514a | 2019-07-03 12:13:05 | End2end test for WebGL conformance2/uniforms/large-uniform-buffers.html Bug in UBOs over 65535 bytes is captured in the WebGL conformance test. Add an ANGLE end2end test to capture this behavior. Bug: angleproject:3388 Change-Id: I8151892d22b53a9100d26cceb124c13fdbfae844 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687116 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| a8da8668 | 2019-07-02 12:21:26 | Vulkan: Implement OES_get_program_binary extension - Serialize and deserialize completed shader source of program for saving out for glGetProgramBinary(). - Cleaned up some unnecessary includes in cpp files. - Some refactoring within ProgramVk::ShaderInfo to minimize code duplication. - Added ProgramVk::ShaderInfo::saveShaderSource and ProgramVk::ShaderInfo::loadShaderSource. - Updated vk_caps_utils.cpp to enable getProgramBinary and add the GL_PROGRAM_BINARY_ANGLE program binary format. This follows the pattern for other backends. Bug: angleproject:3216 Tests: dEQP-GLES3.functional.shader_api.program_binary* angle_end2end_tests --gtest_filter=ProgramBinaryTest* Change-Id: I927a27aaf9aa3d7fac550819ee80d2676ec1d1be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683099 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 994938ca | 2019-07-03 13:44:46 | Skip ImageTest.Source3DTargetExternal on Ozone Since Ozone supports external target only for images created with EGL_EXT_image_dma_buf_import Started failing when Texture3D was enabled in https://chromium-review.googlesource.com/c/angle/angle/+/1682782 Bug: angleproject:3188 Change-Id: I4131b51f16907d12088869b7ee02799ab1b39fec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687980 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 66b5ff58 | 2019-06-28 14:34:22 | texture3D: Implement functionality and enable for Vulkan Also update test expectations for texture3D. Bug: angleproject:3188 Change-Id: If8a8e0a83a86c48c2afb0c36534c1e9d4120fe47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682782 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 383d1209 | 2019-07-02 20:57:24 | Skip ComputeShaderTest.ImageAtomicCounterBuffer on Win NVIDIA GL. Bug: angleproject:3636 Change-Id: If106efa79967fa88d2c67feb7f07309e613ab989 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686740 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| da904484 | 2019-07-02 10:49:14 | Vulkan: Implement glInvalidate[Sub]Framebuffer Additionally, fixes an issue where the read framebuffer was affecting the render pass desc given to the pipeline. This fix is included with this CL as its test depends on glInvalidateFramebuffer. This issue was revealed by 071d2a44 changing the order in which read and draw framebuffers were synced. Previously, read was synced first, dirtying the pipeline and then draw was synced fixing it. With the order reversed, the read framebuffer is the last to changes the pipeline, leaving it in an invalid state. Bug: angleproject:3201 Bug: angleproject:3202 Change-Id: Ibebf732a3e3cc081e4865f79dcbaedb467fd9038 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682468 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 8bb6baa0 | 2019-06-18 15:30:16 | Vulkan: improve handling of RGB texture formats Adds fallback for some RGB textures using the corresponding RGBA formats and modifies fallback calculation to not require filtering/rendering for formats which are not required to support filtering by GL spec. Bug: angleproject:3190 Bug: angleproject:3196 Change-Id: I7beaf9881d63e3c6bd9339faede0333919a4174c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665894 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| a7d8ada2 | 2019-06-28 11:10:41 | Test out-of-bounds writes in glCopyTexSubImage2D Adds a test for out-of-bounds writes resulting from clipping the copy area to the size of the source framebuffer causing the destination area to be out of bounds. This causes a GL_INVALID_VALUE error according to the spec. Bug: angleproject:3355 Change-Id: I39638daa9b0c03cc82a6dbf6cabd0027e32a8ea8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682111 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 8f1169eb | 2019-06-27 15:32:32 | Added end2end tests for GL_EXT_texture_rg Bug: angleproject:3195 Test: ./angle_end2end_tests --gtest_filter='Texture2DRGTest.*' Change-Id: I076af9e0b4ee78623dcc9c4e07b4e1bececd05c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1681109 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| d4d43ac0 | 2019-06-28 10:54:26 | Add suppression for test failing on old MESA Bug: chromium:979349 Change-Id: Iaeee744dc33e388e8030ccb923dde0c3f6fda0a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679991 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 0bfa5504 | 2019-06-03 10:40:10 | Vulkan: Emulate Transform Feedback with vertex shader output In ES 3.0 and 3.1, only non-indexed GL_POINTS, GL_LINES and GL_TRIANGLES is supported for transform feedback. Without tessellation and geometry shaders, we can calculate the exact location where each vertex transform output should be written on the CPU, and have each vertex shader invocation write its data separately to the appropriate location in the buffer. This depends on the vertexPipelineStoresAndAtomics Vulkan feature. Bug: angleproject:3205 Change-Id: I68ccbb80aece597cf20c557a0aee842360fea593 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1645678 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c5da7997 | 2019-06-27 12:57:13 | Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions on Linux Intel GL. Wrongly skipped Texture2DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions in previous CL. Bug: angleproject:2782 Change-Id: Ifb54f394f7c7b953365bd04b93231a6880f709f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680844 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 5a542996 | 2019-06-26 10:55:57 | Test RGB32F texture format on Intel Linux Bug: angleproject:1958 Change-Id: I52787100fbc9a24b025393eafdede34750c4ca7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678732 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f857b501 | 2019-06-26 20:15:46 | Skip end2end tests failing on Intel Ubuntu 19.04 Mesa 19.0.2 Failing: MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cd MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cd_mask_c MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_c MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_cs MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_s MaskedScissoredClearTest.Test/ES2_OpenGL_clear_d MaskedScissoredClearTest.Test/ES2_OpenGL_clear_ds MaskedScissoredClearTest.Test/ES2_OpenGL_clear_ds_mask_s MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cd MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cd_mask_c MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_c MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_cs MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_s MaskedScissoredClearTest.Test/ES3_OpenGL_clear_d MaskedScissoredClearTest.Test/ES3_OpenGL_clear_ds MaskedScissoredClearTest.Test/ES3_OpenGL_clear_ds_mask_s BlitFramebufferTest.MultisampleDepthClear/ES3_OpenGL DrawBuffersTest.FirstHalfNULL/ES2_Vulkan DrawBuffersTest.Gaps/ES2_Vulkan WebGLCompatibilityTest.DrawBuffers/ES2_Vulkan Crashing: Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions/ES3_OpenGL Bug: angleproject:2782, angleproject:3614, angleproject:3616 Change-Id: Ib9bc72d8fd050ba1db1269d5fb3b38e80636211e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679630 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| c773ab98 | 2019-06-25 17:11:58 | Vulkan: Recycle dynamic buffer storage. This adds a free list to the dynamic buffer storage. Buffers are added to the free list when the retained buffers are released. They are taken from the free list when we allocate a new buffer. We only allocate a new buffer in the ring when we run out of free buffers. This reduces the amount of time we spend in allocation for frequent updates. Now that we're recycling buffers inside of DynamicBuffer we also need to be a bit more careful about when we allow ourselves to reuse them. If they're still in use by the GPU we should not try to modify them. Bug: angleproject:3082 Change-Id: Ibee5a7e2fe4a17f4a2f7af6bc6bcce54bdc413c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| cc82c3f0 | 2019-06-21 16:04:24 | Vulkan: Enable VertexAttributeTest* for ES3_Vulkan VAO support is present, so this is just enabling the necessary testing. The tests being skipped are being worked on with issue 3193, which is adding support for integer values. Bug: angleproject:3207 Test: VertexAttributeTest end2end tests Change-Id: Ic0bbcc0e05673aece203e93d8765ac8e90dc6a59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1672445 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 7f2520f1 | 2019-06-26 11:18:33 | Vulkan: Refactor DynamicBuffer::init. This will allow us to more easily create a white box test that sets a very small initial size for a dynamic buffer. Bug: angleproject:3082 Change-Id: Ic02bbee83ee8e0f4bfe182e9448c2ce60dea66d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1667645 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 1245f078 | 2019-06-25 13:51:29 | Use D3D11 GetDimensions driver workaround for dynamic images Some NVIDIA D3D11 drivers are buggy and interprets the level passed to GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip. This affects the implementation of the imageSize function in the D3D11 backend. Bug: angleproject:3100 Change-Id: I1e48f5df5e40caf49a4d07662aec587e98cf8388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677206 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3b225597 | 2019-06-17 14:18:06 | Fix the DispatchCompute error The error happens when a RWTexture is used in shader. However, there is no resource binding to it. We should clear the corresponding UAV in case the previous view type is a bufer not a texture. Meanwhile, this patch removes clearSRVs/clearUAVs since we use unsetConflictingSRVs/unsetConflictingUAVs to do the similar thing. Bug: angleproject:3512, angleproject:3548 Change-Id: I01752bb9bc6aca5b767599639c4dc613b4e2e2d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662017 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com> | ||
| b867bc6f | 2019-06-19 12:11:13 | Vulkan: Fix dirty element array buffer updates. The issue occurs that binds the same buffer and calls glDrawElements with the same indices. The offset has been reset in the VertexArrayVk::syncState(), but it doesn't check the actual value in the ContextVk::setupIndexedDraw(). Also corrected case where update via BufferSubData wasn't being sent to the HW. Bug: angleproject:3362 Change-Id: I0f7d2fc162bc8f1c36cb09ba689fd27b482b9035 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666345 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 9420fa06 | 2019-06-07 17:09:22 | Vulkan: Implement copyBufferSubData Implement BufferVk::copySubData(). Bug: angleproject:3194 Test: dEQP-GLES3.functional.buffer.copy.* Test: dEQP-GLES3.functional.negative_api.buffer.copy_buffer_sub_data Test: angle_end2end_tests BufferDataTestES3 Change-Id: I220cd490eb1eb799604e217b3e377af3fd431d97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648669 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 44168468 | 2019-06-20 09:50:23 | Vulkan: Sync image in TextureVk::syncState. We can use the DIRTY_BIT_IMPLEMENTATION internal dirty bit in the gl::Texture class to force calls to ContextVk::syncState. In syncState we can ensure we call ensureImageInitialized before we get to the ContextVk. This in turn means we can remove some of the command graph breaks from TextureVk. We need to make sure the dirty bits are propagated to EGL Image siblings with this method. This fixes a potential implementation issue with EGL images with the GL back-end. Also makes a state change test a little better by removing some of the VAO and program init calls before the draw. Improves perf on the texture change microbenchmark by 12.5%. Bug: angleproject:3539 Bug: angleproject:3117 Change-Id: I2b5481690801fa98f859a6c02e3f4b974590cd3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663839 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| c6601ec8 | 2019-06-14 11:07:23 | Vulkan: fix texture swizzle Corrects texture swizzle in Vulkan backend. Previously user-supplied swizzle was applied before internal swizzle; this change applies the internal swizzle first, causing the correct behavior. Also recreates image views when swizzle is dirty. Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.texture.swizzle.*' Test: ./angle_end2end_tests --gtest_filter='SwizzleTest.*/ES3_Vulkan' Bug: angleproject:3212 Change-Id: Ie2c44b479da5c19ba744ace7562a73c944f97a49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660909 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 88e03221 | 2019-05-31 12:06:28 | Unset conflicting SRVs and UAVs D3D11 cannot allow the same (sub)-resource bound as both a SRV and an UAV at the same time. Unset conflicting SRVs and UVAs between render pipeline and compute pipeline. Bug: angleproject:3152 TEST=angle_end2end_tests.ComputeShaderTest.* Change-Id: I9cb8b902edbf987166a57af314af6b21a6874998 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1576504 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> | ||
| 857880e5 | 2019-05-27 13:39:15 | GL: Add extensions to enable hardware video decode on Android. The Android SurfaceTexture API has to be initialized with a texture id which Chrome has to query from an ANGLE external texture. It also rebinds and sets the texture dimensions on calls to SurfaceTexture.updateTexImage so ANGLE must be notified about these changes so that state tracking and validation continue to function. BUG=967410 Change-Id: I92e9077f75835b088da3a8caffb3ff40e9ad0361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630293 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> |