diff options
author | hayato@chromium.org <hayato@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-17 04:22:33 +0000 |
---|---|---|
committer | hayato@chromium.org <hayato@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-17 04:22:33 +0000 |
commit | 3f91d1208f47f7fedf7efe0cf2015f517e2cebee (patch) | |
tree | 992e1cc70e5f0ea0022489ac563bb88bb9a73a4f /gpu | |
parent | 5d8b99271fd49595ed6ad075ea128bea550d337d (diff) | |
download | chromium_src-3f91d1208f47f7fedf7efe0cf2015f517e2cebee.zip chromium_src-3f91d1208f47f7fedf7efe0cf2015f517e2cebee.tar.gz chromium_src-3f91d1208f47f7fedf7efe0cf2015f517e2cebee.tar.bz2 |
Revert of gpu: Add CHROMIUM_sync_query extension. (https://codereview.chromium.org/238933003/)
Reason for revert:
[gardening]
Seems that QueryTest.SyncQueryBasic started to fail on Android Tests (dbug).
http://build.chromium.org/p/chromium.webkit/builders/Android%20Tests%20%28dbg%29
http://build.chromium.org/p/chromium.webkit/builders/Android%20Tests%20%28dbg%29/builds/18673/steps/gl_tests/logs/stdio
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from QueryTest
[ RUN ] QueryTest.SyncQueryBasic
../../gpu/command_buffer/tests/gl_query_unittest.cc:154: Failure
Value of: GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")
Actual: false
Expected: true
[0417/014324:ERROR:gles2_cmd_decoder.cc(9542)] [GroupMarkerNotSet(crbug.com/242999)!:04B0A600]GL ERROR :GL_INVALID_OPERATION : glBeginQueryEXT: not enabled for commands completed queries
[0417/014324:ERROR:gles2_cmd_decoder.cc(9617)] [GroupMarkerNotSet(crbug.com/242999)!:04B0A600]GL ERROR :GL_INVALID_OPERATION : glEndQueryEXT: No active query
../../gpu/command_buffer/tests/gl_query_unittest.cc:166: Failure
Value of: available
Actual: false
Expected: true
../../gpu/command_buffer/tests/gl_manager.cc:241: Failure
Value of: glGetError() == GL_NONE
Actual: false
Expected: true
[ FAILED ] QueryTest.SyncQueryBasic (70 ms)
[----------] 1 test from QueryTest (71 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (71 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] QueryTest.SyncQueryBasic
In range 264168:264191, this patch might be the culprit.
Let me revert this patch and watch whether Android Tests will cycle to green or not.
Original issue's description:
> gpu: Add CHROMIUM_sync_query extension.
>
> This adds a GL_COMMANDS_COMPLETED_CHROMIUM query target that provide
> a finer granularity of synchronizing GL command completion than offered
> by glFinish().
>
> BUG=269808,356871,273274
> TEST=gpu_unittests --gtest_filter=GLES2DecoderManualInitTest.BeginEndQueryEXTCommandsCompletedCHROMIUM
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=264173
TBR=piman@chromium.org,epenner@chromium.org,sievers@chromium.org,reveman@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=269808,356871,273274
Review URL: https://codereview.chromium.org/240273006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264407 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_query.txt | 53 | ||||
-rw-r--r-- | gpu/GLES2/gl2extchromium.h | 9 | ||||
-rwxr-xr-x | gpu/command_buffer/build_gles2_cmd_buffer.py | 1 | ||||
-rw-r--r-- | gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h | 10 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info.cc | 6 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info.h | 1 | ||||
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.cc | 8 | ||||
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc | 76 | ||||
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h | 3 | ||||
-rw-r--r-- | gpu/command_buffer/service/query_manager.cc | 53 | ||||
-rw-r--r-- | gpu/command_buffer/tests/gl_query_unittest.cc | 16 |
11 files changed, 3 insertions, 233 deletions
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_query.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_query.txt deleted file mode 100644 index 98763d0..0000000 --- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_query.txt +++ /dev/null @@ -1,53 +0,0 @@ -Name - - CHROMIUM_sync_query - -Name Strings - - GL_CHROMIUM_sync_query - -Version - - Last Modifed Date: April 15, 2014 - -Dependencies - - OpenGL ES 2.0 is required. - - EXT_occlusion_query_boolean is required. - -Overview - - This extension provides a query mechanism that allow for synchronization - between the host CPU and the GPU, which may be accessing the same - resources (typically memory). - - This extension is useful in conjunction with CHROMIUM_map_image to - determine when it is safe to access a mapped image. Once the result of - a COMMANDS_COMPLETED_CHROMIUM query is available, all drawing commands - issued before the query must have finished. This ensures that the memory - corresponding to the issued commands can be safely modified (assuming no - other outstanding drawing commands are issued subsequent to the query). - -New Procedures and Functions - - None. - -Errors - - None. - -New Tokens - - Accepted by the <target> parameter of BeginQueryEXT, EndQueryEXT, - and GetQueryivEXT: - - COMMANDS_COMPLETED_CHROMIUM 0x84F7 - -New State - - None. - -Revision History - - 4/15/2014 Documented the extension diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h index 0bdf717..db4f12f 100644 --- a/gpu/GLES2/gl2extchromium.h +++ b/gpu/GLES2/gl2extchromium.h @@ -692,15 +692,6 @@ typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC)( GLfloat uv_height); #endif /* GL_CHROMIUM_schedule_overlay_plane */ -/* GL_CHROMIUM_sync_query */ -#ifndef GL_CHROMIUM_sync_query -#define GL_CHROMIUM_sync_query 1 - -#ifndef GL_COMMANDS_COMPLETED_CHROMIUM -#define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7 -#endif -#endif /* GL_CHROMIUM_sync_query */ - #ifdef __cplusplus } #endif diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py index 7105edf..84d70c0 100755 --- a/gpu/command_buffer/build_gles2_cmd_buffer.py +++ b/gpu/command_buffer/build_gles2_cmd_buffer.py @@ -841,7 +841,6 @@ _ENUM_LISTS = { 'GL_LATENCY_QUERY_CHROMIUM', 'GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM', 'GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM', - 'GL_COMMANDS_COMPLETED_CHROMIUM', ], }, 'RenderBufferParameter': { diff --git a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h index e9f4f69..62f1c308 100644 --- a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h +++ b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h @@ -179,7 +179,6 @@ static const GLES2Util::EnumToString enum_to_string_table[] = { {0x84F4, "GL_FENCE_CONDITION_NV", }, {0x8366, "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT", }, {0x8365, "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT", }, - {0x84F7, "GL_COMMANDS_COMPLETED_CHROMIUM", }, {0x881E, "GL_LUMINANCE16F_EXT", }, {0x84FA, "GL_UNSIGNED_INT_24_8_OES", }, {0x881F, "GL_LUMINANCE_ALPHA16F_EXT", }, @@ -354,7 +353,6 @@ static const GLES2Util::EnumToString enum_to_string_table[] = { {0x8C93, "GL_ATC_RGBA_EXPLICIT_ALPHA_AMD", }, {0x00000002, "GL_CONTEXT_FLAG_DEBUG_BIT_KHR", }, {0x00000001, "GL_SYNC_FLUSH_COMMANDS_BIT_APPLE", }, - {0x9248, "GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM", }, {0x00000004, "GL_COLOR_BUFFER_BIT2_QCOM", }, {0x1702, "GL_TEXTURE", }, {0x00000008, "GL_COLOR_BUFFER_BIT3_QCOM", }, @@ -387,7 +385,6 @@ static const GLES2Util::EnumToString enum_to_string_table[] = { {0x8DF6, "GL_UNSIGNED_INT_10_10_10_2_OES", }, {0x8230, "GL_RG32F_EXT", }, {0x8DF7, "GL_INT_10_10_10_2_OES", }, - {0x9246, "GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM", }, {0x8B69, "GL_FLOAT_MAT4x2_NV", }, {0x812D, "GL_CLAMP_TO_BORDER_NV", }, {0x812F, "GL_CLAMP_TO_EDGE", }, @@ -607,11 +604,8 @@ static const GLES2Util::EnumToString enum_to_string_table[] = { {0x1F02, "GL_VERSION", }, {0x1F01, "GL_RENDERER", }, {0x1F00, "GL_VENDOR", }, - {0x9247, "GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM", }, {0x2701, "GL_LINEAR_MIPMAP_NEAREST", }, - {0x9245, "GL_OVERLAY_TRANSFORM_NONE_CHROMIUM", }, {0x92B4, "GL_INVERT_OVG_NV", }, - {0x9249, "GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM", }, {0x0B94, "GL_STENCIL_FAIL", }, {0x8B4C, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS", }, {0x8B4D, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS", }, @@ -640,7 +634,6 @@ static const GLES2Util::EnumToString enum_to_string_table[] = { {0x1004, "GL_TEXTURE_BORDER_COLOR_NV", }, {0x8B48, "GL_SHADER_OBJECT_EXT", }, {0x912F, "GL_TEXTURE_IMMUTABLE_FORMAT_EXT", }, - {0x924A, "GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM", }, {0x20000000, "GL_MULTISAMPLE_BUFFER_BIT5_QCOM", }, {0x0DE1, "GL_TEXTURE_2D", }, {0x80C9, "GL_BLEND_SRC_RGB", }, @@ -1170,8 +1163,7 @@ std::string GLES2Util::GetStringQueryTarget(uint32 value) { {GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM, "GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM"}, {GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, - "GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM"}, - {GL_COMMANDS_COMPLETED_CHROMIUM, "GL_COMMANDS_COMPLETED_CHROMIUM"}, }; + "GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM"}, }; return GLES2Util::GetQualifiedEnumString( string_table, arraysize(string_table), value); } diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index 15d8ca0..334cec1 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -110,7 +110,6 @@ FeatureInfo::FeatureFlags::FeatureFlags() : chromium_color_buffer_float_rgba(false), chromium_color_buffer_float_rgb(false), chromium_framebuffer_multisample(false), - chromium_sync_query(false), use_core_framebuffer_multisample(false), multisampled_render_to_texture(false), use_img_for_multisampled_render_to_texture(false), @@ -795,11 +794,6 @@ void FeatureInfo::InitializeFeatures() { AddExtensionString("GL_EXT_discard_framebuffer"); feature_flags_.ext_discard_framebuffer = true; } - - if (ui_gl_fence_works) { - AddExtensionString("GL_CHROMIUM_sync_query"); - feature_flags_.chromium_sync_query = true; - } } void FeatureInfo::AddExtensionString(const std::string& str) { diff --git a/gpu/command_buffer/service/feature_info.h b/gpu/command_buffer/service/feature_info.h index 8e9c07c..c29a50c 100644 --- a/gpu/command_buffer/service/feature_info.h +++ b/gpu/command_buffer/service/feature_info.h @@ -31,7 +31,6 @@ class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { bool chromium_color_buffer_float_rgba; bool chromium_color_buffer_float_rgb; bool chromium_framebuffer_multisample; - bool chromium_sync_query; // Use glBlitFramebuffer() and glRenderbufferStorageMultisample() with // GL_EXT_framebuffer_multisample-style semantics, since they are exposed // as core GL functions on this implementation. diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index d0b040b..a886513 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -9535,14 +9535,6 @@ error::Error GLES2DecoderImpl::HandleBeginQueryEXT( case GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM: case GL_GET_ERROR_QUERY_CHROMIUM: break; - case GL_COMMANDS_COMPLETED_CHROMIUM: - if (!features().chromium_sync_query) { - LOCAL_SET_GL_ERROR( - GL_INVALID_OPERATION, "glBeginQueryEXT", - "not enabled for commands completed queries"); - return error::kNoError; - } - break; default: if (!features().occlusion_query_boolean) { LOCAL_SET_GL_ERROR( diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc index b367e5c..19b7292 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc @@ -7112,7 +7112,6 @@ const QueryType kQueryTypes[] = { { GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM, false }, { GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, false }, { GL_GET_ERROR_QUERY_CHROMIUM, false }, - { GL_COMMANDS_COMPLETED_CHROMIUM, false }, { GL_ANY_SAMPLES_PASSED_EXT, true }, }; @@ -7126,7 +7125,7 @@ static void CheckBeginEndQueryBadMemoryFails( // We need to reset the decoder on each iteration, because we lose the // context every time. GLES2DecoderTestBase::InitState init; - init.extensions = "GL_EXT_occlusion_query_boolean GL_ARB_sync"; + init.extensions = "GL_EXT_occlusion_query_boolean"; init.gl_version = "opengl es 2.0"; init.has_alpha = true; init.request_alpha = true; @@ -7161,13 +7160,6 @@ static void CheckBeginEndQueryBadMemoryFails( .WillOnce(Return(GL_NO_ERROR)) .RetiresOnSaturation(); } - GLsync kGlSync = reinterpret_cast<GLsync>(0xdeadbeef); - if (query_type.type == GL_COMMANDS_COMPLETED_CHROMIUM) { - EXPECT_CALL(*gl, Flush()).RetiresOnSaturation(); - EXPECT_CALL(*gl, FenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0)) - .WillOnce(Return(kGlSync)) - .RetiresOnSaturation(); - } EndQueryEXT end_cmd; end_cmd.Init(query_type.type, 1); @@ -7183,11 +7175,6 @@ static void CheckBeginEndQueryBadMemoryFails( .WillOnce(SetArgumentPointee<2>(1)) .RetiresOnSaturation(); } - if (query_type.type == GL_COMMANDS_COMPLETED_CHROMIUM) { - EXPECT_CALL(*gl, ClientWaitSync(kGlSync, _, _)) - .WillOnce(Return(GL_ALREADY_SIGNALED)) - .RetiresOnSaturation(); - } QueryManager* query_manager = test->GetDecoder()->GetQueryManager(); ASSERT_TRUE(query_manager != NULL); @@ -7202,8 +7189,6 @@ static void CheckBeginEndQueryBadMemoryFails( .Times(1) .RetiresOnSaturation(); } - if (query_type.type == GL_COMMANDS_COMPLETED_CHROMIUM) - EXPECT_CALL(*gl, DeleteSync(kGlSync)).Times(1).RetiresOnSaturation(); test->ResetDecoder(); } @@ -7291,65 +7276,6 @@ TEST_F(GLES2DecoderTest, BeginEndQueryEXTGetErrorQueryCHROMIUM) { static_cast<GLenum>(sync->result)); } -TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTCommandsCompletedCHROMIUM) { - InitState init; - init.extensions = "GL_EXT_occlusion_query_boolean GL_ARB_sync"; - init.gl_version = "opengl es 2.0"; - init.has_alpha = true; - init.request_alpha = true; - init.bind_generates_resource = true; - InitDecoder(init); - - GenHelper<GenQueriesEXTImmediate>(kNewClientId); - - BeginQueryEXT begin_cmd; - begin_cmd.Init(GL_COMMANDS_COMPLETED_CHROMIUM, - kNewClientId, - kSharedMemoryId, - kSharedMemoryOffset); - EXPECT_EQ(error::kNoError, ExecuteCmd(begin_cmd)); - EXPECT_EQ(GL_NO_ERROR, GetGLError()); - - QueryManager* query_manager = decoder_->GetQueryManager(); - ASSERT_TRUE(query_manager != NULL); - QueryManager::Query* query = query_manager->GetQuery(kNewClientId); - ASSERT_TRUE(query != NULL); - EXPECT_FALSE(query->pending()); - - GLsync kGlSync = reinterpret_cast<GLsync>(0xdeadbeef); - EXPECT_CALL(*gl_, Flush()).RetiresOnSaturation(); - EXPECT_CALL(*gl_, FenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0)) - .WillOnce(Return(kGlSync)) - .RetiresOnSaturation(); - - EndQueryEXT end_cmd; - end_cmd.Init(GL_COMMANDS_COMPLETED_CHROMIUM, 1); - EXPECT_EQ(error::kNoError, ExecuteCmd(end_cmd)); - EXPECT_EQ(GL_NO_ERROR, GetGLError()); - EXPECT_TRUE(query->pending()); - - EXPECT_CALL(*gl_, ClientWaitSync(kGlSync, _, _)) - .WillOnce(Return(GL_TIMEOUT_EXPIRED)) - .RetiresOnSaturation(); - bool process_success = query_manager->ProcessPendingQueries(); - - EXPECT_TRUE(process_success); - EXPECT_TRUE(query->pending()); - - EXPECT_CALL(*gl_, ClientWaitSync(kGlSync, _, _)) - .WillOnce(Return(GL_ALREADY_SIGNALED)) - .RetiresOnSaturation(); - process_success = query_manager->ProcessPendingQueries(); - - EXPECT_TRUE(process_success); - EXPECT_FALSE(query->pending()); - QuerySync* sync = static_cast<QuerySync*>(shared_memory_address_); - EXPECT_EQ(static_cast<GLenum>(0), static_cast<GLenum>(sync->result)); - - EXPECT_CALL(*gl_, DeleteSync(kGlSync)).Times(1).RetiresOnSaturation(); - ResetDecoder(); -} - TEST_F(GLES2DecoderTest, ProduceAndConsumeTextureCHROMIUM) { Mailbox mailbox = Mailbox::Generate(); diff --git a/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h b/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h index d296018..ca49ced 100644 --- a/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h +++ b/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h @@ -214,8 +214,7 @@ static const GLenum valid_query_target_table[] = { GL_COMMANDS_ISSUED_CHROMIUM, GL_LATENCY_QUERY_CHROMIUM, GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM, - GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, - GL_COMMANDS_COMPLETED_CHROMIUM, }; + GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, }; static const GLenum valid_read_pixel_format_table[] = {GL_ALPHA, GL_RGB, GL_RGBA, }; diff --git a/gpu/command_buffer/service/query_manager.cc b/gpu/command_buffer/service/query_manager.cc index 30c036e..9f1d3a7 100644 --- a/gpu/command_buffer/service/query_manager.cc +++ b/gpu/command_buffer/service/query_manager.cc @@ -16,7 +16,6 @@ #include "gpu/command_buffer/service/error_state.h" #include "gpu/command_buffer/service/feature_info.h" #include "gpu/command_buffer/service/gles2_cmd_decoder.h" -#include "ui/gl/gl_fence.h" namespace gpu { namespace gles2 { @@ -390,55 +389,6 @@ void GetErrorQuery::Destroy(bool /* have_context */) { GetErrorQuery::~GetErrorQuery() { } -class CommandsCompletedQuery : public QueryManager::Query { - public: - CommandsCompletedQuery(QueryManager* manager, - GLenum target, - int32 shm_id, - uint32 shm_offset); - - // Overridden from QueryManager::Query: - virtual bool Begin() OVERRIDE; - virtual bool End(base::subtle::Atomic32 submit_count) OVERRIDE; - virtual bool Process() OVERRIDE; - virtual void Destroy(bool have_context) OVERRIDE; - - protected: - virtual ~CommandsCompletedQuery(); - - private: - scoped_ptr<gfx::GLFence> fence_; -}; - -CommandsCompletedQuery::CommandsCompletedQuery(QueryManager* manager, - GLenum target, - int32 shm_id, - uint32 shm_offset) - : Query(manager, target, shm_id, shm_offset) {} - -bool CommandsCompletedQuery::Begin() { return true; } - -bool CommandsCompletedQuery::End(base::subtle::Atomic32 submit_count) { - fence_.reset(gfx::GLFence::Create()); - DCHECK(fence_); - return AddToPendingQueue(submit_count); -} - -bool CommandsCompletedQuery::Process() { - if (fence_ && !fence_->HasCompleted()) - return true; - return MarkAsCompleted(0); -} - -void CommandsCompletedQuery::Destroy(bool have_context) { - if (have_context && !IsDeleted()) { - fence_.reset(); - MarkAsDeleted(); - } -} - -CommandsCompletedQuery::~CommandsCompletedQuery() {} - QueryManager::QueryManager( GLES2Decoder* decoder, FeatureInfo* feature_info) @@ -494,9 +444,6 @@ QueryManager::Query* QueryManager::CreateQuery( case GL_GET_ERROR_QUERY_CHROMIUM: query = new GetErrorQuery(this, target, shm_id, shm_offset); break; - case GL_COMMANDS_COMPLETED_CHROMIUM: - query = new CommandsCompletedQuery(this, target, shm_id, shm_offset); - break; default: { GLuint service_id = 0; glGenQueriesARB(1, &service_id); diff --git a/gpu/command_buffer/tests/gl_query_unittest.cc b/gpu/command_buffer/tests/gl_query_unittest.cc index 52423a8..9a8948f 100644 --- a/gpu/command_buffer/tests/gl_query_unittest.cc +++ b/gpu/command_buffer/tests/gl_query_unittest.cc @@ -150,22 +150,6 @@ TEST_F(QueryTest, DISABLED_LatencyQueryBasic) { EXPECT_LE(query_result, kTimePrecisionMicroseconds); } -TEST_F(QueryTest, SyncQueryBasic) { - EXPECT_TRUE(GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")); - - GLuint query = 0; - glGenQueriesEXT(1, &query); - - glBeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM, query); - glEndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM); - - glFinish(); - - GLuint available = 0; - glGetQueryObjectuivEXT(query, GL_QUERY_RESULT_AVAILABLE_EXT, &available); - EXPECT_TRUE(available); -} - } // namespace gpu |