Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index 24e2a30f7e016f4e9ed5fac5815ac938240dc9ea..9c3f729ee45a2adda935be7f8206957a06bd75d4 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -382,17 +382,6 @@ const RendererCapabilitiesImpl& GLRenderer::Capabilities() const { |
return capabilities_; |
} |
-void GLRenderer::DebugGLCall(GLES2Interface* gl, |
- const char* command, |
- const char* file, |
- int line) { |
- GLuint error = gl->GetError(); |
- if (error != GL_NO_ERROR) |
- LOG(ERROR) << "GL command failed: File: " << file << "\n\tLine " << line |
- << "\n\tcommand: " << command << ", error " |
- << static_cast<int>(error) << "\n"; |
-} |
- |
void GLRenderer::DidChangeVisibility() { |
EnforceMemoryPolicy(); |
@@ -439,9 +428,9 @@ void GLRenderer::ClearFramebuffer(DrawingFrame* frame) { |
// On DEBUG builds, opaque render passes are cleared to blue to easily see |
// regions that were not drawn on the screen. |
if (frame->current_render_pass->has_transparent_background) |
- GLC(gl_, gl_->ClearColor(0, 0, 0, 0)); |
+ gl_->ClearColor(0, 0, 0, 0); |
else |
- GLC(gl_, gl_->ClearColor(0, 0, 1, 1)); |
+ gl_->ClearColor(0, 0, 1, 1); |
bool always_clear = false; |
#ifndef NDEBUG |
@@ -509,8 +498,8 @@ void GLRenderer::BeginDrawingFrame(DrawingFrame* frame) { |
} |
void GLRenderer::DoNoOp() { |
- GLC(gl_, gl_->BindFramebuffer(GL_FRAMEBUFFER, 0)); |
- GLC(gl_, gl_->Flush()); |
+ gl_->BindFramebuffer(GL_FRAMEBUFFER, 0); |
+ gl_->Flush(); |
} |
void GLRenderer::DoDrawQuad(DrawingFrame* frame, |
@@ -587,12 +576,10 @@ void GLRenderer::DrawCheckerboardQuad(const DrawingFrame* frame, |
SetUseProgram(program->program()); |
SkColor color = quad->color; |
- GLC(gl_, |
- gl_->Uniform4f(program->fragment_shader().color_location(), |
- SkColorGetR(color) * (1.0f / 255.0f), |
- SkColorGetG(color) * (1.0f / 255.0f), |
- SkColorGetB(color) * (1.0f / 255.0f), |
- 1)); |
+ gl_->Uniform4f(program->fragment_shader().color_location(), |
+ SkColorGetR(color) * (1.0f / 255.0f), |
+ SkColorGetG(color) * (1.0f / 255.0f), |
+ SkColorGetB(color) * (1.0f / 255.0f), 1); |
const int kCheckerboardWidth = 16; |
float frequency = 1.0f / kCheckerboardWidth; |
@@ -604,16 +591,10 @@ void GLRenderer::DrawCheckerboardQuad(const DrawingFrame* frame, |
static_cast<int>(tile_rect.y() / quad->scale) % kCheckerboardWidth; |
float tex_scale_x = tile_rect.width() / quad->scale; |
float tex_scale_y = tile_rect.height() / quad->scale; |
- GLC(gl_, |
- gl_->Uniform4f(program->fragment_shader().tex_transform_location(), |
- tex_offset_x, |
- tex_offset_y, |
- tex_scale_x, |
- tex_scale_y)); |
+ gl_->Uniform4f(program->fragment_shader().tex_transform_location(), |
+ tex_offset_x, tex_offset_y, tex_scale_x, tex_scale_y); |
- GLC(gl_, |
- gl_->Uniform1f(program->fragment_shader().frequency_location(), |
- frequency)); |
+ gl_->Uniform1f(program->fragment_shader().frequency_location(), frequency); |
SetShaderOpacity(quad->opacity(), |
program->fragment_shader().alpha_location()); |
@@ -642,25 +623,22 @@ void GLRenderer::DrawDebugBorderQuad(const DrawingFrame* frame, |
QuadRectTransform(&render_matrix, quad->quadTransform(), layer_rect); |
GLRenderer::ToGLMatrix(&gl_matrix[0], |
frame->projection_matrix * render_matrix); |
- GLC(gl_, |
- gl_->UniformMatrix4fv( |
- program->vertex_shader().matrix_location(), 1, false, &gl_matrix[0])); |
+ gl_->UniformMatrix4fv(program->vertex_shader().matrix_location(), 1, false, |
+ &gl_matrix[0]); |
SkColor color = quad->color; |
float alpha = SkColorGetA(color) * (1.0f / 255.0f); |
- GLC(gl_, |
- gl_->Uniform4f(program->fragment_shader().color_location(), |
- (SkColorGetR(color) * (1.0f / 255.0f)) * alpha, |
- (SkColorGetG(color) * (1.0f / 255.0f)) * alpha, |
- (SkColorGetB(color) * (1.0f / 255.0f)) * alpha, |
- alpha)); |
+ gl_->Uniform4f(program->fragment_shader().color_location(), |
+ (SkColorGetR(color) * (1.0f / 255.0f)) * alpha, |
+ (SkColorGetG(color) * (1.0f / 255.0f)) * alpha, |
+ (SkColorGetB(color) * (1.0f / 255.0f)) * alpha, alpha); |
- GLC(gl_, gl_->LineWidth(quad->width)); |
+ gl_->LineWidth(quad->width); |
// The indices for the line are stored in the same array as the triangle |
// indices. |
- GLC(gl_, gl_->DrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_SHORT, 0)); |
+ gl_->DrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_SHORT, 0); |
} |
static skia::RefPtr<SkImage> ApplyImageFilter( |
@@ -820,10 +798,10 @@ void GLRenderer::ApplyBlendModeUsingBlendFunc(SkXfermode::Mode blend_mode) { |
return; |
} |
- GLC(gl_, gl_->BlendEquation(equation)); |
+ gl_->BlendEquation(equation); |
} else { |
if (blend_mode == SkXfermode::kScreen_Mode) { |
- GLC(gl_, gl_->BlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ONE)); |
+ gl_->BlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ONE); |
} |
} |
} |
@@ -833,9 +811,9 @@ void GLRenderer::RestoreBlendFuncToDefault(SkXfermode::Mode blend_mode) { |
return; |
if (use_blend_equation_advanced_) { |
- GLC(gl_, gl_->BlendEquation(GL_FUNC_ADD)); |
+ gl_->BlendEquation(GL_FUNC_ADD); |
} else { |
- GLC(gl_, gl_->BlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)); |
+ gl_->BlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); |
} |
} |
@@ -1093,7 +1071,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
if (!use_shaders_for_blending) { |
if (!use_blend_equation_advanced_coherent_ && use_blend_equation_advanced_) |
- GLC(gl_, gl_->BlendBarrierKHR()); |
+ gl_->BlendBarrierKHR(); |
ApplyBlendModeUsingBlendFunc(blend_mode); |
} |
@@ -1118,7 +1096,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (!use_aa && mask_texture_id && !use_color_matrix) { |
const RenderPassMaskProgram* program = GetRenderPassMaskProgram( |
tex_coord_precision, mask_sampler, |
@@ -1126,14 +1104,14 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (use_aa && !mask_texture_id && !use_color_matrix) { |
const RenderPassProgramAA* program = |
GetRenderPassProgramAA(tex_coord_precision, shader_blend_mode); |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (use_aa && mask_texture_id && use_color_matrix) { |
const RenderPassMaskColorMatrixProgramAA* program = |
GetRenderPassMaskColorMatrixProgramAA( |
@@ -1142,7 +1120,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (use_aa && !mask_texture_id && use_color_matrix) { |
const RenderPassColorMatrixProgramAA* program = |
GetRenderPassColorMatrixProgramAA(tex_coord_precision, |
@@ -1150,7 +1128,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (!use_aa && mask_texture_id && use_color_matrix) { |
const RenderPassMaskColorMatrixProgram* program = |
GetRenderPassMaskColorMatrixProgram( |
@@ -1159,21 +1137,21 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else if (!use_aa && !mask_texture_id && use_color_matrix) { |
const RenderPassColorMatrixProgram* program = |
GetRenderPassColorMatrixProgram(tex_coord_precision, shader_blend_mode); |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} else { |
const RenderPassProgram* program = |
GetRenderPassProgram(tex_coord_precision, shader_blend_mode); |
SetUseProgram(program->program()); |
program->vertex_shader().FillLocations(&locations); |
program->fragment_shader().FillLocations(&locations); |
- GLC(gl_, gl_->Uniform1i(locations.sampler, 0)); |
+ gl_->Uniform1i(locations.sampler, 0); |
} |
float tex_scale_x = |
quad->rect.width() / static_cast<float>(contents_texture->size().width()); |
@@ -1186,18 +1164,14 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// Flip the content vertically in the shader, as the RenderPass input |
// texture is already oriented the same way as the framebuffer, but the |
// projection transform does a flip. |
- GLC(gl_, |
- gl_->Uniform4f(locations.tex_transform, |
- 0.0f, |
- tex_scale_y, |
- tex_scale_x, |
- -tex_scale_y)); |
+ gl_->Uniform4f(locations.tex_transform, 0.0f, tex_scale_y, tex_scale_x, |
+ -tex_scale_y); |
GLint last_texture_unit = 0; |
if (locations.mask_sampler != -1) { |
DCHECK_NE(locations.mask_tex_coord_scale, 1); |
DCHECK_NE(locations.mask_tex_coord_offset, 1); |
- GLC(gl_, gl_->Uniform1i(locations.mask_sampler, 1)); |
+ gl_->Uniform1i(locations.mask_sampler, 1); |
gfx::RectF mask_uv_rect = quad->MaskUVRect(); |
if (mask_sampler != SAMPLER_TYPE_2D) { |
@@ -1208,20 +1182,17 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// Mask textures are oriented vertically flipped relative to the framebuffer |
// and the RenderPass contents texture, so we flip the tex coords from the |
// RenderPass texture to find the mask texture coords. |
- GLC(gl_, |
- gl_->Uniform2f(locations.mask_tex_coord_offset, |
- mask_uv_rect.x(), |
- mask_uv_rect.bottom())); |
- GLC(gl_, |
- gl_->Uniform2f(locations.mask_tex_coord_scale, |
- mask_uv_rect.width() / tex_scale_x, |
- -mask_uv_rect.height() / tex_scale_y)); |
+ gl_->Uniform2f(locations.mask_tex_coord_offset, mask_uv_rect.x(), |
+ mask_uv_rect.bottom()); |
+ gl_->Uniform2f(locations.mask_tex_coord_scale, |
+ mask_uv_rect.width() / tex_scale_x, |
+ -mask_uv_rect.height() / tex_scale_y); |
last_texture_unit = 1; |
} |
if (locations.edge != -1) |
- GLC(gl_, gl_->Uniform3fv(locations.edge, 8, edge)); |
+ gl_->Uniform3fv(locations.edge, 8, edge); |
if (locations.viewport != -1) { |
float viewport[4] = { |
@@ -1230,7 +1201,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
static_cast<float>(current_window_space_viewport_.width()), |
static_cast<float>(current_window_space_viewport_.height()), |
}; |
- GLC(gl_, gl_->Uniform4fv(locations.viewport, 1, viewport)); |
+ gl_->Uniform4fv(locations.viewport, 1, viewport); |
} |
if (locations.color_matrix != -1) { |
@@ -1239,8 +1210,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
for (int j = 0; j < 4; ++j) |
matrix[i * 4 + j] = SkScalarToFloat(color_matrix[j * 5 + i]); |
} |
- GLC(gl_, |
- gl_->UniformMatrix4fv(locations.color_matrix, 1, false, matrix)); |
+ gl_->UniformMatrix4fv(locations.color_matrix, 1, false, matrix); |
} |
static const float kScale = 1.0f / 255.0f; |
if (locations.color_offset != -1) { |
@@ -1248,7 +1218,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
for (int i = 0; i < 4; ++i) |
offset[i] = SkScalarToFloat(color_matrix[i * 5 + 4]) * kScale; |
- GLC(gl_, gl_->Uniform4fv(locations.color_offset, 1, offset)); |
+ gl_->Uniform4fv(locations.color_offset, 1, offset); |
} |
scoped_ptr<ResourceProvider::ScopedSamplerGL> shader_background_sampler_lock; |
@@ -1257,23 +1227,19 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
DCHECK_NE(locations.backdrop, 0); |
DCHECK_NE(locations.backdrop_rect, 0); |
- GLC(gl_, gl_->Uniform1i(locations.backdrop, ++last_texture_unit)); |
+ gl_->Uniform1i(locations.backdrop, ++last_texture_unit); |
- GLC(gl_, |
- gl_->Uniform4f(locations.backdrop_rect, |
- background_rect.x(), |
- background_rect.y(), |
- background_rect.width(), |
- background_rect.height())); |
+ gl_->Uniform4f(locations.backdrop_rect, background_rect.x(), |
+ background_rect.y(), background_rect.width(), |
+ background_rect.height()); |
if (background_image) { |
GrTexture* texture = background_image->getTexture(); |
- GLC(gl_, gl_->ActiveTexture(GL_TEXTURE0 + last_texture_unit)); |
+ gl_->ActiveTexture(GL_TEXTURE0 + last_texture_unit); |
gl_->BindTexture(GL_TEXTURE_2D, texture->getTextureHandle()); |
- GLC(gl_, gl_->ActiveTexture(GL_TEXTURE0)); |
+ gl_->ActiveTexture(GL_TEXTURE0); |
if (mask_for_background) |
- GLC(gl_, gl_->Uniform1i(locations.original_backdrop, |
- ++last_texture_unit)); |
+ gl_->Uniform1i(locations.original_backdrop, ++last_texture_unit); |
} |
if (background_texture) { |
shader_background_sampler_lock = make_scoped_ptr( |
@@ -1294,7 +1260,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// Flush the compositor context before the filter bitmap goes out of |
// scope, so the draw gets processed before the filter texture gets deleted. |
if (filter_image) |
- GLC(gl_, gl_->Flush()); |
+ gl_->Flush(); |
if (!use_shaders_for_blending) |
RestoreBlendFuncToDefault(blend_mode); |
@@ -1607,12 +1573,10 @@ void GLRenderer::DrawSolidColorQuad(const DrawingFrame* frame, |
} |
SetUseProgram(uniforms.program); |
- GLC(gl_, |
- gl_->Uniform4f(uniforms.color_location, |
- (SkColorGetR(color) * (1.0f / 255.0f)) * alpha, |
- (SkColorGetG(color) * (1.0f / 255.0f)) * alpha, |
- (SkColorGetB(color) * (1.0f / 255.0f)) * alpha, |
- alpha)); |
+ gl_->Uniform4f(uniforms.color_location, |
+ (SkColorGetR(color) * (1.0f / 255.0f)) * alpha, |
+ (SkColorGetG(color) * (1.0f / 255.0f)) * alpha, |
+ (SkColorGetB(color) * (1.0f / 255.0f)) * alpha, alpha); |
if (use_aa) { |
float viewport[4] = { |
static_cast<float>(current_window_space_viewport_.x()), |
@@ -1620,8 +1584,8 @@ void GLRenderer::DrawSolidColorQuad(const DrawingFrame* frame, |
static_cast<float>(current_window_space_viewport_.width()), |
static_cast<float>(current_window_space_viewport_.height()), |
}; |
- GLC(gl_, gl_->Uniform4fv(uniforms.viewport_location, 1, viewport)); |
- GLC(gl_, gl_->Uniform3fv(uniforms.edge_location, 8, edge)); |
+ gl_->Uniform4fv(uniforms.viewport_location, 1, viewport); |
+ gl_->Uniform3fv(uniforms.edge_location, 8, edge); |
} |
// Enable blending when the quad properties require it or if we decided |
@@ -1780,7 +1744,7 @@ void GLRenderer::DrawContentQuadAA(const DrawingFrame* frame, |
} |
SetUseProgram(uniforms.program); |
- GLC(gl_, gl_->Uniform1i(uniforms.sampler_location, 0)); |
+ gl_->Uniform1i(uniforms.sampler_location, 0); |
float viewport[4] = { |
static_cast<float>(current_window_space_viewport_.x()), |
@@ -1788,21 +1752,15 @@ void GLRenderer::DrawContentQuadAA(const DrawingFrame* frame, |
static_cast<float>(current_window_space_viewport_.width()), |
static_cast<float>(current_window_space_viewport_.height()), |
}; |
- GLC(gl_, gl_->Uniform4fv(uniforms.viewport_location, 1, viewport)); |
- GLC(gl_, gl_->Uniform3fv(uniforms.edge_location, 8, edge)); |
- |
- GLC(gl_, |
- gl_->Uniform4f(uniforms.vertex_tex_transform_location, |
- vertex_tex_translate_x, |
- vertex_tex_translate_y, |
- vertex_tex_scale_x, |
- vertex_tex_scale_y)); |
- GLC(gl_, |
- gl_->Uniform4f(uniforms.fragment_tex_transform_location, |
- fragment_tex_translate_x, |
- fragment_tex_translate_y, |
- fragment_tex_scale_x, |
- fragment_tex_scale_y)); |
+ gl_->Uniform4fv(uniforms.viewport_location, 1, viewport); |
+ gl_->Uniform3fv(uniforms.edge_location, 8, edge); |
+ |
+ gl_->Uniform4f(uniforms.vertex_tex_transform_location, vertex_tex_translate_x, |
+ vertex_tex_translate_y, vertex_tex_scale_x, |
+ vertex_tex_scale_y); |
+ gl_->Uniform4f(uniforms.fragment_tex_transform_location, |
+ fragment_tex_translate_x, fragment_tex_translate_y, |
+ fragment_tex_scale_x, fragment_tex_scale_y); |
// Blending is required for antialiasing. |
SetBlendEnabled(true); |
@@ -1884,14 +1842,11 @@ void GLRenderer::DrawContentQuadNoAA(const DrawingFrame* frame, |
} |
SetUseProgram(uniforms.program); |
- GLC(gl_, gl_->Uniform1i(uniforms.sampler_location, 0)); |
+ gl_->Uniform1i(uniforms.sampler_location, 0); |
- GLC(gl_, |
- gl_->Uniform4f(uniforms.vertex_tex_transform_location, |
- vertex_tex_translate_x, |
- vertex_tex_translate_y, |
- vertex_tex_scale_x, |
- vertex_tex_scale_y)); |
+ gl_->Uniform4f(uniforms.vertex_tex_transform_location, vertex_tex_translate_x, |
+ vertex_tex_translate_y, vertex_tex_scale_x, |
+ vertex_tex_scale_y); |
SetBlendEnabled(quad->ShouldDrawWithBlending()); |
@@ -1933,14 +1888,13 @@ void GLRenderer::DrawContentQuadNoAA(const DrawingFrame* frame, |
tile_rect.p3().x(), |
tile_rect.p3().y(), |
}; |
- GLC(gl_, gl_->Uniform2fv(uniforms.quad_location, 4, gl_quad)); |
+ gl_->Uniform2fv(uniforms.quad_location, 4, gl_quad); |
static float gl_matrix[16]; |
ToGLMatrix(&gl_matrix[0], frame->projection_matrix * quad->quadTransform()); |
- GLC(gl_, |
- gl_->UniformMatrix4fv(uniforms.matrix_location, 1, false, &gl_matrix[0])); |
+ gl_->UniformMatrix4fv(uniforms.matrix_location, 1, false, &gl_matrix[0]); |
- GLC(gl_, gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0)); |
+ gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0); |
} |
void GLRenderer::DrawYUVVideoQuad(const DrawingFrame* frame, |
@@ -2021,14 +1975,10 @@ void GLRenderer::DrawYUVVideoQuad(const DrawingFrame* frame, |
alpha_location = program->fragment_shader().alpha_location(); |
} |
- GLC(gl_, |
- gl_->Uniform2f(tex_scale_location, |
- quad->tex_coord_rect.width(), |
- quad->tex_coord_rect.height())); |
- GLC(gl_, |
- gl_->Uniform2f(tex_offset_location, |
- quad->tex_coord_rect.x(), |
- quad->tex_coord_rect.y())); |
+ gl_->Uniform2f(tex_scale_location, quad->tex_coord_rect.width(), |
+ quad->tex_coord_rect.height()); |
+ gl_->Uniform2f(tex_offset_location, quad->tex_coord_rect.x(), |
+ quad->tex_coord_rect.y()); |
// Clamping to half a texel inside the tex coord rect prevents bilinear |
// filtering from filtering outside the tex coord rect. |
gfx::RectF ya_clamp_rect(quad->tex_coord_rect); |
@@ -2042,18 +1992,16 @@ void GLRenderer::DrawYUVVideoQuad(const DrawingFrame* frame, |
uv_clamp_rect.Inset(0.5f / quad->uv_tex_size.width(), |
0.5f / quad->uv_tex_size.height()); |
} |
- GLC(gl_, gl_->Uniform4f(ya_clamp_rect_location, ya_clamp_rect.x(), |
- ya_clamp_rect.y(), ya_clamp_rect.right(), |
- ya_clamp_rect.bottom())); |
- GLC(gl_, gl_->Uniform4f(uv_clamp_rect_location, uv_clamp_rect.x(), |
- uv_clamp_rect.y(), uv_clamp_rect.right(), |
- uv_clamp_rect.bottom())); |
+ gl_->Uniform4f(ya_clamp_rect_location, ya_clamp_rect.x(), ya_clamp_rect.y(), |
+ ya_clamp_rect.right(), ya_clamp_rect.bottom()); |
+ gl_->Uniform4f(uv_clamp_rect_location, uv_clamp_rect.x(), uv_clamp_rect.y(), |
+ uv_clamp_rect.right(), uv_clamp_rect.bottom()); |
- GLC(gl_, gl_->Uniform1i(y_texture_location, 1)); |
- GLC(gl_, gl_->Uniform1i(u_texture_location, 2)); |
- GLC(gl_, gl_->Uniform1i(v_texture_location, 3)); |
+ gl_->Uniform1i(y_texture_location, 1); |
+ gl_->Uniform1i(u_texture_location, 2); |
+ gl_->Uniform1i(v_texture_location, 3); |
if (use_alpha_plane) |
- GLC(gl_, gl_->Uniform1i(a_texture_location, 4)); |
+ gl_->Uniform1i(a_texture_location, 4); |
// These values are magic numbers that are used in the transformation from YUV |
// to RGB color values. They are taken from the following webpage: |
@@ -2106,8 +2054,8 @@ void GLRenderer::DrawYUVVideoQuad(const DrawingFrame* frame, |
// quad passed in via uniform is the actual geometry that gets used to draw |
// it. This is why this centered rect is used and not the original quad_rect. |
gfx::RectF tile_rect = quad->rect; |
- GLC(gl_, gl_->UniformMatrix3fv(yuv_matrix_location, 1, 0, yuv_to_rgb)); |
- GLC(gl_, gl_->Uniform3fv(yuv_adj_location, 1, yuv_adjust)); |
+ gl_->UniformMatrix3fv(yuv_matrix_location, 1, 0, yuv_to_rgb); |
+ gl_->Uniform3fv(yuv_adj_location, 1, yuv_adjust); |
SetShaderOpacity(quad->opacity(), alpha_location); |
if (!clip_region) { |
@@ -2143,16 +2091,15 @@ void GLRenderer::DrawStreamVideoQuad(const DrawingFrame* frame, |
SetUseProgram(program->program()); |
ToGLMatrix(&gl_matrix[0], quad->matrix); |
- GLC(gl_, |
- gl_->UniformMatrix4fv( |
- program->vertex_shader().tex_matrix_location(), 1, false, gl_matrix)); |
+ gl_->UniformMatrix4fv(program->vertex_shader().tex_matrix_location(), 1, |
+ false, gl_matrix); |
ResourceProvider::ScopedReadLockGL lock(resource_provider_, |
quad->resource_id); |
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id())); |
+ gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id()); |
- GLC(gl_, gl_->Uniform1i(program->fragment_shader().sampler_location(), 0)); |
+ gl_->Uniform1i(program->fragment_shader().sampler_location(), 0); |
SetShaderOpacity(quad->opacity(), |
program->fragment_shader().alpha_location()); |
@@ -2214,7 +2161,7 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { |
SetUseProgram(draw_cache_.program_id); |
// Bind the correct texture sampler location. |
- GLC(gl_, gl_->Uniform1i(draw_cache_.sampler_location, 0)); |
+ gl_->Uniform1i(draw_cache_.sampler_location, 0); |
// Assume the current active textures is 0. |
ResourceProvider::ScopedSamplerGL locked_quad( |
@@ -2222,7 +2169,7 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { |
draw_cache_.resource_id, |
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR); |
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, locked_quad.texture_id())); |
+ gl_->BindTexture(GL_TEXTURE_2D, locked_quad.texture_id()); |
static_assert(sizeof(Float4) == 4 * sizeof(float), |
"Float4 struct should be densely packed"); |
@@ -2230,37 +2177,28 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { |
"Float16 struct should be densely packed"); |
// Upload the tranforms for both points and uvs. |
- GLC(gl_, |
- gl_->UniformMatrix4fv( |
- static_cast<int>(draw_cache_.matrix_location), |
- static_cast<int>(draw_cache_.matrix_data.size()), |
- false, |
- reinterpret_cast<float*>(&draw_cache_.matrix_data.front()))); |
- GLC(gl_, |
- gl_->Uniform4fv( |
- static_cast<int>(draw_cache_.uv_xform_location), |
- static_cast<int>(draw_cache_.uv_xform_data.size()), |
- reinterpret_cast<float*>(&draw_cache_.uv_xform_data.front()))); |
+ gl_->UniformMatrix4fv( |
+ static_cast<int>(draw_cache_.matrix_location), |
+ static_cast<int>(draw_cache_.matrix_data.size()), false, |
+ reinterpret_cast<float*>(&draw_cache_.matrix_data.front())); |
+ gl_->Uniform4fv(static_cast<int>(draw_cache_.uv_xform_location), |
+ static_cast<int>(draw_cache_.uv_xform_data.size()), |
+ reinterpret_cast<float*>(&draw_cache_.uv_xform_data.front())); |
if (draw_cache_.background_color != SK_ColorTRANSPARENT) { |
Float4 background_color = PremultipliedColor(draw_cache_.background_color); |
- GLC(gl_, |
- gl_->Uniform4fv( |
- draw_cache_.background_color_location, 1, background_color.data)); |
+ gl_->Uniform4fv(draw_cache_.background_color_location, 1, |
+ background_color.data); |
} |
- GLC(gl_, |
- gl_->Uniform1fv( |
- static_cast<int>(draw_cache_.vertex_opacity_location), |
- static_cast<int>(draw_cache_.vertex_opacity_data.size()), |
- static_cast<float*>(&draw_cache_.vertex_opacity_data.front()))); |
+ gl_->Uniform1fv( |
+ static_cast<int>(draw_cache_.vertex_opacity_location), |
+ static_cast<int>(draw_cache_.vertex_opacity_data.size()), |
+ static_cast<float*>(&draw_cache_.vertex_opacity_data.front())); |
// Draw the quads! |
- GLC(gl_, |
- gl_->DrawElements(GL_TRIANGLES, |
- 6 * draw_cache_.matrix_data.size(), |
- GL_UNSIGNED_SHORT, |
- 0)); |
+ gl_->DrawElements(GL_TRIANGLES, 6 * draw_cache_.matrix_data.size(), |
+ GL_UNSIGNED_SHORT, 0); |
// Clear the cache. |
draw_cache_.program_id = -1; |
@@ -2393,31 +2331,25 @@ void GLRenderer::DrawIOSurfaceQuad(const DrawingFrame* frame, |
binding.Set(GetTextureIOSurfaceProgram(tex_coord_precision)); |
SetUseProgram(binding.program_id); |
- GLC(gl_, gl_->Uniform1i(binding.sampler_location, 0)); |
+ gl_->Uniform1i(binding.sampler_location, 0); |
if (quad->orientation == IOSurfaceDrawQuad::FLIPPED) { |
- GLC(gl_, |
- gl_->Uniform4f(binding.tex_transform_location, |
- 0, |
- quad->io_surface_size.height(), |
- quad->io_surface_size.width(), |
- quad->io_surface_size.height() * -1.0f)); |
+ gl_->Uniform4f( |
+ binding.tex_transform_location, 0, quad->io_surface_size.height(), |
+ quad->io_surface_size.width(), quad->io_surface_size.height() * -1.0f); |
} else { |
- GLC(gl_, |
- gl_->Uniform4f(binding.tex_transform_location, |
- 0, |
- 0, |
- quad->io_surface_size.width(), |
- quad->io_surface_size.height())); |
+ gl_->Uniform4f(binding.tex_transform_location, 0, 0, |
+ quad->io_surface_size.width(), |
+ quad->io_surface_size.height()); |
} |
const float vertex_opacity[] = {quad->opacity(), quad->opacity(), |
quad->opacity(), quad->opacity()}; |
- GLC(gl_, gl_->Uniform1fv(binding.vertex_opacity_location, 4, vertex_opacity)); |
+ gl_->Uniform1fv(binding.vertex_opacity_location, 4, vertex_opacity); |
ResourceProvider::ScopedReadLockGL lock(resource_provider_, |
quad->io_surface_resource_id); |
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_RECTANGLE_ARB, lock.texture_id())); |
+ gl_->BindTexture(GL_TEXTURE_RECTANGLE_ARB, lock.texture_id()); |
if (!clip_region) { |
DrawQuadGeometry(frame, quad->quadTransform(), quad->rect, |
@@ -2429,7 +2361,7 @@ void GLRenderer::DrawIOSurfaceQuad(const DrawingFrame* frame, |
*clip_region, binding.matrix_location, uvs); |
} |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_RECTANGLE_ARB, 0)); |
+ gl_->BindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); |
} |
void GLRenderer::FinishDrawingFrame(DrawingFrame* frame) { |
@@ -2442,7 +2374,7 @@ void GLRenderer::FinishDrawingFrame(DrawingFrame* frame) { |
current_framebuffer_lock_ = nullptr; |
swap_buffer_rect_.Union(gfx::ToEnclosingRect(frame->root_damage_rect)); |
- GLC(gl_, gl_->Disable(GL_BLEND)); |
+ gl_->Disable(GL_BLEND); |
blend_shadow_ = false; |
ScheduleOverlays(frame); |
@@ -2468,7 +2400,7 @@ void GLRenderer::EnsureScissorTestEnabled() { |
return; |
FlushTextureQuadCache(SHARED_BINDING); |
- GLC(gl_, gl_->Enable(GL_SCISSOR_TEST)); |
+ gl_->Enable(GL_SCISSOR_TEST); |
is_scissor_enabled_ = true; |
} |
@@ -2477,7 +2409,7 @@ void GLRenderer::EnsureScissorTestDisabled() { |
return; |
FlushTextureQuadCache(SHARED_BINDING); |
- GLC(gl_, gl_->Disable(GL_SCISSOR_TEST)); |
+ gl_->Disable(GL_SCISSOR_TEST); |
is_scissor_enabled_ = false; |
} |
@@ -2508,12 +2440,12 @@ void GLRenderer::SetShaderQuadF(const gfx::QuadF& quad, int quad_location) { |
gl_quad[5] = quad.p3().y(); |
gl_quad[6] = quad.p4().x(); |
gl_quad[7] = quad.p4().y(); |
- GLC(gl_, gl_->Uniform2fv(quad_location, 4, gl_quad)); |
+ gl_->Uniform2fv(quad_location, 4, gl_quad); |
} |
void GLRenderer::SetShaderOpacity(float opacity, int alpha_location) { |
if (alpha_location != -1) |
- GLC(gl_, gl_->Uniform1f(alpha_location, opacity)); |
+ gl_->Uniform1f(alpha_location, opacity); |
} |
void GLRenderer::SetStencilEnabled(bool enabled) { |
@@ -2521,9 +2453,9 @@ void GLRenderer::SetStencilEnabled(bool enabled) { |
return; |
if (enabled) |
- GLC(gl_, gl_->Enable(GL_STENCIL_TEST)); |
+ gl_->Enable(GL_STENCIL_TEST); |
else |
- GLC(gl_, gl_->Disable(GL_STENCIL_TEST)); |
+ gl_->Disable(GL_STENCIL_TEST); |
stencil_shadow_ = enabled; |
} |
@@ -2532,9 +2464,9 @@ void GLRenderer::SetBlendEnabled(bool enabled) { |
return; |
if (enabled) |
- GLC(gl_, gl_->Enable(GL_BLEND)); |
+ gl_->Enable(GL_BLEND); |
else |
- GLC(gl_, gl_->Disable(GL_BLEND)); |
+ gl_->Disable(GL_BLEND); |
blend_shadow_ = enabled; |
} |
@@ -2562,10 +2494,10 @@ void GLRenderer::DrawQuadGeometryClippedByQuadF( |
QuadRectTransform(&quad_rect_matrix, draw_transform, quad_rect); |
static float gl_matrix[16]; |
ToGLMatrix(&gl_matrix[0], frame->projection_matrix * quad_rect_matrix); |
- GLC(gl_, gl_->UniformMatrix4fv(matrix_location, 1, false, &gl_matrix[0])); |
+ gl_->UniformMatrix4fv(matrix_location, 1, false, &gl_matrix[0]); |
- GLC(gl_, gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, |
- reinterpret_cast<const void*>(0))); |
+ gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, |
+ reinterpret_cast<const void*>(0)); |
} |
void GLRenderer::DrawQuadGeometry(const DrawingFrame* frame, |
@@ -2577,14 +2509,14 @@ void GLRenderer::DrawQuadGeometry(const DrawingFrame* frame, |
QuadRectTransform(&quad_rect_matrix, draw_transform, quad_rect); |
static float gl_matrix[16]; |
ToGLMatrix(&gl_matrix[0], frame->projection_matrix * quad_rect_matrix); |
- GLC(gl_, gl_->UniformMatrix4fv(matrix_location, 1, false, &gl_matrix[0])); |
+ gl_->UniformMatrix4fv(matrix_location, 1, false, &gl_matrix[0]); |
- GLC(gl_, gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0)); |
+ gl_->DrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0); |
} |
void GLRenderer::Finish() { |
TRACE_EVENT0("cc", "GLRenderer::Finish"); |
- GLC(gl_, gl_->Finish()); |
+ gl_->Finish(); |
} |
void GLRenderer::SwapBuffers(const CompositorFrameMetadata& metadata) { |
@@ -2633,7 +2565,7 @@ void GLRenderer::EnforceMemoryPolicy() { |
DiscardBackbuffer(); |
resource_provider_->ReleaseCachedData(); |
output_surface_->context_provider()->DeleteCachedResources(); |
- GLC(gl_, gl_->Flush()); |
+ gl_->Flush(); |
} |
PrepareGeometry(NO_BINDING); |
} |
@@ -2680,21 +2612,15 @@ void GLRenderer::GetFramebufferPixelsAsync( |
GLuint texture_id = 0; |
gpu::Mailbox mailbox; |
if (own_mailbox) { |
- GLC(gl_, gl_->GenMailboxCHROMIUM(mailbox.name)); |
+ gl_->GenMailboxCHROMIUM(mailbox.name); |
gl_->GenTextures(1, &texture_id); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, texture_id)); |
- |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); |
- GLC(gl_, |
- gl_->TexParameteri( |
- GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); |
- GLC(gl_, |
- gl_->TexParameteri( |
- GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); |
- GLC(gl_, gl_->ProduceTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name)); |
+ gl_->BindTexture(GL_TEXTURE_2D, texture_id); |
+ |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
+ gl_->ProduceTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name); |
} else { |
mailbox = request->texture_mailbox().mailbox(); |
DCHECK_EQ(static_cast<unsigned>(GL_TEXTURE_2D), |
@@ -2702,11 +2628,10 @@ void GLRenderer::GetFramebufferPixelsAsync( |
DCHECK(!mailbox.IsZero()); |
unsigned incoming_sync_point = request->texture_mailbox().sync_point(); |
if (incoming_sync_point) |
- GLC(gl_, gl_->WaitSyncPointCHROMIUM(incoming_sync_point)); |
+ gl_->WaitSyncPointCHROMIUM(incoming_sync_point); |
- texture_id = GLC( |
- gl_, |
- gl_->CreateAndConsumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name)); |
+ texture_id = |
+ gl_->CreateAndConsumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name); |
} |
GetFramebufferTexture(texture_id, RGBA_8888, window_rect); |
@@ -2715,7 +2640,7 @@ void GLRenderer::GetFramebufferPixelsAsync( |
scoped_ptr<SingleReleaseCallback> release_callback; |
if (own_mailbox) { |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, 0)); |
+ gl_->BindTexture(GL_TEXTURE_2D, 0); |
release_callback = texture_mailbox_deleter_->GetReleaseCallback( |
output_surface_->context_provider(), texture_id); |
} else { |
@@ -2747,28 +2672,20 @@ void GLRenderer::GetFramebufferPixelsAsync( |
// http://crbug.com/99393. <rdar://problem/10949687> |
gl_->GenTextures(1, &temporary_texture); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, temporary_texture)); |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); |
- GLC(gl_, |
- gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); |
+ gl_->BindTexture(GL_TEXTURE_2D, temporary_texture); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
+ gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
// Copy the contents of the current (IOSurface-backed) framebuffer into a |
// temporary texture. |
GetFramebufferTexture( |
temporary_texture, RGBA_8888, gfx::Rect(current_surface_size_)); |
gl_->GenFramebuffers(1, &temporary_fbo); |
// Attach this texture to an FBO, and perform the readback from that FBO. |
- GLC(gl_, gl_->BindFramebuffer(GL_FRAMEBUFFER, temporary_fbo)); |
- GLC(gl_, |
- gl_->FramebufferTexture2D(GL_FRAMEBUFFER, |
- GL_COLOR_ATTACHMENT0, |
- GL_TEXTURE_2D, |
- temporary_texture, |
- 0)); |
+ gl_->BindFramebuffer(GL_FRAMEBUFFER, temporary_fbo); |
+ gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, |
+ GL_TEXTURE_2D, temporary_texture, 0); |
DCHECK_EQ(static_cast<unsigned>(GL_FRAMEBUFFER_COMPLETE), |
gl_->CheckFramebufferStatus(GL_FRAMEBUFFER)); |
@@ -2776,34 +2693,25 @@ void GLRenderer::GetFramebufferPixelsAsync( |
GLuint buffer = 0; |
gl_->GenBuffers(1, &buffer); |
- GLC(gl_, gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, buffer)); |
- GLC(gl_, |
- gl_->BufferData(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, |
- 4 * window_rect.size().GetArea(), |
- NULL, |
- GL_STREAM_READ)); |
+ gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, buffer); |
+ gl_->BufferData(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, |
+ 4 * window_rect.size().GetArea(), NULL, GL_STREAM_READ); |
GLuint query = 0; |
gl_->GenQueriesEXT(1, &query); |
- GLC(gl_, gl_->BeginQueryEXT(GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, query)); |
+ gl_->BeginQueryEXT(GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, query); |
- GLC(gl_, |
- gl_->ReadPixels(window_rect.x(), |
- window_rect.y(), |
- window_rect.width(), |
- window_rect.height(), |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- NULL)); |
+ gl_->ReadPixels(window_rect.x(), window_rect.y(), window_rect.width(), |
+ window_rect.height(), GL_RGBA, GL_UNSIGNED_BYTE, NULL); |
- GLC(gl_, gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, 0)); |
+ gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, 0); |
if (do_workaround) { |
// Clean up. |
- GLC(gl_, gl_->BindFramebuffer(GL_FRAMEBUFFER, 0)); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, 0)); |
- GLC(gl_, gl_->DeleteFramebuffers(1, &temporary_fbo)); |
- GLC(gl_, gl_->DeleteTextures(1, &temporary_texture)); |
+ gl_->BindFramebuffer(GL_FRAMEBUFFER, 0); |
+ gl_->BindTexture(GL_TEXTURE_2D, 0); |
+ gl_->DeleteFramebuffers(1, &temporary_fbo); |
+ gl_->DeleteTextures(1, &temporary_texture); |
} |
base::Closure finished_callback = base::Bind(&GLRenderer::FinishedReadback, |
@@ -2821,7 +2729,7 @@ void GLRenderer::GetFramebufferPixelsAsync( |
// Save the buffer to verify the callbacks happen in the expected order. |
pending_async_read_pixels_.front()->buffer = buffer; |
- GLC(gl_, gl_->EndQueryEXT(GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM)); |
+ gl_->EndQueryEXT(GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM); |
context_support_->SignalQuery(query, cancelable_callback); |
EnforceMemoryPolicy(); |
@@ -2833,7 +2741,7 @@ void GLRenderer::FinishedReadback(unsigned source_buffer, |
DCHECK(!pending_async_read_pixels_.empty()); |
if (query != 0) { |
- GLC(gl_, gl_->DeleteQueriesEXT(1, &query)); |
+ gl_->DeleteQueriesEXT(1, &query); |
} |
PendingAsyncReadPixels* current_read = pending_async_read_pixels_.back(); |
@@ -2844,8 +2752,7 @@ void GLRenderer::FinishedReadback(unsigned source_buffer, |
scoped_ptr<SkBitmap> bitmap; |
if (source_buffer != 0) { |
- GLC(gl_, |
- gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, source_buffer)); |
+ gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, source_buffer); |
src_pixels = static_cast<uint8*>(gl_->MapBufferCHROMIUM( |
GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, GL_READ_ONLY)); |
@@ -2874,11 +2781,10 @@ void GLRenderer::FinishedReadback(unsigned source_buffer, |
} |
} |
- GLC(gl_, |
- gl_->UnmapBufferCHROMIUM(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM)); |
+ gl_->UnmapBufferCHROMIUM(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM); |
} |
- GLC(gl_, gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, 0)); |
- GLC(gl_, gl_->DeleteBuffers(1, &source_buffer)); |
+ gl_->BindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, 0); |
+ gl_->DeleteBuffers(1, &source_buffer); |
} |
if (bitmap) |
@@ -2895,17 +2801,11 @@ void GLRenderer::GetFramebufferTexture(unsigned texture_id, |
DCHECK_LE(window_rect.right(), current_surface_size_.width()); |
DCHECK_LE(window_rect.bottom(), current_surface_size_.height()); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, texture_id)); |
- GLC(gl_, |
- gl_->CopyTexImage2D(GL_TEXTURE_2D, |
- 0, |
- GLDataFormat(texture_format), |
- window_rect.x(), |
- window_rect.y(), |
- window_rect.width(), |
- window_rect.height(), |
- 0)); |
- GLC(gl_, gl_->BindTexture(GL_TEXTURE_2D, 0)); |
+ gl_->BindTexture(GL_TEXTURE_2D, texture_id); |
+ gl_->CopyTexImage2D(GL_TEXTURE_2D, 0, GLDataFormat(texture_format), |
+ window_rect.x(), window_rect.y(), window_rect.width(), |
+ window_rect.height(), 0); |
+ gl_->BindTexture(GL_TEXTURE_2D, 0); |
} |
bool GLRenderer::UseScopedTexture(DrawingFrame* frame, |
@@ -2924,7 +2824,7 @@ void GLRenderer::BindFramebufferToOutputSurface(DrawingFrame* frame) { |
if (output_surface_->HasExternalStencilTest()) { |
SetStencilEnabled(true); |
- GLC(gl_, gl_->StencilFunc(GL_EQUAL, 1, 1)); |
+ gl_->StencilFunc(GL_EQUAL, 1, 1); |
} else { |
SetStencilEnabled(false); |
} |
@@ -2940,14 +2840,13 @@ bool GLRenderer::BindFramebufferToTexture(DrawingFrame* frame, |
current_framebuffer_lock_ = nullptr; |
SetStencilEnabled(false); |
- GLC(gl_, gl_->BindFramebuffer(GL_FRAMEBUFFER, offscreen_framebuffer_id_)); |
+ gl_->BindFramebuffer(GL_FRAMEBUFFER, offscreen_framebuffer_id_); |
current_framebuffer_lock_ = |
make_scoped_ptr(new ResourceProvider::ScopedWriteLockGL( |
resource_provider_, texture->id())); |
unsigned texture_id = current_framebuffer_lock_->texture_id(); |
- GLC(gl_, |
- gl_->FramebufferTexture2D( |
- GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture_id, 0)); |
+ gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, |
+ texture_id, 0); |
DCHECK(gl_->CheckFramebufferStatus(GL_FRAMEBUFFER) == |
GL_FRAMEBUFFER_COMPLETE || |
@@ -2965,27 +2864,24 @@ void GLRenderer::SetScissorTestRect(const gfx::Rect& scissor_rect) { |
scissor_rect_ = scissor_rect; |
FlushTextureQuadCache(SHARED_BINDING); |
- GLC(gl_, |
- gl_->Scissor(scissor_rect.x(), |
- scissor_rect.y(), |
- scissor_rect.width(), |
- scissor_rect.height())); |
+ gl_->Scissor(scissor_rect.x(), scissor_rect.y(), scissor_rect.width(), |
+ scissor_rect.height()); |
scissor_rect_needs_reset_ = false; |
} |
void GLRenderer::SetViewport() { |
- GLC(gl_, gl_->Viewport(current_window_space_viewport_.x(), |
- current_window_space_viewport_.y(), |
- current_window_space_viewport_.width(), |
- current_window_space_viewport_.height())); |
+ gl_->Viewport(current_window_space_viewport_.x(), |
+ current_window_space_viewport_.y(), |
+ current_window_space_viewport_.width(), |
+ current_window_space_viewport_.height()); |
} |
void GLRenderer::InitializeSharedObjects() { |
TRACE_EVENT0("cc", "GLRenderer::InitializeSharedObjects"); |
// Create an FBO for doing offscreen rendering. |
- GLC(gl_, gl_->GenFramebuffers(1, &offscreen_framebuffer_id_)); |
+ gl_->GenFramebuffers(1, &offscreen_framebuffer_id_); |
shared_geometry_ = |
make_scoped_ptr(new StaticGeometryBinding(gl_, QuadVertexRect())); |
@@ -3467,7 +3363,7 @@ void GLRenderer::CleanupSharedObjects() { |
solid_color_program_aa_.Cleanup(gl_); |
if (offscreen_framebuffer_id_) |
- GLC(gl_, gl_->DeleteFramebuffers(1, &offscreen_framebuffer_id_)); |
+ gl_->DeleteFramebuffers(1, &offscreen_framebuffer_id_); |
if (on_demand_tile_raster_resource_id_) |
resource_provider_->DeleteResource(on_demand_tile_raster_resource_id_); |
@@ -3490,34 +3386,31 @@ void GLRenderer::RestoreGLState() { |
bound_geometry_ = NO_BINDING; |
PrepareGeometry(SHARED_BINDING); |
- GLC(gl_, gl_->Disable(GL_DEPTH_TEST)); |
- GLC(gl_, gl_->Disable(GL_CULL_FACE)); |
- GLC(gl_, gl_->ColorMask(true, true, true, true)); |
- GLC(gl_, gl_->BlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)); |
- GLC(gl_, gl_->ActiveTexture(GL_TEXTURE0)); |
+ gl_->Disable(GL_DEPTH_TEST); |
+ gl_->Disable(GL_CULL_FACE); |
+ gl_->ColorMask(true, true, true, true); |
+ gl_->BlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); |
+ gl_->ActiveTexture(GL_TEXTURE0); |
if (program_shadow_) |
gl_->UseProgram(program_shadow_); |
if (stencil_shadow_) |
- GLC(gl_, gl_->Enable(GL_STENCIL_TEST)); |
+ gl_->Enable(GL_STENCIL_TEST); |
else |
- GLC(gl_, gl_->Disable(GL_STENCIL_TEST)); |
+ gl_->Disable(GL_STENCIL_TEST); |
if (blend_shadow_) |
- GLC(gl_, gl_->Enable(GL_BLEND)); |
+ gl_->Enable(GL_BLEND); |
else |
- GLC(gl_, gl_->Disable(GL_BLEND)); |
+ gl_->Disable(GL_BLEND); |
if (is_scissor_enabled_) { |
- GLC(gl_, gl_->Enable(GL_SCISSOR_TEST)); |
- GLC(gl_, |
- gl_->Scissor(scissor_rect_.x(), |
- scissor_rect_.y(), |
- scissor_rect_.width(), |
- scissor_rect_.height())); |
+ gl_->Enable(GL_SCISSOR_TEST); |
+ gl_->Scissor(scissor_rect_.x(), scissor_rect_.y(), scissor_rect_.width(), |
+ scissor_rect_.height()); |
} else { |
- GLC(gl_, gl_->Disable(GL_SCISSOR_TEST)); |
+ gl_->Disable(GL_SCISSOR_TEST); |
} |
} |