Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 908fbda052b65b547a0d9b54d42eba1857da2f9c..c4b16990ac78e1d979c254c23ca223b087900b56 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -1977,13 +1977,6 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
GLuint* source_texture_service_id, |
GLenum* source_texture_target); |
- // On Mac OS X, calling glReadPixels() against an FBO whose color attachment |
- // is an IOSurface-backed texture causes corruption of future glReadPixels() |
- // calls, even those on different OpenGL contexts. It is believed that this |
- // is the root cause of top crasher |
- // http://crbug.com/99393. <rdar://problem/10949687> |
- bool NeedsIOSurfaceReadbackWorkaround(); |
- |
bool InitializeCopyTextureCHROMIUM(const char* function_name); |
// Generate a member function prototype for each command in an automated and |
// typesafe way. |
@@ -3485,8 +3478,6 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() { |
driver_bug_workarounds |= SH_UNFOLD_SHORT_CIRCUIT; |
if (workarounds().init_varyings_without_static_use) |
driver_bug_workarounds |= SH_INIT_VARYINGS_WITHOUT_STATIC_USE; |
- if (workarounds().unroll_for_loop_with_sampler_array_index) |
- driver_bug_workarounds |= SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX; |
if (workarounds().scalarize_vec_and_mat_constructor_args) |
driver_bug_workarounds |= SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS; |
if (workarounds().regenerate_struct_names) |
@@ -10024,8 +10015,6 @@ error::Error GLES2DecoderImpl::HandleReadPixels(uint32_t immediate_data_size, |
ScopedResolvedFrameBufferBinder binder(this, false, true); |
std::unique_ptr<ScopedFrameBufferReadPixelHelper> helper; |
- if (NeedsIOSurfaceReadbackWorkaround()) |
- helper.reset(new ScopedFrameBufferReadPixelHelper(&state_, this)); |
gfx::Rect rect(x, y, width, height); // Safe before we checked above. |
gfx::Rect max_rect(max_size); |
@@ -16611,28 +16600,6 @@ bool GLES2DecoderImpl::NeedsCopyTextureImageWorkaround( |
return true; |
} |
-bool GLES2DecoderImpl::NeedsIOSurfaceReadbackWorkaround() { |
- if (!workarounds().iosurface_readback_workaround) |
- return false; |
- |
- Framebuffer* framebuffer = |
- GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER_EXT); |
- if (!framebuffer) |
- return false; |
- |
- const Framebuffer::Attachment* attachment = |
- framebuffer->GetReadBufferAttachment(); |
- if (!attachment) |
- return false; |
- |
- if (!attachment->IsTextureAttachment()) |
- return false; |
- |
- TextureRef* texture = |
- texture_manager()->GetTexture(attachment->object_name()); |
- return texture->texture()->HasImages(); |
-} |
- |
error::Error GLES2DecoderImpl::HandleBindFragmentInputLocationCHROMIUMBucket( |
uint32_t immediate_data_size, |
const void* cmd_data) { |