gpu::Capabilities not updated when requestable extensions updated |
||
Issue descriptionThis is specifically in the context of gpu::Capabilities::texture_half_float_linear, but it may apply to other features. The gpu::Capabilities::texture_half_float_linear property is - based on FeatureFlags::enable_texture_half_float_linear - populated in GLES2DecoderImpl::GetCapabilities - called by GpuChannel::OnCreateCommandBuffer in the GPU process - cached on the client side in GLES2Implementation::GLES2Implementation - and never updated This is problematic because FeatureFlags::enable_texture_half_float_linear is dynamic and be updated by requesting the GL_OES_texture_half_float_linear extension, while the client-side property is static. This causes us to blow up when creating a half-float GpuMemoryBuffers because we check capabilities.texture_half_float_linear in IsImageFromGpuMemoryBufferFormatSupported, and will report false. The GpuMemoryBuffer problem can be worked around by using asynchronous GMB creation (which is probably preferable), but this is probably worth knowing about. A reasonable solution would be to have RequestExtensionChromium update the calling client's gpu::Capabilities.
,
Nov 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a987ee85bad15a80c2060b0f162b4e1e7da4bc25 commit a987ee85bad15a80c2060b0f162b4e1e7da4bc25 Author: Christopher Cameron <ccameron@chromium.org> Date: Thu Nov 02 16:47:53 2017 Report extension availability in gpu::Capabilities For extensions that require explicit enabling, it is unclear if gpu::Capabilities should report the availability of an extension or its presence. Change the meaning of gpu::Capabilities to reflect the availability of an extension, since that information is subject to change over time. Bug: 777748 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I1817d6b22f78301dae5bb6e7b9cadc83d0420b31 Reviewed-on: https://chromium-review.googlesource.com/750402 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: ccameron <ccameron@chromium.org> Cr-Commit-Position: refs/heads/master@{#513517} [modify] https://crrev.com/a987ee85bad15a80c2060b0f162b4e1e7da4bc25/gpu/command_buffer/service/feature_info.h [modify] https://crrev.com/a987ee85bad15a80c2060b0f162b4e1e7da4bc25/gpu/command_buffer/service/gles2_cmd_decoder.cc
,
Nov 2 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by ccameron@chromium.org
, Oct 24 2017