Implement the equivalent of ServiceDiscardableManager for the passthrough command decoder. Add tests that will fail if any GL command decoder does not support discardable textures.
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/79b914075cc5b30ba7c59a5ee875beb7517b320a commit 79b914075cc5b30ba7c59a5ee875beb7517b320a Author: Geoff Lang <geofflang@chromium.org> Date: Fri Oct 12 20:04:34 2018 Add an extension for querying esimated GPU memory size of resources. BUG= 892288 Change-Id: I56fc3ab00c06d711e1a21eb1ad4b2224126730dc Reviewed-on: https://chromium-review.googlesource.com/c/1262021 Reviewed-by: Yuly Novikov <ynovikov@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/renderer/RenderbufferImpl.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Buffer.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/include/GLES2/gl2ext_angle.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/renderer/BufferImpl.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Renderbuffer.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Context.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/validationES31.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Texture.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/queryutils.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/renderer/TextureImpl.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Renderbuffer.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Buffer.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Caps.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Texture.h [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/Caps.cpp [modify] https://crrev.com/79b914075cc5b30ba7c59a5ee875beb7517b320a/src/libANGLE/validationES.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3f4e1baf677c1d101d518b498086b5617e6ceb92 commit 3f4e1baf677c1d101d518b498086b5617e6ceb92 Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Date: Fri Oct 12 21:25:57 2018 Roll src/third_party/angle c97e3f6684c7..79b914075cc5 (1 commits) https://chromium.googlesource.com/angle/angle.git/+log/c97e3f6684c7..79b914075cc5 git log c97e3f6684c7..79b914075cc5 --date=short --no-merges --format='%ad %ae %s' 2018-10-12 geofflang@chromium.org Add an extension for querying esimated GPU memory size of resources. Created with: gclient setdep -r src/third_party/angle@79b914075cc5 The AutoRoll server is located here: https://autoroll.skia.org/r/angle-chromium-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG= chromium:892288 TBR=fjhenigman@chromium.org Change-Id: Ie496f14e30e485e0989a6c16cd6be3563606d8c7 Reviewed-on: https://chromium-review.googlesource.com/c/1279093 Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#599358} [modify] https://crrev.com/3f4e1baf677c1d101d518b498086b5617e6ceb92/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72fe476e7a84db7fc1a52207d2ae088e966c7aeb commit 72fe476e7a84db7fc1a52207d2ae088e966c7aeb Author: Geoff Lang <geofflang@chromium.org> Date: Fri Oct 19 15:11:36 2018 Implement discardable textures in the passthrough command decoder. BUG= 892288 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I0619a87cc2babbc2e3f9e33135bb883a51d2d9c1 Reviewed-on: https://chromium-review.googlesource.com/c/1262429 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Frank Liberato <liberato@chromium.org> Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#601154} [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/BUILD.gn [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/BUILD.gn [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/context_group.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/context_group.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/context_group_unittest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gl_utils.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc [add] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_unittest_discardable_textures.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h [add] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/passthrough_discardable_manager.cc [add] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/passthrough_discardable_manager.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/raster_decoder_unittest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/raster_decoder_unittest_base.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/service_discardable_manager.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/service_discardable_manager.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/service_discardable_manager_unittest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/texture_manager.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/service/texture_manager.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/tests/decoder_perftest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/tests/fuzzer_main.cc [add] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/tests/gl_discardable_textures_unittest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/tests/gl_manager.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/command_buffer/tests/gl_manager.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/gles2_conform_support/egl/context.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/gles2_conform_support/egl/context.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/command_buffer_task_executor.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/in_process_command_buffer.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/service/gles2_command_buffer_stub.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/service/gpu_channel_manager.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/service/gpu_channel_manager.h [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/service/raster_command_buffer_stub.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/gpu/ipc/service/webgpu_command_buffer_stub.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/media/gpu/android/android_video_decode_accelerator_unittest.cc [modify] https://crrev.com/72fe476e7a84db7fc1a52207d2ae088e966c7aeb/ui/gl/gl_bindings.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/171769f64d2380be763c8ae5e9523cbb2c81f17f commit 171769f64d2380be763c8ae5e9523cbb2c81f17f Author: Geoff Lang <geofflang@chromium.org> Date: Mon Oct 22 18:32:45 2018 Validate texture target before updating texture size. The target was validated that it was one of the TextureTarget types but not that the type was valid for the current context. This generated GL errors when querying the size of a 3D texture in an ES2 context. BUG= 897453 BUG= 892288 Change-Id: Ia6cafaf021751876148acdaf0ee96dc51353e98a Reviewed-on: https://chromium-review.googlesource.com/c/1293754 Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Cr-Commit-Position: refs/heads/master@{#601663} [modify] https://crrev.com/171769f64d2380be763c8ae5e9523cbb2c81f17f/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc [modify] https://crrev.com/171769f64d2380be763c8ae5e9523cbb2c81f17f/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f commit 1590fcc4d3eeeb5033f3289bfe398deccc6fd59f Author: Geoff Lang <geofflang@chromium.org> Date: Fri Nov 02 20:37:23 2018 Add a spec and tests for GL_ANGLE_memory_size. Change the data type of buffer memory sizes to 64 bit integers. BUG= 892288 Change-Id: I10e07b86f2ccc0cb61c8d7ee0d439e00d5eb8d3a Reviewed-on: https://chromium-review.googlesource.com/c/1312244 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> [modify] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/src/tests/angle_end2end_tests.gni [modify] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/src/libANGLE/renderer/BufferImpl.h [add] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/src/tests/gl_tests/MemorySizeTest.cpp [modify] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/src/libANGLE/Buffer.cpp [add] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/extensions/ANGLE_memory_size.txt [modify] https://crrev.com/1590fcc4d3eeeb5033f3289bfe398deccc6fd59f/src/libANGLE/Buffer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3cdab414d9d8421207b151d2fcabf2d9a14b32af commit 3cdab414d9d8421207b151d2fcabf2d9a14b32af Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Date: Fri Nov 02 23:49:10 2018 Roll src/third_party/angle 6ba22ee13768..1590fcc4d3ee (2 commits) https://chromium.googlesource.com/angle/angle.git/+log/6ba22ee13768..1590fcc4d3ee git log 6ba22ee13768..1590fcc4d3ee --date=short --no-merges --format='%ad %ae %s' 2018-11-02 geofflang@chromium.org Add a spec and tests for GL_ANGLE_memory_size. 2018-11-02 syoussefi@chromium.org Implement missing posix utils Created with: gclient setdep -r src/third_party/angle@1590fcc4d3ee The AutoRoll server is located here: https://autoroll.skia.org/r/angle-chromium-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG= chromium:892288 TBR=ynovikov@chromium.org Change-Id: I16ef2d3941c7b7fcbac1020513e265aaa2b06197 Reviewed-on: https://chromium-review.googlesource.com/c/1315814 Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#605098} [modify] https://crrev.com/3cdab414d9d8421207b151d2fcabf2d9a14b32af/DEPS
Comment 1 by bugdroid1@chromium.org
, Oct 12