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 a3cef98e0fb8f742f6f4ae2836e3bafd26773224..e80c41b11ed34e78529496b27ef75b764dbf32bd 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -13,13 +13,13 @@ |
#include <cmath> |
#include <list> |
#include <map> |
+#include <memory> |
#include <queue> |
#include "base/callback.h" |
#include "base/callback_helpers.h" |
#include "base/logging.h" |
#include "base/memory/linked_ptr.h" |
-#include "base/memory/scoped_ptr.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/numerics/safe_math.h" |
#include "base/strings/string_number_conversions.h" |
@@ -401,7 +401,7 @@ class ScopedFrameBufferReadPixelHelper { |
private: |
GLuint temp_texture_id_ = 0; |
GLuint temp_fbo_id_ = 0; |
- scoped_ptr<ScopedFrameBufferBinder> fbo_binder_; |
+ std::unique_ptr<ScopedFrameBufferBinder> fbo_binder_; |
DISALLOW_COPY_AND_ASSIGN(ScopedFrameBufferReadPixelHelper); |
}; |
@@ -527,7 +527,7 @@ struct FenceCallback { |
DCHECK(fence); |
} |
std::vector<base::Closure> callbacks; |
- scoped_ptr<gfx::GLFence> fence; |
+ std::unique_ptr<gfx::GLFence> fence; |
}; |
// } // anonymous namespace. |
@@ -2016,11 +2016,11 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
// depth and stencil buffers are separate. With regular GL there is a single |
// packed depth stencil buffer in offscreen_target_depth_render_buffer_. |
// offscreen_target_stencil_render_buffer_ is unused. |
- scoped_ptr<BackFramebuffer> offscreen_target_frame_buffer_; |
- scoped_ptr<BackTexture> offscreen_target_color_texture_; |
- scoped_ptr<BackRenderbuffer> offscreen_target_color_render_buffer_; |
- scoped_ptr<BackRenderbuffer> offscreen_target_depth_render_buffer_; |
- scoped_ptr<BackRenderbuffer> offscreen_target_stencil_render_buffer_; |
+ std::unique_ptr<BackFramebuffer> offscreen_target_frame_buffer_; |
+ std::unique_ptr<BackTexture> offscreen_target_color_texture_; |
+ std::unique_ptr<BackRenderbuffer> offscreen_target_color_render_buffer_; |
+ std::unique_ptr<BackRenderbuffer> offscreen_target_depth_render_buffer_; |
+ std::unique_ptr<BackRenderbuffer> offscreen_target_stencil_render_buffer_; |
GLenum offscreen_target_color_format_; |
GLenum offscreen_target_depth_format_; |
GLenum offscreen_target_stencil_format_; |
@@ -2028,21 +2028,21 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
GLboolean offscreen_target_buffer_preserved_; |
// The copy that is saved when SwapBuffers is called. |
- scoped_ptr<BackFramebuffer> offscreen_saved_frame_buffer_; |
- scoped_ptr<BackTexture> offscreen_saved_color_texture_; |
+ std::unique_ptr<BackFramebuffer> offscreen_saved_frame_buffer_; |
+ std::unique_ptr<BackTexture> offscreen_saved_color_texture_; |
scoped_refptr<TextureRef> |
offscreen_saved_color_texture_info_; |
// The copy that is used as the destination for multi-sample resolves. |
- scoped_ptr<BackFramebuffer> offscreen_resolved_frame_buffer_; |
- scoped_ptr<BackTexture> offscreen_resolved_color_texture_; |
+ std::unique_ptr<BackFramebuffer> offscreen_resolved_frame_buffer_; |
+ std::unique_ptr<BackTexture> offscreen_resolved_color_texture_; |
GLenum offscreen_saved_color_format_; |
- scoped_ptr<QueryManager> query_manager_; |
+ std::unique_ptr<QueryManager> query_manager_; |
- scoped_ptr<VertexArrayManager> vertex_array_manager_; |
+ std::unique_ptr<VertexArrayManager> vertex_array_manager_; |
- scoped_ptr<ImageManager> image_manager_; |
+ std::unique_ptr<ImageManager> image_manager_; |
FenceSyncReleaseCallback fence_sync_release_callback_; |
WaitFenceSyncCallback wait_fence_sync_callback_; |
@@ -2118,8 +2118,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
TextureToIOSurfaceMap texture_to_io_surface_map_; |
#endif |
- scoped_ptr<CopyTextureCHROMIUMResourceManager> copy_texture_CHROMIUM_; |
- scoped_ptr<ClearFramebufferResourceManager> clear_framebuffer_blit_; |
+ std::unique_ptr<CopyTextureCHROMIUMResourceManager> copy_texture_CHROMIUM_; |
+ std::unique_ptr<ClearFramebufferResourceManager> clear_framebuffer_blit_; |
// Cached values of the currently assigned viewport dimensions. |
GLsizei viewport_max_width_; |
@@ -2132,8 +2132,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
DecoderTextureState texture_state_; |
DecoderFramebufferState framebuffer_state_; |
- scoped_ptr<GPUTracer> gpu_tracer_; |
- scoped_ptr<GPUStateTracer> gpu_state_tracer_; |
+ std::unique_ptr<GPUTracer> gpu_tracer_; |
+ std::unique_ptr<GPUStateTracer> gpu_state_tracer_; |
const unsigned char* gpu_decoder_category_; |
int gpu_trace_level_; |
bool gpu_trace_commands_; |
@@ -2422,7 +2422,7 @@ bool BackTexture::AllocateStorage( |
return false; |
} |
- scoped_ptr<char[]> zero_data; |
+ std::unique_ptr<char[]> zero_data; |
if (zero) { |
zero_data.reset(new char[image_size]); |
memset(zero_data.get(), 0, image_size); |
@@ -3447,7 +3447,7 @@ bool GLES2DecoderImpl::GenBuffersHelper(GLsizei n, const GLuint* client_ids) { |
return false; |
} |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenBuffersARB(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
CreateBuffer(client_ids[ii], service_ids[ii]); |
@@ -3462,7 +3462,7 @@ bool GLES2DecoderImpl::GenFramebuffersHelper( |
return false; |
} |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenFramebuffersEXT(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
CreateFramebuffer(client_ids[ii], service_ids[ii]); |
@@ -3477,7 +3477,7 @@ bool GLES2DecoderImpl::GenRenderbuffersHelper( |
return false; |
} |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenRenderbuffersEXT(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
CreateRenderbuffer(client_ids[ii], service_ids[ii]); |
@@ -3504,7 +3504,7 @@ bool GLES2DecoderImpl::GenTexturesHelper(GLsizei n, const GLuint* client_ids) { |
return false; |
} |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenTextures(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
CreateTexture(client_ids[ii], service_ids[ii]); |
@@ -3518,7 +3518,7 @@ bool GLES2DecoderImpl::GenSamplersHelper(GLsizei n, const GLuint* client_ids) { |
return false; |
} |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenSamplers(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
CreateSampler(client_ids[ii], service_ids[ii]); |
@@ -5111,7 +5111,7 @@ void GLES2DecoderImpl::InvalidateFramebufferImpl( |
// If the default framebuffer is bound but we are still rendering to an |
// FBO, translate attachment names that refer to default framebuffer |
// channels to corresponding framebuffer attachments. |
- scoped_ptr<GLenum[]> translated_attachments(new GLenum[count]); |
+ std::unique_ptr<GLenum[]> translated_attachments(new GLenum[count]); |
for (GLsizei i = 0; i < count; ++i) { |
GLenum attachment = attachments[i]; |
if (!framebuffer && GetBackbufferServiceId()) { |
@@ -5795,7 +5795,7 @@ void GLES2DecoderImpl::DoGetBooleanv(GLenum pname, GLboolean* params) { |
DCHECK(params); |
GLsizei num_written = 0; |
if (GetNumValuesReturnedForGLGet(pname, &num_written)) { |
- scoped_ptr<GLint[]> values(new GLint[num_written]); |
+ std::unique_ptr<GLint[]> values(new GLint[num_written]); |
if (!state_.GetStateAsGLint(pname, values.get(), &num_written)) { |
GetHelper(pname, values.get(), &num_written); |
} |
@@ -5813,7 +5813,7 @@ void GLES2DecoderImpl::DoGetFloatv(GLenum pname, GLfloat* params) { |
GLsizei num_written = 0; |
if (!state_.GetStateAsGLfloat(pname, params, &num_written)) { |
if (GetHelper(pname, NULL, &num_written)) { |
- scoped_ptr<GLint[]> values(new GLint[num_written]); |
+ std::unique_ptr<GLint[]> values(new GLint[num_written]); |
GetHelper(pname, values.get(), &num_written); |
for (GLsizei ii = 0; ii < num_written; ++ii) { |
params[ii] = static_cast<GLfloat>(values[ii]); |
@@ -7477,7 +7477,7 @@ void GLES2DecoderImpl::DoUniform1fv( |
return; |
} |
if (type == GL_BOOL) { |
- scoped_ptr<GLint[]> temp(new GLint[count]); |
+ std::unique_ptr<GLint[]> temp(new GLint[count]); |
for (GLsizei ii = 0; ii < count; ++ii) { |
temp[ii] = static_cast<GLint>(value[ii] != 0.0f); |
} |
@@ -7501,7 +7501,7 @@ void GLES2DecoderImpl::DoUniform2fv( |
} |
if (type == GL_BOOL_VEC2) { |
GLsizei num_values = count * 2; |
- scoped_ptr<GLint[]> temp(new GLint[num_values]); |
+ std::unique_ptr<GLint[]> temp(new GLint[num_values]); |
for (GLsizei ii = 0; ii < num_values; ++ii) { |
temp[ii] = static_cast<GLint>(value[ii] != 0.0f); |
} |
@@ -7525,7 +7525,7 @@ void GLES2DecoderImpl::DoUniform3fv( |
} |
if (type == GL_BOOL_VEC3) { |
GLsizei num_values = count * 3; |
- scoped_ptr<GLint[]> temp(new GLint[num_values]); |
+ std::unique_ptr<GLint[]> temp(new GLint[num_values]); |
for (GLsizei ii = 0; ii < num_values; ++ii) { |
temp[ii] = static_cast<GLint>(value[ii] != 0.0f); |
} |
@@ -7549,7 +7549,7 @@ void GLES2DecoderImpl::DoUniform4fv( |
} |
if (type == GL_BOOL_VEC4) { |
GLsizei num_values = count * 4; |
- scoped_ptr<GLint[]> temp(new GLint[num_values]); |
+ std::unique_ptr<GLint[]> temp(new GLint[num_values]); |
for (GLsizei ii = 0; ii < num_values; ++ii) { |
temp[ii] = static_cast<GLint>(value[ii] != 0.0f); |
} |
@@ -8278,7 +8278,7 @@ bool GLES2DecoderImpl::SimulateFixedAttribs( |
int num_elements = attrib->size() * num_vertices; |
const int src_size = num_elements * sizeof(int32_t); |
const int dst_size = num_elements * sizeof(float); |
- scoped_ptr<float[]> data(new float[num_elements]); |
+ std::unique_ptr<float[]> data(new float[num_elements]); |
const int32_t* src = reinterpret_cast<const int32_t*>( |
attrib->buffer()->GetRange(attrib->offset(), src_size)); |
const int32_t* end = src + num_elements; |
@@ -9681,7 +9681,7 @@ error::Error GLES2DecoderImpl::HandleReadPixels(uint32_t immediate_data_size, |
LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("glReadPixels"); |
ScopedResolvedFrameBufferBinder binder(this, false, true); |
- scoped_ptr<ScopedFrameBufferReadPixelHelper> helper; |
+ std::unique_ptr<ScopedFrameBufferReadPixelHelper> helper; |
if (NeedsIOSurfaceReadbackWorkaround()) |
helper.reset(new ScopedFrameBufferReadPixelHelper(&state_, this)); |
@@ -10480,7 +10480,7 @@ bool GLES2DecoderImpl::ClearLevel(Texture* texture, |
} |
// Assumes the size has already been checked. |
- scoped_ptr<char[]> zero(new char[size]); |
+ std::unique_ptr<char[]> zero(new char[size]); |
memset(zero.get(), 0, size); |
glBindTexture(texture->target(), texture->service_id()); |
@@ -10592,7 +10592,7 @@ bool GLES2DecoderImpl::ClearLevel3D(Texture* texture, |
// Include padding as some drivers incorrectly requires padding for the |
// last row. |
buffer_size += padding; |
- scoped_ptr<char[]> zero(new char[buffer_size]); |
+ std::unique_ptr<char[]> zero(new char[buffer_size]); |
memset(zero.get(), 0, buffer_size); |
// TODO(zmo): Consider glMapBufferRange instead. |
glBufferData( |
@@ -11102,7 +11102,7 @@ error::Error GLES2DecoderImpl::DoCompressedTexImage2D( |
framebuffer_state_.clear_state_dirty = true; |
} |
- scoped_ptr<int8_t[]> zero; |
+ std::unique_ptr<int8_t[]> zero; |
if (!data) { |
zero.reset(new int8_t[image_size]); |
memset(zero.get(), 0, image_size); |
@@ -11297,7 +11297,7 @@ error::Error GLES2DecoderImpl::DoCompressedTexImage3D( |
framebuffer_state_.clear_state_dirty = true; |
} |
- scoped_ptr<int8_t[]> zero; |
+ std::unique_ptr<int8_t[]> zero; |
if (!data) { |
zero.reset(new int8_t[image_size]); |
memset(zero.get(), 0, image_size); |
@@ -11863,7 +11863,7 @@ void GLES2DecoderImpl::DoCopyTexImage2D( |
copyWidth != width || |
copyHeight != height) { |
// some part was clipped so clear the rect. |
- scoped_ptr<char[]> zero(new char[pixels_size]); |
+ std::unique_ptr<char[]> zero(new char[pixels_size]); |
memset(zero.get(), 0, pixels_size); |
glTexImage2D(target, level, |
texture_manager()->AdjustTexInternalFormat(internal_format), |
@@ -12385,7 +12385,7 @@ error::Error GLES2DecoderImpl::HandleGetUniformfv(uint32_t immediate_data_size, |
if (result_type == GL_BOOL || result_type == GL_BOOL_VEC2 || |
result_type == GL_BOOL_VEC3 || result_type == GL_BOOL_VEC4) { |
GLsizei num_values = result_size / sizeof(GLfloat); |
- scoped_ptr<GLint[]> temp(new GLint[num_values]); |
+ std::unique_ptr<GLint[]> temp(new GLint[num_values]); |
glGetUniformiv(service_id, real_location, temp.get()); |
GLfloat* dst = result->GetData(); |
for (GLsizei ii = 0; ii < num_values; ++ii) { |
@@ -12746,7 +12746,7 @@ error::Error GLES2DecoderImpl::HandleShaderBinary(uint32_t immediate_data_size, |
if (shaders == NULL || binary == NULL) { |
return error::kOutOfBounds; |
} |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
for (GLsizei ii = 0; ii < n; ++ii) { |
Shader* shader = GetShader(shaders[ii]); |
if (!shader) { |
@@ -13585,7 +13585,7 @@ bool GLES2DecoderImpl::GenVertexArraysOESHelper( |
CreateVertexAttribManager(client_ids[ii], 0, true); |
} |
} else { |
- scoped_ptr<GLuint[]> service_ids(new GLuint[n]); |
+ std::unique_ptr<GLuint[]> service_ids(new GLuint[n]); |
glGenVertexArraysOES(n, service_ids.get()); |
for (GLsizei ii = 0; ii < n; ++ii) { |
@@ -15489,7 +15489,7 @@ class PathCommandValidatorContext { |
bool GetPathNameData(const Cmd& cmd, |
GLuint num_paths, |
GLenum path_name_type, |
- scoped_ptr<GLuint[]>* out_buffer) { |
+ std::unique_ptr<GLuint[]>* out_buffer) { |
DCHECK(validators_->path_name_type.IsValid(path_name_type)); |
GLuint path_base = static_cast<GLuint>(cmd.pathBase); |
uint32_t shm_id = static_cast<uint32_t>(cmd.paths_shm_id); |
@@ -15576,7 +15576,7 @@ class PathCommandValidatorContext { |
GLuint path_base, |
uint32_t shm_id, |
uint32_t shm_offset, |
- scoped_ptr<GLuint[]>* out_buffer) { |
+ std::unique_ptr<GLuint[]>* out_buffer) { |
uint32_t paths_size = 0; |
if (!SafeMultiplyUint32(num_paths, sizeof(T), &paths_size)) { |
error_ = error::kOutOfBounds; |
@@ -15587,7 +15587,7 @@ class PathCommandValidatorContext { |
error_ = error::kOutOfBounds; |
return false; |
} |
- scoped_ptr<GLuint[]> result_paths(new GLuint[num_paths]); |
+ std::unique_ptr<GLuint[]> result_paths(new GLuint[num_paths]); |
bool has_paths = false; |
for (GLuint i = 0; i < num_paths; ++i) { |
GLuint service_id = 0; |
@@ -15702,7 +15702,7 @@ error::Error GLES2DecoderImpl::HandlePathCommandsCHROMIUM( |
return error::kNoError; |
} |
- scoped_ptr<GLubyte[]> commands; |
+ std::unique_ptr<GLubyte[]> commands; |
base::CheckedNumeric<GLsizei> num_coords_expected = 0; |
if (num_commands > 0) { |
@@ -16040,7 +16040,7 @@ error::Error GLES2DecoderImpl::HandleStencilFillPathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |
@@ -16074,7 +16074,7 @@ error::Error GLES2DecoderImpl::HandleStencilStrokePathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |
@@ -16112,7 +16112,7 @@ error::Error GLES2DecoderImpl::HandleCoverFillPathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |
@@ -16148,7 +16148,7 @@ error::Error GLES2DecoderImpl::HandleCoverStrokePathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |
@@ -16188,7 +16188,7 @@ error::Error GLES2DecoderImpl::HandleStencilThenCoverFillPathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |
@@ -16227,7 +16227,7 @@ GLES2DecoderImpl::HandleStencilThenCoverStrokePathInstancedCHROMIUM( |
if (num_paths == 0) |
return error::kNoError; |
- scoped_ptr<GLuint[]> paths; |
+ std::unique_ptr<GLuint[]> paths; |
if (!v.GetPathNameData(c, num_paths, path_name_type, &paths)) |
return v.error(); |