Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 16293004: Update gpu/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 20f059ebbddf8f3031c0614efe39534b4dafb2b1..1642fe9be4d445fff20f539db9af4ab2ff203282 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -1371,7 +1371,7 @@ class GLES2DecoderImpl : public GLES2Decoder {
Buffer* GetBufferInfoForTarget(GLenum target) {
DCHECK(target == GL_ARRAY_BUFFER || target == GL_ELEMENT_ARRAY_BUFFER);
if (target == GL_ARRAY_BUFFER) {
- return state_.bound_array_buffer;
+ return state_.bound_array_buffer.get();
} else {
return state_.vertex_attrib_manager->element_array_buffer();
}
@@ -1383,7 +1383,7 @@ class GLES2DecoderImpl : public GLES2Decoder {
TextureRef* texture = NULL;
switch (target) {
case GL_TEXTURE_2D:
- texture = unit.bound_texture_2d;
+ texture = unit.bound_texture_2d.get();
break;
case GL_TEXTURE_CUBE_MAP:
case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
@@ -1392,13 +1392,13 @@ class GLES2DecoderImpl : public GLES2Decoder {
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- texture = unit.bound_texture_cube_map;
+ texture = unit.bound_texture_cube_map.get();
break;
case GL_TEXTURE_EXTERNAL_OES:
- texture = unit.bound_texture_external_oes;
+ texture = unit.bound_texture_external_oes.get();
break;
case GL_TEXTURE_RECTANGLE_ARB:
- texture = unit.bound_texture_rectangle_arb;
+ texture = unit.bound_texture_rectangle_arb.get();
break;
default:
NOTREACHED();
@@ -1441,10 +1441,10 @@ class GLES2DecoderImpl : public GLES2Decoder {
switch (target) {
case GL_FRAMEBUFFER:
case GL_DRAW_FRAMEBUFFER_EXT:
- framebuffer = state_.bound_draw_framebuffer;
+ framebuffer = state_.bound_draw_framebuffer.get();
break;
case GL_READ_FRAMEBUFFER_EXT:
- framebuffer = state_.bound_read_framebuffer;
+ framebuffer = state_.bound_read_framebuffer.get();
break;
default:
NOTREACHED();
@@ -1458,7 +1458,7 @@ class GLES2DecoderImpl : public GLES2Decoder {
Renderbuffer* renderbuffer = NULL;
switch (target) {
case GL_RENDERBUFFER:
- renderbuffer = state_.bound_renderbuffer;
+ renderbuffer = state_.bound_renderbuffer.get();
break;
default:
NOTREACHED();
@@ -1520,13 +1520,13 @@ class GLES2DecoderImpl : public GLES2Decoder {
bool ShouldDeferDraws() {
return !offscreen_target_frame_buffer_.get() &&
- state_.bound_draw_framebuffer == NULL &&
+ state_.bound_draw_framebuffer.get() == NULL &&
surface_->DeferDraws();
}
bool ShouldDeferReads() {
return !offscreen_target_frame_buffer_.get() &&
- state_.bound_read_framebuffer == NULL &&
+ state_.bound_read_framebuffer.get() == NULL &&
surface_->DeferDraws();
}
@@ -2215,7 +2215,7 @@ bool GLES2DecoderImpl::Initialize(
// vertex_attrib_manager is set to default_vertex_attrib_manager_ by this call
DoBindVertexArrayOES(0);
- query_manager_.reset(new QueryManager(this, feature_info_));
+ query_manager_.reset(new QueryManager(this, feature_info_.get()));
vertex_array_manager_.reset(new VertexArrayManager());
util_.set_num_compressed_texture_formats(
@@ -2635,7 +2635,7 @@ void GLES2DecoderImpl::DeleteBuffersHelper(
Buffer* buffer = GetBuffer(client_ids[ii]);
if (buffer && !buffer->IsDeleted()) {
state_.vertex_attrib_manager->Unbind(buffer);
- if (state_.bound_array_buffer == buffer) {
+ if (state_.bound_array_buffer.get() == buffer) {
state_.bound_array_buffer = NULL;
}
RemoveBuffer(client_ids[ii]);
@@ -2652,14 +2652,14 @@ void GLES2DecoderImpl::DeleteFramebuffersHelper(
Framebuffer* framebuffer =
GetFramebuffer(client_ids[ii]);
if (framebuffer && !framebuffer->IsDeleted()) {
- if (framebuffer == state_.bound_draw_framebuffer) {
+ if (framebuffer == state_.bound_draw_framebuffer.get()) {
state_.bound_draw_framebuffer = NULL;
clear_state_dirty_ = true;
GLenum target = supports_separate_framebuffer_binds ?
GL_DRAW_FRAMEBUFFER_EXT : GL_FRAMEBUFFER;
glBindFramebufferEXT(target, GetBackbufferServiceId());
}
- if (framebuffer == state_.bound_read_framebuffer) {
+ if (framebuffer == state_.bound_read_framebuffer.get()) {
state_.bound_read_framebuffer = NULL;
GLenum target = supports_separate_framebuffer_binds ?
GL_READ_FRAMEBUFFER_EXT : GL_FRAMEBUFFER;
@@ -2679,23 +2679,23 @@ void GLES2DecoderImpl::DeleteRenderbuffersHelper(
Renderbuffer* renderbuffer =
GetRenderbuffer(client_ids[ii]);
if (renderbuffer && !renderbuffer->IsDeleted()) {
- if (state_.bound_renderbuffer == renderbuffer) {
+ if (state_.bound_renderbuffer.get() == renderbuffer) {
state_.bound_renderbuffer = NULL;
}
// Unbind from current framebuffers.
if (supports_separate_framebuffer_binds) {
- if (state_.bound_read_framebuffer) {
- state_.bound_read_framebuffer->UnbindRenderbuffer(
- GL_READ_FRAMEBUFFER_EXT, renderbuffer);
+ if (state_.bound_read_framebuffer.get()) {
+ state_.bound_read_framebuffer
+ ->UnbindRenderbuffer(GL_READ_FRAMEBUFFER_EXT, renderbuffer);
}
- if (state_.bound_draw_framebuffer) {
- state_.bound_draw_framebuffer->UnbindRenderbuffer(
- GL_DRAW_FRAMEBUFFER_EXT, renderbuffer);
+ if (state_.bound_draw_framebuffer.get()) {
+ state_.bound_draw_framebuffer
+ ->UnbindRenderbuffer(GL_DRAW_FRAMEBUFFER_EXT, renderbuffer);
}
} else {
- if (state_.bound_draw_framebuffer) {
- state_.bound_draw_framebuffer->UnbindRenderbuffer(
- GL_FRAMEBUFFER, renderbuffer);
+ if (state_.bound_draw_framebuffer.get()) {
+ state_.bound_draw_framebuffer
+ ->UnbindRenderbuffer(GL_FRAMEBUFFER, renderbuffer);
}
}
clear_state_dirty_ = true;
@@ -2721,18 +2721,18 @@ void GLES2DecoderImpl::DeleteTexturesHelper(
}
// Unbind from current framebuffers.
if (supports_separate_framebuffer_binds) {
- if (state_.bound_read_framebuffer) {
- state_.bound_read_framebuffer->UnbindTexture(
- GL_READ_FRAMEBUFFER_EXT, texture_ref);
+ if (state_.bound_read_framebuffer.get()) {
+ state_.bound_read_framebuffer
+ ->UnbindTexture(GL_READ_FRAMEBUFFER_EXT, texture_ref);
}
- if (state_.bound_draw_framebuffer) {
- state_.bound_draw_framebuffer->UnbindTexture(
- GL_DRAW_FRAMEBUFFER_EXT, texture_ref);
+ if (state_.bound_draw_framebuffer.get()) {
+ state_.bound_draw_framebuffer
+ ->UnbindTexture(GL_DRAW_FRAMEBUFFER_EXT, texture_ref);
}
} else {
- if (state_.bound_draw_framebuffer) {
- state_.bound_draw_framebuffer->UnbindTexture(GL_FRAMEBUFFER,
- texture_ref);
+ if (state_.bound_draw_framebuffer.get()) {
+ state_.bound_draw_framebuffer
+ ->UnbindTexture(GL_FRAMEBUFFER, texture_ref);
}
}
GLuint service_id = texture->service_id();
@@ -2843,7 +2843,7 @@ void GLES2DecoderImpl::RestoreCurrentFramebufferBindings() {
void GLES2DecoderImpl::RestoreCurrentTexture2DBindings() {
TextureUnit& info = state_.texture_units[0];
GLuint last_id;
- if (info.bound_texture_2d) {
+ if (info.bound_texture_2d.get()) {
last_id = info.bound_texture_2d->service_id();
} else {
last_id = 0;
@@ -2919,19 +2919,19 @@ bool GLES2DecoderImpl::CheckFramebufferValid(
bool GLES2DecoderImpl::CheckBoundFramebuffersValid(const char* func_name) {
if (!features().chromium_framebuffer_multisample) {
bool valid = CheckFramebufferValid(
- state_.bound_draw_framebuffer, GL_FRAMEBUFFER_EXT, func_name);
+ state_.bound_draw_framebuffer.get(), GL_FRAMEBUFFER_EXT, func_name);
if (valid)
OnUseFramebuffer();
return valid;
}
- return CheckFramebufferValid(
- state_.bound_draw_framebuffer,
- GL_DRAW_FRAMEBUFFER_EXT, func_name) &&
- CheckFramebufferValid(
- state_.bound_read_framebuffer,
- GL_READ_FRAMEBUFFER_EXT, func_name);
+ return CheckFramebufferValid(state_.bound_draw_framebuffer.get(),
+ GL_DRAW_FRAMEBUFFER_EXT,
+ func_name) &&
+ CheckFramebufferValid(state_.bound_read_framebuffer.get(),
+ GL_READ_FRAMEBUFFER_EXT,
+ func_name);
}
gfx::Size GLES2DecoderImpl::GetBoundReadFrameBufferSize() {
@@ -2984,7 +2984,7 @@ void GLES2DecoderImpl::UpdateParentTextureInfo() {
TextureManager* parent_texture_manager = parent_->texture_manager();
glBindTexture(target, offscreen_saved_color_texture_info_->service_id());
parent_texture_manager->SetLevelInfo(
- offscreen_saved_color_texture_info_,
+ offscreen_saved_color_texture_info_.get(),
GL_TEXTURE_2D,
0, // level
GL_RGBA,
@@ -2998,25 +2998,25 @@ void GLES2DecoderImpl::UpdateParentTextureInfo() {
parent_texture_manager->SetParameter(
"UpdateParentTextureInfo",
GetErrorState(),
- offscreen_saved_color_texture_info_,
+ offscreen_saved_color_texture_info_.get(),
GL_TEXTURE_MAG_FILTER,
GL_NEAREST);
parent_texture_manager->SetParameter(
"UpdateParentTextureInfo",
GetErrorState(),
- offscreen_saved_color_texture_info_,
+ offscreen_saved_color_texture_info_.get(),
GL_TEXTURE_MIN_FILTER,
GL_NEAREST);
parent_texture_manager->SetParameter(
"UpdateParentTextureInfo",
GetErrorState(),
- offscreen_saved_color_texture_info_,
+ offscreen_saved_color_texture_info_.get(),
GL_TEXTURE_WRAP_S,
GL_CLAMP_TO_EDGE);
parent_texture_manager->SetParameter(
"UpdateParentTextureInfo",
GetErrorState(),
- offscreen_saved_color_texture_info_,
+ offscreen_saved_color_texture_info_.get(),
GL_TEXTURE_WRAP_T,
GL_CLAMP_TO_EDGE);
TextureRef* texture_ref = GetTextureInfoForTarget(target);
@@ -3129,8 +3129,9 @@ void GLES2DecoderImpl::Destroy(bool have_context) {
copy_texture_CHROMIUM_.reset();
}
- if (state_.current_program) {
- program_manager()->UnuseProgram(shader_manager(), state_.current_program);
+ if (state_.current_program.get()) {
+ program_manager()->UnuseProgram(shader_manager(),
+ state_.current_program.get());
state_.current_program = NULL;
}
@@ -3205,7 +3206,7 @@ void GLES2DecoderImpl::Destroy(bool have_context) {
// by the context group.
async_pixel_transfer_manager_.reset();
- if (group_) {
+ if (group_.get()) {
group_->Destroy(this, have_context);
group_ = NULL;
}
@@ -3249,7 +3250,7 @@ bool GLES2DecoderImpl::SetParent(GLES2Decoder* new_parent,
parent_->children_.erase(it);
// First check the texture has been mapped into the parent. This might not
// be the case if initialization failed midway through.
- if (offscreen_saved_color_texture_info_ &&
+ if (offscreen_saved_color_texture_info_.get() &&
offscreen_saved_color_texture_info_->client_id()) {
parent_->texture_manager()->RemoveTexture(
offscreen_saved_color_texture_info_->client_id());
@@ -3280,8 +3281,8 @@ bool GLES2DecoderImpl::SetParent(GLES2Decoder* new_parent,
offscreen_saved_color_texture_info_ =
new_parent_impl->CreateTexture(new_parent_texture_id, service_id);
offscreen_saved_color_texture_info_->texture()->SetNotOwned();
- new_parent_impl->texture_manager()->
- SetTarget(offscreen_saved_color_texture_info_, GL_TEXTURE_2D);
+ new_parent_impl->texture_manager()
+ ->SetTarget(offscreen_saved_color_texture_info_.get(), GL_TEXTURE_2D);
parent_ = base::AsWeakPtr<GLES2DecoderImpl>(new_parent_impl);
@@ -3687,9 +3688,9 @@ void GLES2DecoderImpl::ApplyDirtyState() {
}
GLuint GLES2DecoderImpl::GetBackbufferServiceId() const {
- return (offscreen_target_frame_buffer_.get()) ?
- offscreen_target_frame_buffer_->id() :
- (surface_ ? surface_->GetBackingFrameBufferObject() : 0);
+ return (offscreen_target_frame_buffer_.get())
+ ? offscreen_target_frame_buffer_->id()
+ : (surface_.get() ? surface_->GetBackingFrameBufferObject() : 0);
}
void GLES2DecoderImpl::RestoreState() const {
@@ -3703,16 +3704,16 @@ void GLES2DecoderImpl::RestoreState() const {
}
void GLES2DecoderImpl::RestoreFramebufferBindings() const {
- GLuint service_id = state_.bound_draw_framebuffer ?
- state_.bound_draw_framebuffer->service_id() :
- GetBackbufferServiceId();
+ GLuint service_id = state_.bound_draw_framebuffer.get()
+ ? state_.bound_draw_framebuffer->service_id()
+ : GetBackbufferServiceId();
if (!features().chromium_framebuffer_multisample) {
glBindFramebufferEXT(GL_FRAMEBUFFER, service_id);
} else {
glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER, service_id);
- service_id = state_.bound_read_framebuffer ?
- state_.bound_read_framebuffer->service_id() :
- GetBackbufferServiceId();
+ service_id = state_.bound_read_framebuffer.get()
+ ? state_.bound_read_framebuffer->service_id()
+ : GetBackbufferServiceId();
glBindFramebufferEXT(GL_READ_FRAMEBUFFER, service_id);
}
OnFboChanged();
@@ -4166,7 +4167,7 @@ bool GLES2DecoderImpl::GetHelper(
case GL_ARRAY_BUFFER_BINDING:
*num_written = 1;
if (params) {
- if (state_.bound_array_buffer) {
+ if (state_.bound_array_buffer.get()) {
GLuint client_id = 0;
buffer_manager()->GetClientId(state_.bound_array_buffer->service_id(),
&client_id);
@@ -4236,7 +4237,7 @@ bool GLES2DecoderImpl::GetHelper(
case GL_CURRENT_PROGRAM:
*num_written = 1;
if (params) {
- if (state_.current_program) {
+ if (state_.current_program.get()) {
GLuint client_id = 0;
program_manager()->GetClientId(
state_.current_program->service_id(), &client_id);
@@ -4249,7 +4250,8 @@ bool GLES2DecoderImpl::GetHelper(
case GL_VERTEX_ARRAY_BINDING_OES:
*num_written = 1;
if (params) {
- if (state_.vertex_attrib_manager != default_vertex_attrib_manager_) {
+ if (state_.vertex_attrib_manager.get() !=
+ default_vertex_attrib_manager_.get()) {
GLuint client_id = 0;
vertex_array_manager_->GetClientId(
state_.vertex_attrib_manager->service_id(), &client_id);
@@ -4263,7 +4265,7 @@ bool GLES2DecoderImpl::GetHelper(
*num_written = 1;
if (params) {
TextureUnit& unit = state_.texture_units[state_.active_texture_unit];
- if (unit.bound_texture_2d) {
+ if (unit.bound_texture_2d.get()) {
*params = unit.bound_texture_2d->client_id();
} else {
*params = 0;
@@ -4274,7 +4276,7 @@ bool GLES2DecoderImpl::GetHelper(
*num_written = 1;
if (params) {
TextureUnit& unit = state_.texture_units[state_.active_texture_unit];
- if (unit.bound_texture_cube_map) {
+ if (unit.bound_texture_cube_map.get()) {
*params = unit.bound_texture_cube_map->client_id();
} else {
*params = 0;
@@ -4285,7 +4287,7 @@ bool GLES2DecoderImpl::GetHelper(
*num_written = 1;
if (params) {
TextureUnit& unit = state_.texture_units[state_.active_texture_unit];
- if (unit.bound_texture_external_oes) {
+ if (unit.bound_texture_external_oes.get()) {
*params = unit.bound_texture_external_oes->client_id();
} else {
*params = 0;
@@ -4296,7 +4298,7 @@ bool GLES2DecoderImpl::GetHelper(
*num_written = 1;
if (params) {
TextureUnit& unit = state_.texture_units[state_.active_texture_unit];
- if (unit.bound_texture_rectangle_arb) {
+ if (unit.bound_texture_rectangle_arb.get()) {
*params = unit.bound_texture_rectangle_arb->client_id();
} else {
*params = 0;
@@ -4757,7 +4759,7 @@ void GLES2DecoderImpl::DoFramebufferRenderbuffer(
if (error == GL_NO_ERROR) {
framebuffer->AttachRenderbuffer(attachment, renderbuffer);
}
- if (framebuffer == state_.bound_draw_framebuffer) {
+ if (framebuffer == state_.bound_draw_framebuffer.get()) {
clear_state_dirty_ = true;
}
OnFboChanged();
@@ -4902,7 +4904,7 @@ void GLES2DecoderImpl::DoFramebufferTexture2D(
if (error == GL_NO_ERROR) {
framebuffer->AttachTexture(attachment, texture_ref, textarget, level);
}
- if (framebuffer == state_.bound_draw_framebuffer) {
+ if (framebuffer == state_.bound_draw_framebuffer.get()) {
clear_state_dirty_ = true;
}
OnFboChanged();
@@ -5109,14 +5111,14 @@ void GLES2DecoderImpl::DoLinkProgram(GLuint program_id) {
ShaderTranslator* vertex_translator = NULL;
ShaderTranslator* fragment_translator = NULL;
if (use_shader_translator_) {
- vertex_translator = vertex_translator_;
- fragment_translator = fragment_translator_;
+ vertex_translator = vertex_translator_.get();
+ fragment_translator = fragment_translator_.get();
}
if (program->Link(shader_manager(),
- vertex_translator,
- fragment_translator,
- feature_info_,
- shader_cache_callback_)) {
+ vertex_translator,
+ fragment_translator,
+ feature_info_.get(),
+ shader_cache_callback_)) {
if (program == state_.current_program.get()) {
if (workarounds().use_current_program_after_successful_link) {
glUseProgram(program->service_id());
@@ -5178,7 +5180,7 @@ void GLES2DecoderImpl::DoTexParameteriv(
}
bool GLES2DecoderImpl::CheckCurrentProgram(const char* function_name) {
- if (!state_.current_program) {
+ if (!state_.current_program.get()) {
// The program does not exist.
LOCAL_SET_GL_ERROR(
GL_INVALID_OPERATION, function_name, "no program in use");
@@ -5574,14 +5576,15 @@ void GLES2DecoderImpl::DoUseProgram(GLuint program_id) {
}
service_id = program->service_id();
}
- if (state_.current_program) {
- program_manager()->UnuseProgram(shader_manager(), state_.current_program);
+ if (state_.current_program.get()) {
+ program_manager()->UnuseProgram(shader_manager(),
+ state_.current_program.get());
}
state_.current_program = program;
LogClientServiceMapping("glUseProgram", program_id, service_id);
glUseProgram(service_id);
- if (state_.current_program) {
- program_manager()->UseProgram(state_.current_program);
+ if (state_.current_program.get()) {
+ program_manager()->UseProgram(state_.current_program.get());
}
}
@@ -5609,12 +5612,12 @@ void GLES2DecoderImpl::ForceCompileShaderIfPending(Shader* shader) {
program_manager()->ForceCompileShader(shader->deferred_compilation_source(),
shader,
translator,
- feature_info_);
+ feature_info_.get());
}
}
bool GLES2DecoderImpl::SetBlackTextureForNonRenderableTextures() {
- DCHECK(state_.current_program);
+ DCHECK(state_.current_program.get());
// Only check if there are some unrenderable textures.
if (!texture_manager()->HaveUnrenderableTextures()) {
return false;
@@ -5654,9 +5657,9 @@ bool GLES2DecoderImpl::SetBlackTextureForNonRenderableTextures() {
}
void GLES2DecoderImpl::RestoreStateForNonRenderableTextures() {
- DCHECK(state_.current_program);
+ DCHECK(state_.current_program.get());
const Program::SamplerIndices& sampler_indices =
- state_.current_program->sampler_indices();
+ state_.current_program->sampler_indices();
for (size_t ii = 0; ii < sampler_indices.size(); ++ii) {
const Program::UniformInfo* uniform_info =
state_.current_program->GetUniformInfo(sampler_indices[ii]);
@@ -5665,15 +5668,16 @@ void GLES2DecoderImpl::RestoreStateForNonRenderableTextures() {
GLuint texture_unit_index = uniform_info->texture_units[jj];
if (texture_unit_index < state_.texture_units.size()) {
TextureUnit& texture_unit = state_.texture_units[texture_unit_index];
- TextureRef* texture_ref = uniform_info->type == GL_SAMPLER_2D ?
- texture_unit.bound_texture_2d :
- texture_unit.bound_texture_cube_map;
+ TextureRef* texture_ref =
+ uniform_info->type == GL_SAMPLER_2D
+ ? texture_unit.bound_texture_2d.get()
+ : texture_unit.bound_texture_cube_map.get();
if (!texture_ref || !texture_manager()->CanRender(texture_ref)) {
glActiveTexture(GL_TEXTURE0 + texture_unit_index);
// Get the texture_ref info that was previously bound here.
- texture_ref = texture_unit.bind_target == GL_TEXTURE_2D ?
- texture_unit.bound_texture_2d :
- texture_unit.bound_texture_cube_map;
+ texture_ref = texture_unit.bind_target == GL_TEXTURE_2D
+ ? texture_unit.bound_texture_2d.get()
+ : texture_unit.bound_texture_cube_map.get();
glBindTexture(texture_unit.bind_target,
texture_ref ? texture_ref->service_id() : 0);
}
@@ -5691,9 +5695,9 @@ bool GLES2DecoderImpl::ClearUnclearedTextures() {
}
// 1: Check all textures we are about to render with.
- if (state_.current_program) {
+ if (state_.current_program.get()) {
const Program::SamplerIndices& sampler_indices =
- state_.current_program->sampler_indices();
+ state_.current_program->sampler_indices();
for (size_t ii = 0; ii < sampler_indices.size(); ++ii) {
const Program::UniformInfo* uniform_info =
state_.current_program->GetUniformInfo(sampler_indices[ii]);
@@ -5722,20 +5726,20 @@ bool GLES2DecoderImpl::IsDrawValid(
// it could never be invalid since glUseProgram would have failed. While
// glLinkProgram could later mark the program as invalid the previous
// valid program will still function if it is still the current program.
- if (!state_.current_program) {
+ if (!state_.current_program.get()) {
// The program does not exist.
// But GL says no ERROR.
LOCAL_RENDER_WARNING("Drawing with no current shader program.");
return false;
}
- return state_.vertex_attrib_manager->ValidateBindings(
- function_name,
- this,
- feature_info_.get(),
- state_.current_program,
- max_vertex_accessed,
- primcount);
+ return state_.vertex_attrib_manager
+ ->ValidateBindings(function_name,
+ this,
+ feature_info_.get(),
+ state_.current_program.get(),
+ max_vertex_accessed,
+ primcount);
}
bool GLES2DecoderImpl::SimulateAttrib0(
@@ -5822,7 +5826,8 @@ void GLES2DecoderImpl::RestoreStateForAttrib(GLuint attrib_index) {
glVertexAttribDivisorANGLE(attrib_index, attrib->divisor());
glBindBuffer(
GL_ARRAY_BUFFER,
- state_.bound_array_buffer ? state_.bound_array_buffer->service_id() : 0);
+ state_.bound_array_buffer.get() ? state_.bound_array_buffer->service_id()
+ : 0);
// Never touch vertex attribute 0's state (in particular, never
// disable it) when running on desktop GL because it will never be
@@ -5953,7 +5958,8 @@ void GLES2DecoderImpl::RestoreStateForSimulatedFixedAttribs() {
// settings and passing GL_FIXED to it will not work.
glBindBuffer(
GL_ARRAY_BUFFER,
- state_.bound_array_buffer ? state_.bound_array_buffer->service_id() : 0);
+ state_.bound_array_buffer.get() ? state_.bound_array_buffer->service_id()
+ : 0);
}
error::Error GLES2DecoderImpl::DoDrawArrays(
@@ -6273,7 +6279,7 @@ void GLES2DecoderImpl::DoCompileShader(GLuint client_id) {
vertex_translator_.get() : fragment_translator_.get();
}
- program_manager()->DoCompileShader(shader, translator, feature_info_);
+ program_manager()->DoCompileShader(shader, translator, feature_info_.get());
};
void GLES2DecoderImpl::DoGetShaderiv(
@@ -6614,8 +6620,10 @@ void GLES2DecoderImpl::DoVertexAttrib4fv(GLuint index, const GLfloat* v) {
error::Error GLES2DecoderImpl::HandleVertexAttribPointer(
uint32 immediate_data_size, const cmds::VertexAttribPointer& c) {
- if (!state_.bound_array_buffer || state_.bound_array_buffer->IsDeleted()) {
- if (state_.vertex_attrib_manager == default_vertex_attrib_manager_) {
+ if (!state_.bound_array_buffer.get() ||
+ state_.bound_array_buffer->IsDeleted()) {
+ if (state_.vertex_attrib_manager.get() ==
+ default_vertex_attrib_manager_.get()) {
LOCAL_SET_GL_ERROR(
GL_INVALID_VALUE, "glVertexAttribPointer", "no array buffer bound");
return error::kNoError;
@@ -6677,15 +6685,15 @@ error::Error GLES2DecoderImpl::HandleVertexAttribPointer(
"glVertexAttribPointer", "stride not valid for type");
return error::kNoError;
}
- state_.vertex_attrib_manager->SetAttribInfo(
- indx,
- state_.bound_array_buffer,
- size,
- type,
- normalized,
- stride,
- stride != 0 ? stride : component_size * size,
- offset);
+ state_.vertex_attrib_manager
+ ->SetAttribInfo(indx,
+ state_.bound_array_buffer.get(),
+ size,
+ type,
+ normalized,
+ stride,
+ stride != 0 ? stride : component_size * size,
+ offset);
if (type != GL_FIXED) {
glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
}
@@ -9077,7 +9085,7 @@ void GLES2DecoderImpl::DeleteQueriesEXTHelper(
for (GLsizei ii = 0; ii < n; ++ii) {
QueryManager::Query* query = query_manager_->GetQuery(client_ids[ii]);
if (query && !query->IsDeleted()) {
- if (query == state_.current_query) {
+ if (query == state_.current_query.get()) {
state_.current_query = NULL;
}
query->Destroy(true);
@@ -9130,7 +9138,7 @@ error::Error GLES2DecoderImpl::HandleBeginQueryEXT(
break;
}
- if (state_.current_query) {
+ if (state_.current_query.get()) {
LOCAL_SET_GL_ERROR(
GL_INVALID_OPERATION, "glBeginQueryEXT", "query already in progress");
return error::kNoError;
@@ -9188,7 +9196,7 @@ error::Error GLES2DecoderImpl::HandleEndQueryEXT(
GLenum target = static_cast<GLenum>(c.target);
uint32 submit_count = static_cast<GLuint>(c.submit_count);
- if (!state_.current_query) {
+ if (!state_.current_query.get()) {
LOCAL_SET_GL_ERROR(
GL_INVALID_OPERATION, "glEndQueryEXT", "No active query");
return error::kNoError;
@@ -9200,7 +9208,7 @@ error::Error GLES2DecoderImpl::HandleEndQueryEXT(
return error::kNoError;
}
- if (!query_manager_->EndQuery(state_.current_query, submit_count)) {
+ if (!query_manager_->EndQuery(state_.current_query.get(), submit_count)) {
return error::kOutOfBounds;
}
@@ -9241,7 +9249,7 @@ void GLES2DecoderImpl::DeleteVertexArraysOESHelper(
VertexAttribManager* vao =
GetVertexAttribManager(client_ids[ii]);
if (vao && !vao->IsDeleted()) {
- if (state_.vertex_attrib_manager == vao) {
+ if (state_.vertex_attrib_manager.get() == vao) {
state_.vertex_attrib_manager = default_vertex_attrib_manager_;
}
RemoveVertexAttribManager(client_ids[ii]);
@@ -9267,11 +9275,11 @@ void GLES2DecoderImpl::DoBindVertexArrayOES(GLuint client_id) {
service_id = vao->service_id();
}
} else {
- vao = default_vertex_attrib_manager_;
+ vao = default_vertex_attrib_manager_.get();
}
// Only set the VAO state if it's changed
- if (state_.vertex_attrib_manager != vao) {
+ if (state_.vertex_attrib_manager.get() != vao) {
state_.vertex_attrib_manager = vao;
if (!features().native_vertex_array_object) {
EmulateVertexArrayState();
@@ -9857,10 +9865,10 @@ void GLES2DecoderImpl::DoConsumeTextureCHROMIUM(GLenum target,
scoped_refptr<TextureRef> texture_ref =
GetTextureInfoForTargetUnlessDefault(target);
- if (!texture_ref) {
- LOCAL_SET_GL_ERROR(
- GL_INVALID_OPERATION,
- "glConsumeTextureCHROMIUM", "unknown texture for target");
+ if (!texture_ref.get()) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION,
+ "glConsumeTextureCHROMIUM",
+ "unknown texture for target");
return;
}
GLuint client_id = texture_ref->client_id();
« no previous file with comments | « gpu/command_buffer/service/framebuffer_manager_unittest.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698