src/tests/gl_tests/TextureTest.cpp


Log

Author Commit Date CI Message
SeongHwan Park 16a61bbb 2021-08-05T23:06:22 D3D: Fix not notifying RenderTarget release in TextureD3D This could lead to use-after-free for the RenderTarget object. Bug: chromium:1234829 Change-Id: I73d4547b8f09f2f2cf3f7f8394f7f573fe5a4ef5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3063858 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3a6a0e91 2021-08-02T08:01:33 Remove ASSERT in computeRowPitch about row length. Compressed texture image uploads ignore unpack parameters. So it's not an error if these parameters have non-default values. We just ignore them anyway. This ASSERT was causing a crash in some edge cases in debug and dcheck builds. ASSERT introduced in https://crrev.com/c/348064 Bug: chromium:1235031 Change-Id: I1db6ebc9f5572a92ab16bb13da4c236f6fcb8ce2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3064986 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi ae8ef039 2021-07-30T00:43:14 Translator: Correctly respect precision of gl_FragColor/Data These builtins are declared with a mediump precision. However, during translation to Vulkan GLSL, the precision was not output and as such glslang treated them as highp. Discovered through comparison with SPIR-V output from ANGLE which included more RelaxedPrecision operations. Bug: angleproject:4889 Change-Id: I7974478e87ad20115345d679f8f035492be1f349 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3062204 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 5c8bf081 2021-06-08T13:12:24 Vulkan: Add support for YUV internal format extension 1. Add a function to upload YUV image data to textures 2. Modify stageSubresourceUpdate method to account for YUV images 3. Create VkSamplerYcbcrConversion when initializing ImageHelper 4. Update hasImmutableSampler to account for native YUV format support 5. Skip initializeNonZeroMemory for YUV formats Bug: angleproject:5773 Test: Texture2DTestES3.TexStorage2D*Yuv*Vulkan* Change-Id: I270f04bbf903cf2bf19f100eb95f32953d491c39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947767 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya e66e3344 2021-07-12T13:28:54 Vulkan: Add GL_ANGLE_yuv_internal_format extension 1. Add a new extension to support creation of immutable textures with sized internal YUV formats 2. Rename YUV format enums from *_ANGLEX to *_ANGLE 3. Move YUV format enums from angleutils.h to glext_angle.h Bug: angleproject:5773 Change-Id: Ibfe732f4c9a4a536be56481f33e4768f6227c212 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820153 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi cfaaf2ab 2021-06-30T17:23:55 Vulkan: SPIR-V Gen: Fixes to std430 block definition Bug: angleproject:4889 Change-Id: I18feff0916f348c8514cc97ba438d42fc00d0cba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999023 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3b0fcf6a 2021-06-30T15:14:48 Vulkan: SPIR-V Gen: Support type casts in constructors GLSL basic, vector and matrix constructors can convert between types. This was already done for constants used in constructors. This change implements the cast for non-constant expressions. Bug: angleproject:4889 Change-Id: I0a8c1a6e97ffced0d1652032a41fb87c70be16ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999022 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0461d8d4 2021-06-23T23:20:33 Vulkan: SPIR-V Gen: texture and image built-ins GLSL contains a large number of built-in texture* and image* functions, but these map to only a handful of SPIR-V instructions. The bulk of the work to map these is to extract the arguments from the built-ins based on their ordinal position. Bug: angleproject:4889 Change-Id: I760d986bd9171ddde35f9f046c549ca53252df17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992980 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill d665593b 2021-07-05T15:02:11 Update TextureState::getEnabledLevelCount. Instead of simply returning a count of all non-empty texture desc levels, we iterate the levels from the base level and return the count of levels that make a consistent mip chain. This will fix edge cases where Textures are defined sequentially with inconsistent mip levels, but valid rendering states. Bug: angleproject:4780 Change-Id: Id3ebf2d7ad706070896cb5cdf2a311dba2c88949 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007135 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev dbfc119a 2021-06-22T08:56:33 Fix overflow in gl::ValidateES2TexImageParametersBase Bug: chromium:1222516 Change-Id: I532dc6e1c80c442af2c35d1facc262c48222def3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2978251 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao a280c671 2021-05-24T19:05:44 Vulkan: Move framebuffer dirty bits handling after texture When texture changes, it notify the observer. Framebuffer object is one of the observer and is able to respond to the changes in texture object. In this specific case, when texture called TextureVk::releaseImage and requires framebuffer object to syncState and call TextureVk::initRenderTargets. The problem right now is that framebuffer object's dirty bits are processed before texture, which means if the texture is being used by currently bound framebuffer object, it will not trigger the FBO's dirty bit handling. This CL moves container object dirty bit (DIRTY_OBJECT_DRAW_FRAMEBUFFER and DIRTY_OBJECT_READ_FRAMEBUFFER) after texture/image object's dirty bits. Bug: chromium:1212206 Bug: chromium:1197431 Change-Id: I95723da1ce5b8936d66692242f2e25e7a73bafe6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2915764 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao ecf2956d 2021-05-24T10:57:40 Vulkan: Convert web_gl.fuzz545ImmutableTexRenderFeedback to gl_test Bug: chromium:1212206 Change-Id: I4b87906a9e877da12d64e39bfe54b9b7cec409a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912928 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop 2b8ceb28 2021-05-19T14:08:03 Update skip list for Texture2DTest.TextureSize It is also failing on Linux+Vulkan+TSAN. Bug: angleproject:5982 Change-Id: I742a65ef6076e4f00cc8030cfea46619effaa4d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906815 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a1a418e2 2021-05-17T16:08:15 Skip Texture2DTest.TextureSize on Linux+GL+TSAN Bug: angleproject:5982 Change-Id: I228c5549d7c83d5fb3eb12a097dd4bcc20f56955 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2900929 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 9c262ad0 2021-05-14T12:26:48 Vulkan: Cleanup texture image respecify Prior to this change, respecifying a texture image due to usage, base or max level changes incurred a copy of every level and layer to a temporary buffer which was then staged as an update to the new image. This code was somewhat messy (for example with respect to depth/stencil images), error prone (e.g. previously had bugs with compressed textures) and disallowed further optimizations such as in anglebug.com/4835. This change does the following: - ImageHelper::SubresourceUpdate now takes ref-counted images, instead of image pointers. This allows the same image to be staged for multiple updates. - Respecifying an image is still done through a copy, but to an identical (temp) image instead of buffer, and each level of the image is staged as an update. * Further optimization is to stage the old image itself directly as updates to the new image Bug: angleproject:4835 Change-Id: I4a3ef2d616c9ab459ff65f918b0fb6d9a2161b73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897537 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 3d082a10 2021-04-12T19:16:25 Vulkan: Add webgl conformance/texture-size test This converts webgl_conformance_vulkan_passthrough_tests/texture-size.html to an end2end test for ease of debugging. Bug: chromium:1197905 Change-Id: If77dc30e81450b277c6a02d66c076b088d069498 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821944 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 65946f88 2021-05-12T18:19:52 Skip Texture2DArrayIntegerTestES3.NonZeroBaseLevel on OSX+OpenGL This test is failing just because another test is been added. The theory is that there is a OpenGL driver bug here. Bug: angleproject:5959 Change-Id: I8405a512de28b10528c14be79f76815877a5771f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893499 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov c275ce14 2021-04-19T14:06:53 Skip Texture2DBaseMaxTestES3.GenerateMipmapAfterRebase* on Mac ARM GL Bug: angleproject:5880 Change-Id: I18698e0603938c43878ad4d28379d6976952c561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2836787 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Ian Elliott af58be7e 2021-04-08T17:07:53 Add TextureType::Buffer to RecordBindTextureTypeError() Bug: b/184767884 Change-Id: I67098de503748c86f2b957db76539e73c87bd179 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818818 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi ba7531da 2021-04-07T12:51:17 Add tests that use, then update, then use buffers This triggers vk::DynamicBuffer allocations in BufferVk. Bug: angleproject:5719 Change-Id: Ida855b23618497f76102e55f89ab1678f9c08753 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809856 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao afd32d8e 2021-03-30T15:50:57 Vulkan: Remove mMaxLevel from ImageHelper class This CL removes mMaxLevel from ImageHelper class. Instead, it now uses front end's max level information when possible. Bug: b/181800403 Change-Id: Ie0f6bd11e3ca0d4ddfc98f21261396c4d71b7140 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796153 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Charlie Lao 08b7c55c 2021-03-30T13:51:04 Vulkan: Remove mBaseLevel from ImageHelper class This removes mBaseLevel from ImageHelper class. With the mFirstAllocatedLevel tracking exactly which GL level has been allocated, this cached mBaseLevel is no longer needed. Bug: b/181800403 Change-Id: I99d66c93b0c8f1bd20a5811b51f512a27927201e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795275 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao fe6b4269 2021-03-25T14:04:41 Vulkan: Add baseLevel and generateMipmap test for immutable texture Immutable texture may implemented slightly differently in driver. This CL adds a new test that calls glGenerateMipmap after changing GL_BASE_LEVEL and GL_MAX_LEVEL. It also expands PingPongBaseLevel to test immutable texture as well. Bug: b/181800403 Test: Texture2DBaseMaxTestES3.PingPongBaseLevelImmutable Test: Texture2DBaseMaxTestES3.GenerateMipmapAfterRebaseImmutable Test: Texture2DBaseMaxTestES3.GenerateMipmapAfterRebase Change-Id: I4ccf58f588bfd5e02a6fc7439b6fe535fca8dd7c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2787253 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Yuly Novikov 57727c4e 2021-03-08T17:32:25 Further suppress tests failing on Ozone. Since MipmapTest and Texture3DTestES2 fail in testSetUp(), it also needs to be skipped, in addition to the failing tests. Also suppress instantiation error for ES3-only QueryObjectTest Bug: angleproject:5725, angleproject:5728, angleproject:5704 Change-Id: Iac6549afd7609a2aee78bcfdb7c3de41886f3505 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743920 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov a0bc2589 2021-03-05T19:27:04 Skip tests failing on Ozone. MipmapTest.DefineValidExtraLevelAndUseItLater MipmapTest.GenerateMipmapAfterModifyingBaseLevel MipmapTest.GenerateMipmapAfterSingleLevelDraw MipmapTest.GenerateMipmapFromInitDataThenRender MipmapTest.GenerateMipmapFromRenderedImage MipmapTest.MipMapGenerationD3D9Bug MipmapTest.MipmapsForTexture3DOES MipmapTest.RenderOntoLevelZeroAfterGenerateMipmap MipmapTest.TextureCubeGeneralLevelZero MipmapTest.TextureCubeRenderToLevelZero MultisampleTest.AlphaToSampleCoverage MultisampleTest.ContentPresevedAfterInterruption MultisampleTest.Line MultisampleTest.Point MultisampleTest.Triangle Texture3DTestES2.CopySubImageAlpha Texture3DTestES2.CopySubImageLuminance Texture3DTestES2.CopySubImageRGBA Texture3DTestES2.Luminance Texture3DTestES2.RGBA Bug: angleproject:5725, angleproject:5727, angleproject:5728 Change-Id: Ibe7d7e44e01ce430e381edd0c83c3e24069b35aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2738718 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov a6b16d29 2021-03-02T19:04:57 Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Ozone We only support ES2 on Ozone, so tests that depend on ES3 or ES31 support are not instantiated there. Bug: chromium:1183147 Change-Id: Id58bcd9b44a5b9a70b5ae8115e27c44f5dc81226 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726550 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Corentin Wallez 82337b00 2021-02-17T16:47:48 Add suppressions for failing tests on Linux Nvidia GL The following failing without a clear reason (asides from PartitionAlloc changes in Chromium maybe). This CL suppresses them while we find what the issue is. TBR=syoussefi@chromium.org Bug: angleproject:5651 Change-Id: I6cba67351dfba37fd6d86a07ac748b7998665361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2700511 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Tim Van Patten baf64903 2021-02-03T14:02:55 Allow small compressed mip level copies Update ValidateCopyImageSubDataBase() to take into consideration if the entire mip level is being written, even if the size of the mip level is smaller than the compressed block size. This also uncovered a bug in ImageHelper::initializeNonZeroMemory() where the image extents are not at least as large as the compressed format block size: VUID-vkCmdCopyBufferToImage-imageExtent-00207 This CL adds isAllocateNonZeroMemoryEnabled() to allow skipping the test when that feature is enabled while that bug is chased. Bug: angleproject:5592 Bug: angleproject:5634 Bug: angleproject:5643 Test: Texture2DTestES3.CopyCompressedImageMipMaps Change-Id: I0381e0d3490fb148604b61dc3bae8f96ba8b5f8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673069 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
jchen10 c0bbe6cf 2020-12-16T11:56:52 Unsuppress TextureCubeTest.CubeMapFBO on Intel/Win/Vulkan This disables forceCpuPathForCubeMapCopy as well Bug: angleproject:2822 Bug: angleproject:3055 Change-Id: Iecb37d0c2d109e319c67310dd64ad8d4bbc14fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594707 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 56330564 2020-12-10T00:46:04 Vulkan: Support layered framebuffers This feature is introduced by geometry shaders, where all the layers of a texture can be attached to a framebuffer. The geometry shader would use gl_Layer to decide which layer the primitive should be rendered to. Bug: angleproject:3571 Change-Id: Ib2ae8e227b226295f9e2f62f6b230839070bc95c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582711 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 5850c748 2020-11-20T22:14:27 Vulkan: Emulated RGB copies in compute The copy between emulated RGB formats can take a number of paths: - Sample from src (reinterpreted as UINT), output to dst - Sample from src, output to temp buffer, copy to dst - Copy src to temp buffer, output to dst - Copy src to temp buffer, convert to another temp buffer, copy to dst While directly sampling from src and outputting to dst is more efficient, these are not always possible. The former may not have SAMPLED_IMAGE usage bit for the reinterpreted UINT format, and the latter may not have STORAGE_IMAGE usage at all. This change takes the universal approach of using two temp buffers. The ConvertVertex shader is used to transform between RGB and RGBA when copying from the first temp buffer to the second. Bug: angleproject:5278 Change-Id: I63d916cfdb4c389f5b817d89cd7348fdea703ce5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556467 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Schade <b.schade@samsung.com>
Yuly Novikov f98f18f6 2020-11-17T18:42:35 Remove Nexus 6P expectations Bot decommissioned in crrev.com/c/2541579 Bug: chromium:1148989, angleproject:5280, angleproject:3726 Bug: angleproject:2641, angleproject:3264, angleproject:2114 Bug: angleproject:3464, angleproject:4991, angleproject:1415 Bug: angleproject:2407, angleproject:1427, angleproject:4215 Bug: angleproject:1429, angleproject:5069, chromium:998503 Change-Id: I1b268fdbcf6465aef447e90e470c1a011c7b3747 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545892 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kai Ninomiya bacb8dfc 2020-11-17T11:31:49 Add TODOs for Apple DTK skips; update bug urls Bug: angleproject:5360 Change-Id: Ibad5be256f08c893caebd6fa268668b966556d13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544907 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kai Ninomiya 12804827 2020-11-17T10:50:01 Disable more tests for Apple DTK (macOS ARM) Some of these new failures are on ES3-on-Metal and probably cropped up because they weren't running before. Bug: chromium:1132295 Change-Id: I631c53f1e6cf1374b0f3af62c9713456c924c6a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545122 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Shahbaz Youssefi c669bf52 2020-11-09T21:39:04 Vulkan: Optimize PBO copy from depth xor stencil src If the buffer format of the PBO does not contain both depth and stencil, it already has packed data ready for upload, so this change allows the GPU path to be taken. Bug: angleproject:5315 Bug: b/172354898 Change-Id: I424c15951594f49ffc140f9cde9e7c73486512b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526947 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5b52afae 2020-11-11T15:26:39 Fix texture buffer width query If glTexBuffer is used, the width should be calculated based on the buffer size. Since ES doesn't have immutable buffers, EXT_texture_buffer allows mutable buffers to be attached to the texture. This means that updates to the buffer must update the image description. This is done by having the texture observe the attached buffer. Bug: angleproject:3573 Bug: angleproject:5334 Test: dEQP-GLES31.functional.state_query.texture_level.texture_buffer.width_* Test: TextureBufferTestES31.QueryWidthAfterBufferResize Change-Id: I7d9e5344a3d4ea70da7ba525f13b5876481a70a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533495 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 36787dcb 2020-11-04T23:06:47 Vulkan: Fix PBO assuming color images Bug: b/172354898 Change-Id: I777eaa33ddac853492d38a03c16caeddad0c2d16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520108 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Brandon Schade 1e494cae 2020-10-07T19:26:01 Vulkan: Add support for EXT_copy_image Add support for GL_EXT_copy_image which allows image data transfer between image objects. This is implemented by using the vkCmdCopyImage API call. Bug: angleproject:3593 Test: dEQP-GLES31.functional.copy_image.* Change-Id: I30a34a8711b5d2e5834064d7453e03d6ec0df478 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393955 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen 8a275449 2020-10-25T03:22:10 Metal: Add ES3_METAL to ANGLE_ALL_TEST_PLATFORMS_ES3 Bug: angleproject:2634 Change-Id: Iacc3aaf17565c7b16879897db4b9dac16826d829 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494526 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten f69fe097 2020-10-14T16:44:37 Create test Texture2DTestES3::ChangeTexSizeWithTexStorage() Create the test Texture2DTestES3::ChangeTexSizeWithTexStorage() which confirms that releaseImage() needs to be called by setStorageMultisample() to re-allocate the Image after ensuring the ImageHelpers has been created correctly. Bug: angleproject:5254 Bug: angleproject:5256 Test: Texture2DTestES3::ChangeTexSizeWithTexStorage Change-Id: I7ede9f7360b73bc445125b2a99efd60c9c4c110d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472999 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 9ff58e26 2020-09-27T15:27:12 Metal: Implement sampler object & shadow compare mode Note: GL_TEXTURE_COMPARE_MODE=GL_NONE is not supported on shadow sampler for now. Bug: angleproject:2634 Change-Id: I470bad6322e78ef1408e4334e1e778821df7cbf1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433332 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Le Hoang Quyen 80d4901a 2020-09-26T19:22:00 Metal: Support integer textures. Bug: angleproject:2634 Bug: angleproject:5154 Change-Id: Iffea26fe2c683557b4fa7c13fddf3523294b47d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433329 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 27e7e446 2020-09-27T00:00:35 Metal: Support 2D array textures and base & max levels. Bug: angleproject:2634 Change-Id: If9e50cec46bdf5f472f1e58c6e82a67b524e2408 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433327 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 4c6b4794 2020-10-12T12:37:29 Vulkan: TexSubImage3D using PBO should use correct layerCount The layerCount for 3D texture and 2DArray should be 1 if it does not have layers. Bug: b/170657065 Change-Id: I974ddda7c0eaa92da8033f15c682820e3d4eb32a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2466616 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill b2ff69f8 2020-10-09T08:54:00 Suppress Mac/GL test failures with standalone runner. These tests fail when run in certain orders with display reusei on the bots. See issues for list of suppressed tests. Bug: angleproject:5154 Bug: angleproject:5153 Change-Id: I1b4a523ba000785f4f8c26eeb236c518481ed7af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462715 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kai Ninomiya e0780931 2020-10-08T17:57:47 Suppress gl_test failures on Mac ARM64 (Apple DTK) BuiltinVariableFragDepthClampingFloatRBOTest.Below1/ES3_OpenGL CopyTexImageTest.DeleteAfterCopyingToTextures/ES2_OpenGL GLSLTest.MaxVaryingVec2Arrays/ES2_Metal GLSLTest.MaxVaryingVec3ArrayAndOneFloatArray/ES2_Metal GLSLTest.MoreNestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL GLSLTest.NestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES2_OpenGL GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES3_OpenGL MipmapTestES3.BaseLevelTextureBug/ES3_OpenGL MipmapTestES3.GenerateMipmapBaseLevel/ES3_OpenGL MipmapTestES3.GenerateMipmapCubeBaseLevel/ES3_OpenGL MipmapTestES3.GenerateMipmapMaxLevel/ES3_OpenGL MipmapTestES3.GenerateMipmapPreservesOutOfRangeMips/ES3_OpenGL OcclusionQueriesTest.MultiQueries/ES2_Metal Texture2DBaseMaxTestES3.GenerateMipmapAfterRedefineAndRebase/ES3_OpenGL Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_Metal Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_OpenGL Texture2DFloatTestES2.TextureFloatLinearTest/ES2_Metal Texture2DFloatTestES2.TextureFloatLinearTest/ES2_OpenGL Texture2DFloatTestES3.TextureFloatLinearLegacyTest/ES3_OpenGL Texture2DFloatTestES3.TextureFloatLinearTest/ES3_OpenGL TimerQueriesTest.TimeElapsed/ES3_OpenGL TimerQueriesTest.TimeElapsedMulticontextTest/ES3_OpenGL WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES2_OpenGL WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES3_OpenGL Bug: chromium:1132295 Change-Id: If64dc67275063c8046dbc941d92de273fbc226e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461674 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Trevor David Black e815afbf 2020-09-07T22:09:22 First pass at increasing inclusivity Link to the inclusivity rules https://source.android.com/setup/contribute/respectful-code Bug: b/162834212 Bug: chromium:1097198 Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor Black <vantablack@google.com>
Jamie Madill 7bd8bd9f 2020-09-24T17:11:56 Skip PBO test on TSAN. Texture2DTest.TexStorageWithPBO/ES2_OpenGL is flaky. Bug: b/168744561 Bug: angleproject:5097 Change-Id: Ide9b5a7d22e86c6eccd83ebc3bce6797b90150a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430163 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Brandon Schade cd83b608 2020-09-18T14:54:54 Use ImageHelper staging buffers for copyImageDataToBuffer Revert change from using context staging buffers for copyImageDataToBuffer. There are scenarios where the staging buffer will become invalid before flushing the staged update. Added a test for this case. Bug: angleproject:5092 Test: angle_end2end_tests --gtest_filter=*ETC1CompressedImageDraws* Change-Id: I41c457fda919938600c20336f65836952d73748a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425250 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Brandon Schade 6c394220 2020-09-09T18:55:48 Vulkan: Fix bug in compressed texel block computation When performing a staged update to compressed images, ensure that the bufferRowLength and bufferImageHeight is a multiple of the compressed texel block Bug: angleproject:5017 Test: angle_end2end_test --gtest_filter=*ETC1CompressedImageNPOT* Change-Id: I54327ec610d1050465d112c7eff385d19dc0c390 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393754 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Le Hoang Quyen bdecaf33 2020-08-04T20:16:27 Metal: Implement PBO. Bug: angleproject:2634 Change-Id: I77f085227298bf46361825d1886e04830dc9987a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336558 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov e56ccc49 2020-09-21T14:38:39 Skip Texture2DTest.TexStorageWithPBO on Win NVIDIA GL Fails on 456.38 driver. Bug: angleproject:5081 Change-Id: Ic92f4a9911d97209fd7240f5ba93ee6f81dd3ace Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422083 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao c0dda021 2020-08-26T11:20:06 Vulkan: release the ImageHelper's staging buffer after flush For mutable textures, right now glTexImage call and some of other cases, we are still using the ImageHelper's staging buffer. This will release the staging buffer after flush to reduce memory footprint. Bug: b/164511310 Change-Id: Ie1e52865a1c3a8f235c88331c4bb83c50d3f04da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378179 Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi a0d048a4 2020-08-27T12:03:02 Vulkan: Fool-proof usage of GL and VK level indices Using boxed types, this change allows the compiler to catch errors when a level index in one space (e.g. GL) is mistakenly used in another space (e.g. VK). This change uncovered a number of bugs due to such mistakes which are fixed. Mistakes are still possible when the index is explicitly extracted, for example to be given to a Vulkan command, or when it's created, for example when retrieved from gl::ImageIndex::getLevelIndex. Future work can include using gl::LevelIndex in gl::ImageIndex directly to alleviate the latter at least. Bug: angleproject:4880 Change-Id: I6427c68c3bc096f771402f51c8554d8171758aa9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380232 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Le Hoang Quyen acda9dde 2020-08-08T18:36:57 Metal: Implement GL_OES_texture_3D Bug: angleproject:2634 Change-Id: I8c46493ac28fe1bbfdb29ee3a60b23076bbc4c0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336119 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Le Hoang Quyen a5a08b5e 2020-07-31T01:57:33 Metal: Enable end2end tests on Intel. Bug: angleproject:4133 Bug: angleproject:2634 Change-Id: I3eff5ff81e908eec2990eb036728aa9878c8f802 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329090 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 0757a61a 2020-07-03T10:03:08 Remove suppression of passing test Bug: angleproject:4698 Change-Id: I1c97f27534f25e1b63b1e07a82ffade353f805d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280983 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8ea72e86 2020-06-29T23:42:42 Skip failing test on NVIDIA Shield Bug: chromium:1100613 Change-Id: I1e05b2b7829ee790f878bf99976310c8a697faa2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274520 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 6b49449d 2020-06-25T12:25:33 Vulkan: Fix mipmap generation and level redefinition When generating mipmaps, the non-base levels are redefined to be compatible. mRedefinedLevels was not updated to take this into account, resulting in invalid copies to the image. Additionally, noted a few spots where ImageDesc is used to respecify the image, but those are not up-to-date when the backend functions are called. Changed those to directly get the necessary information from the allocated image. Bug: chromium:1094644 Bug: chromium:1094599 Change-Id: I2afc9e5a53f24ef56836c5d7eec2e3e11df0ef61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267423 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Corentin Wallez 89001914 2020-06-24T14:56:15 Suppress TextureTest failure on NVIDIA Shield. Texture2DTestES3.IncompatibleMipsButNoMipmapFiltering/ES3_OpenGL started failing on NVIDIA Shield right after it was introduced. TBR=syoussefi@chromium.org Bug: angleproject:4786 Change-Id: I9805e4d22a01395a8b0eb47243b07fbf2abd6f4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264092 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Shahbaz Youssefi cf11beed 2020-06-22T15:51:51 Add mip-related corner-case tests Bug: angleproject:4780 Bug: angleproject:4781 Change-Id: Iaf8e1df576c3676249751413a646244da41a0eaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 7005248b 2020-06-11T16:00:23 Vulkan: Fix glCopyTextureCHROMIUM if source is swizzled A no-swizzle view is added for this use-case. Bug: angleproject:4004 Change-Id: Id654af9a4f520357c91bf2b06501c9e1ea169f11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241623 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 15cff312 2020-06-10T22:44:22 Move lod-sampling shaders to shader utils Will be reused in a test in a following change. Bug: angleproject:2914 Change-Id: I4e255d5c762f2a6c064b06c558519d82ec6ead5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2239085 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 000a79f1 2020-06-04T23:06:58 Vulkan: Better handling of texture level redefinition If a texture level is being redefined, there are two scenarios to consider: 1. The level is outside the base/max level, for which the image was allocated. 2. The level is within the base/max level, but it's being redefined to a different size or format. In the former case, we simply don't need to release the image. The latter case itself has two possibilities: 2.1. There is only one level in the image. 2.2. There are multiple levels in the image. In case 2.1, the whole image is being redefined (as it has only a single level), so the image can (and should) be released. Prior to this change, this behavior was adopted for all cases. This change retains this behavior for this case only. In case 2.2, the texture is becoming incomplete. However, the image shouldn't yet be released because another one of its mips may be bound to a framebuffer. In such cases as glCopyTexImage2D(), that framebuffer may in fact be the source of the copy operation (which would be destroyed if the image is released). If the base/max level of the texture doesn't change, redefining the level and making the texture incomplete doesn't make the framebuffer incomplete; this is achieved at the same time by not releasing the image. This change ensures that updates to the redefined level are staged in cases 1 and 2.2. Bug: angleproject:4274 Change-Id: I3fac3203c2fbbc16e8e4a35b1334b767120b2dcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230853 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten c39d25ae 2020-06-01T12:42:33 Update State to check mExecutable A user may be using Program Pipelines, rather than monolithic Programs, so State should check if mExecutable is valid, rather than mProgram, since that indicates the presence of either a PPO or a Program. Exercising these paths requires additional tests: SimpleStateChangeTestComputeES31PPO::DeleteImageTextureInUse() Texture2DTestES31PPO::TexStorage() Texture2DTestES31PPO::SingleTextureMultipleSamplers() These new tests exposed bugs in the PPO implementation where updates to the active Program's ProgramExecutable were not being propagated to the Executables of the PPO's containing that Program. In these particular cases, updates to the active samplers/images/textures were not being copied to the PPO's Executable. Bug: angleproject:3570 Test: end2end tests listed above Change-Id: I297cac2d0367f180dd7fa01a1ee7ba53996867c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225417 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3d2de99e 2020-06-09T01:14:42 Vulkan: Fix RTs attached to textures with non-0 mip Cleared confusion between GL level indices and VK level indices by adding the corresponding suffix to variables and function arguments. A handful of places that sent one index and expected the other are fixed. The conversion between the two is given by: levelIndexGL = levelIndexVk + baseLevel; Bug: angleproject:4695 Change-Id: I84ecbaf867d00a40fb39b6db7ad79658016f4d9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235362 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi dbb18b53 2020-06-05T15:23:17 Add texture base-level related tests Bug: angleproject:4695 Bug: angleproject:4696 Bug: angleproject:4698 Bug: angleproject:4699 Bug: angleproject:4701 Change-Id: Ia49e2100851c029b1ae05bc1398528170d71c3cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233402 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
James Darpinian 336e8915 2020-05-29T16:09:47 Workaround broken copyTexImage2D on iOS Use BlitGL to reimplement copyTex[Sub]Image2D on iOS. Bug: angleproject:4674 Change-Id: Ie3018d6d33da57797162922410f76557124df4b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222718 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 57f7b690 2020-06-05T00:45:01 Vulkan: Enable passing tests Bug: angleproject:3950 Change-Id: I091d99951772479ef2fbdb2ac51e5bf52a263da7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231983 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jiajie Hu e7d27705 2020-04-30T05:50:21 Fix corruption when changing the base level of a framebuffer texture attachment In the D3D renderer, changing the base level may trigger re-allocation of the texture storage, for example if the new base level has a different aspect ratio. During the process, image contents in the texture storage should be backed up properly. The D3D11 backend does this if an image has been associated with the texture storage, but it may happen such an association has never been established, and corruption will be observed then. The proposed patch mitigates the problem by introducing a new method named findRenderTarget(), with which one can tell if a mip level has been used as the render target. This works based on the fact that render targets are cached in the texture storage object. Hence all mip levels of interest can be found, without relying on the association between images and texture storage. Bug: angleproject:2291 Change-Id: Ic73af7b603be25c65760928f276bec16df003baf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2158830 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Ian Elliott eba008ad 2020-05-05T10:46:21 Add end2end test for changing MAX_LEVEL with compressed texture This is a follow-on to https://chromium-review.googlesource.com/c/angle/angle/+/2180881. This adds a comment explaining part of that solution, and an end2end test that creates a compressed texture and then renders after decreasing MAX_LEVEL and then again after increasing MAX_LEVEL. Bug: b/155499736 Change-Id: I04bb0dc9ead2807f7121e4c6b95ffd3594d5dcc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2182174 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop 74e816bf 2020-03-26T17:40:25 Vulkan: Expose extension for ETC1 usage with subimage updates This CL implements the GL_EXT_compressed_ETC1_RGB8_sub_texture extension, which was added to relax restrictions on using ETC1_RGB8_OES for subimage updates. Test: Temple Run on Android Bug: b:152512564 Change-Id: I78cfd7dfd54fab36dee59a93b3ec3bfce17e73e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2123232 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tim Van Patten abaa3573 2020-02-20T10:23:02 Vulkan: Only calculate variable locations once Variable locations and descriptor set/binding values are calculated multiple times: - Compiling GLSL->SPIR-V - Creating the Vulkan pipeline layout - Updating descriptor sets These values should instead be calculated once and reused throughout since they won't change without recompiling the shader program. Bug: angleproject:3570 Change-Id: I5d8767b3b2e2f741aade7fec9991eea53ee2eb98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067101 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 788fa360 2020-02-10T14:07:12 Suppress two failing NVIDIA D3D11 tests. Bug: angleproject:4391 Bug: angleproject:4392 Change-Id: I81cbf261cf206cd2d38cff93d16056c21bf78557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047416 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tibor Dusnoki 4546c5ce 2020-01-31T15:05:35 Skip failing end2end tests on Windows on ARM There are multiple failing tests on Windows on ARM which are related to drawing differences. They seem to be similar to an already reported issue (anglebug.com/3748). Bug: angleproject:4356 Bug: angleproject:4357 Change-Id: Ide5cc2e6f42d4c4b6fb88352833d20e517005c14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033067 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
shrekshao 81ee4d29 2019-12-04T17:05:11 Workaround EXT_texture_norm16 for OpenGL ES drivers Implement a workaround for widespread bugs calling glReadPixels with RGBA/UNSIGNED_SHORT against R16/RG16 color attachments. Read back the data using the GL_IMPLEMENTATION_COLOR_READ_FORMAT, and then rearrange the read back pixels to fit the RGBA layout. Also skip RGB16/RGB16_SNORM texture sample test on Nexus 5X/Nexus 6P due to a another driver bug. Bug: chromium:1000354, angleproject:4214, angleproject:4215, angleproject:4245 Change-Id: Iedea6f4136878cac5ad0dec3757c77b73502e1cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1952166 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Jamie Madill fc3ec57d 2019-11-27T21:43:22 Reland "Vulkan: Accelerate Texture PBO updates" This reverts commit 27d3c9399925d23726880ef910b9068fa39307cf. Reason for revert: Investigation is unable to reproduce the regresion. Shows up on the perf CI. Original change's description: > Revert "Vulkan: Accelerate Texture PBO updates" > > This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a. > > Reason for revert: Significant perf regression on several benchmarks. > See bug for more details. > > Bug: chromium:1027098 > > Original change's description: > > Vulkan: Accelerate Texture PBO updates > > > > If the format of the image and the PBO match, > > use a vkCmdCopyBufferToImage transfer operation. > > > > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* > > angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* > > dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* > > Bug: angleproject:3777 > > Change-Id: I3f271024a635be113202a16f8893a199c194172d > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 > > Reviewed-by: Cody Northrop <cnorthrop@google.com> > > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > > TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: angleproject:3777 > Change-Id: I774655962e9ab5a866b9324002fb8edae8550834 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com Change-Id: I8560a2e70de230eac3256a1df5eb2ecaa6f26bcf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1027098, angleproject:3777 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939852 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 27d3c939 2019-11-27T11:39:41 Revert "Vulkan: Accelerate Texture PBO updates" This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a. Reason for revert: Significant perf regression on several benchmarks. See bug for more details. Bug: chromium:1027098 Original change's description: > Vulkan: Accelerate Texture PBO updates > > If the format of the image and the PBO match, > use a vkCmdCopyBufferToImage transfer operation. > > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* > angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* > dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* > Bug: angleproject:3777 > Change-Id: I3f271024a635be113202a16f8893a199c194172d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3777 Change-Id: I774655962e9ab5a866b9324002fb8edae8550834 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
shrekshao fb1c2fe8 2019-11-13T11:10:39 EXT_texture_norm16 readpixels fix Adding validation logic for RGBA16 readpixels. Change readPixels format from UNSIGNED_BYTE to UNSIGNED_SHORT in the test. FYI: According to https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt ReadPixels format and type used during CopyTex* are limited to RGBA Bug: 1024387, 1000354, angleproject:1365, angleproject:4089 Change-Id: I70517f255fe335f60e55bdf15f7ebf82e3de0800 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914127 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Brandon Schade efb45eda 2019-09-24T09:23:53 Vulkan: Accelerate Texture PBO updates If the format of the image and the PBO match, use a vkCmdCopyBufferToImage transfer operation. Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* Bug: angleproject:3777 Change-Id: I3f271024a635be113202a16f8893a199c194172d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
shrekshao 9107577c 2019-11-18T15:00:29 Skip TextureNorm16Test on Nexus6P Since either revert of the original patch or the new fix is failing some bots, suppress it first. https://chromium-review.googlesource.com/c/angle/angle/+/1917423 https://chromium-review.googlesource.com/c/angle/angle/+/1914127 TBR=geofflang@chromium.org Bug: 1024387, angleproject:4089 Change-Id: I56fe0ba7e8a33f72b287528e920d6733e9cb5037 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922602 Reviewed-by: Shrek Shao <shrekshao@google.com> Commit-Queue: Shrek Shao <shrekshao@google.com>
Tobin Ehlis 1a01b4b3 2019-11-11T16:41:07 Refactor end2end test macros This is a foundational CL to enabling the end2end tests on swiftshader. Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES* macros that will run tests over all various combinations of all platforms for different ES versions. Just skipping failing tests initially to get the refactor landed. Bug: angleproject:4081 Bug: angleproject:4092 Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
shrekshao e33c1582 2019-11-06T16:55:29 Fix EXT_texture_norm16 * Add norm16 format info for OpenGL backend * Add validation for newly introduced norm16 formats * Fix some logic of texture tests Bug: chromium:1000354, angleproject:1365 Change-Id: Ie6d6e5e276da4df4b7c667be28d324d4976b35ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902720 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shrek Shao <shrekshao@google.com> Commit-Queue: Shrek Shao <shrekshao@google.com>
Tobin Ehlis 7af2676b 2019-10-23T16:18:57 Fix TextureAttachment support for unsized DS formats Unsized DS formats should not pick up support from ES3 automatically. Also unsized DEPTH COMPONENT textures should not be allowed as texture attachments without also having support for GL_ANGLE_depth_texture or GL_OES_depth_texture extensions. This change modifies some unsized formats to require extension support for TextureAttachment use. There are a couple of tests bugs that were exposed by this change so updated those tests as well. This CL only changes TextureAttachment support, but it's quite possible that renderbuffer (and texture) support may also need to be updated. Will attempt that in a follow-on. Bug: angleproject:3952 Change-Id: I75d15330dc418c421cd2855135e1e8100a89b2e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877135 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop d192e933 2019-09-27T10:27:10 Vulkan: Support binding texture levels as a rendertarget This CL refactors how TextureVk handles rendertargets. It removes the single rendertarget that previously supported 2D, and expands the layer/level list of rendertargets to handle all cases. Bug: angleproject:3184 Bug: angleproject:3996 Test: Texture2DTestES3.FramebufferTextureChangingBaselevel/ES3_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES2_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES3_Vulkan Test: ComputeShaderTest.ImageStoreMipmapSlice/ES3_1_Vulkan Change-Id: I466d0389cc6744994f88c40cc388fca694b53a99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854895 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Tobin Ehlis bbf0ce28 2019-10-11T06:55:36 Vulkan:Add support to stage D or S textures Correctly set image aspect for depth or stencil texture staging. This fixes 6 failing dEQP 3.0 tests and an end2end test. Note that DS combined aspect textures will need special handling to read each aspect separately which is not included in this fix. Bug: angleproject:3949 Change-Id: I8e3f8166bdd31e2c002752b2f5c107ba411b2b0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855964 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 6b60dfd8 2019-10-02T07:54:18 Vulkan: Remove image views forced to one mip level textureSize requires the view to reflect actual mip levels, so we can't artificially limit the view based on filtering mode. This CL removes those views. That unearthed a problem where the VK backend wasn't properly implementing non-mipmapped filter modes. There is a blurb in the Vulkan spec about this: There are no Vulkan filter modes that directly correspond to OpenGL minification filters of GL_LINEAR or GL_NEAREST, but they can be emulated using VK_SAMPLER_MIPMAP_MODE_NEAREST, minLod = 0, and maxLod = 0.25, and using minFilter = VK_FILTER_LINEAR or minFilter = VK_FILTER_NEAREST, respectively. So this CL also adds that emulation. Bug: angleproject:3948 Test: TextureSizeTextureArrayTest.BaseLevelVariesInTextureArray Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.* Change-Id: I81d5c3417e7d9abd0cdd058b935963706024a28f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835937 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 988f7170 2019-09-30T15:52:37 Vulkan: Base/max level fixes and cleanup This CL cleans up references to base/max level bug and fixes one lingering issue regarding special handling of depth/z for arrayed surfaces. Bug: angleproject:3148 Bug: angleproject:3184 Bug: angleproject:3948 Bug: angleproject:3949 Bug: angleproject:3950 Test: dEQP-GLES3.functional.texture.mipmap.*base_level* Test: dEQP-GLES3.functional.texture.mipmap.*max_level* Test: Texture2DArrayTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions Change-Id: Iad72005a111507c50b8be9726adc32285bbae52b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832757 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop cb16fb5f 2019-08-29T16:53:55 Vulkan: Support texture base and max levels The Vulkan backend uses a vkImage that matches the number of effective levels in the GL texture. This is due to the fact that GL textures can have really strange layouts that only make sense when base level and max level are applied. For instance, take the following layout with disjoint mip levels: Level 0: 4x4 RGBA Level 1: 2x2 RGBA Level 2: 10x10 RGB If base level is set to zero and max level is set to 1, the image is still considered mip-complete: Level 0: 4x4 RGBA ==> Base Level 0 ==> Level 0: 4x4 RGBA Level 1: 2x2 RGBA ==> Max Level 1 ==> Level 1: 2x2 RGBA Level 2: 10x10 RGB If base and max level are then both set to 2, the texture is still considered complete, but of a different size and format: Level 0: 4x4 RGBA Level 1: 2x2 RGBA Level 2: 10x10 RGB ==> Base/Max Level 2 ==> Level 2: 10x10 RGB When the base or max level is changed, we must recreate the vkImage to match the new level count. To support that, we: - Stage updates from the current image to the new image - Only stage updates if there aren't already staged updates for a level - Free the current image and so it can be recreated at the next draw This CL does the following: - Refactors TextureVk::copyImageDataToBuffer to support staging updates without flush - Adds TextureVk::copyImageDataToBufferAndGetData to support previous use model - Adds TextureVk::changeLevels, triggered during syncState, which stages updates and releases the current image. - Updates ImageHelper::flushStagedUpdates to understand base/max levels - Updates TextureVk::ensureImageInitialized and TextureVk::generateMipmap to account for base/max level - Tracks base and max levels in ImageHelper - Adds ImageHelper::stageSubresourceUpdateFromBuffer to support this use case - Adds ImageHelper::isUpdateStaged to determine if changeLevels should propagate data - Makes gl::TextureTypeToTarget available for use outside of ImageIndex - Enables several deqp and end2end tests Bug: angleproject:3148 Test: dEQP-GLES3.functional.texture.mipmap.*base_level* Test: dEQP-GLES3.functional.texture.mipmap.*max_level* Change-Id: I14ca071c9c62eb310dfed7ef9290dc65fc3ff696 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776933 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Zhenyao Mo 20bb47d3 2019-09-16T12: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>
Mohan Maiya 6caa2652 2019-09-11T08: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>
Courtney Goeltzenleuchter 1f2782e0 2019-08-29T14: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>
Corentin Wallez 566c2e3c 2019-08-28T18: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>
Corentin Wallez 7f00d338 2019-08-28T15: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>
Geoff Lang 2a19c59f 2019-08-23T14: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>
Sami Väisänen 76a93c33 2019-08-21T13: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>
Yuly Novikov 1dbbc7b3 2019-07-31T17: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>
Yuly Novikov bd4ff479 2019-07-19T22: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>
James Dong 8bb6baa0 2019-06-18T15: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>
Mohan Maiya 8f1169eb 2019-06-27T15: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>