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

Side by Side Diff: cc/output/gl_renderer.cc

Issue 1900993002: Move SharedMemoryLimits out of WebGraphicsContext3DCommandBufferImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@limits
Patch Set: move-limits: types Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « cc/output/delegating_renderer.cc ('k') | cc/output/gl_renderer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/output/gl_renderer.h" 5 #include "cc/output/gl_renderer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 stencil_shadow_(false), 330 stencil_shadow_(false),
331 blend_shadow_(false), 331 blend_shadow_(false),
332 highp_threshold_min_(highp_threshold_min), 332 highp_threshold_min_(highp_threshold_min),
333 highp_threshold_cache_(0), 333 highp_threshold_cache_(0),
334 use_sync_query_(false), 334 use_sync_query_(false),
335 on_demand_tile_raster_resource_id_(0), 335 on_demand_tile_raster_resource_id_(0),
336 bound_geometry_(NO_BINDING) { 336 bound_geometry_(NO_BINDING) {
337 DCHECK(gl_); 337 DCHECK(gl_);
338 DCHECK(context_support_); 338 DCHECK(context_support_);
339 339
340 ContextProvider::Capabilities context_caps = 340 const auto& context_caps =
341 output_surface_->context_provider()->ContextCapabilities(); 341 output_surface_->context_provider()->ContextCapabilities();
342 342
343 capabilities_.using_partial_swap = 343 capabilities_.using_partial_swap =
344 settings_->partial_swap_enabled && context_caps.gpu.post_sub_buffer; 344 settings_->partial_swap_enabled && context_caps.post_sub_buffer;
345 capabilities_.allow_empty_swap = capabilities_.using_partial_swap || 345 capabilities_.allow_empty_swap =
346 context_caps.gpu.commit_overlay_planes; 346 capabilities_.using_partial_swap || context_caps.commit_overlay_planes;
347 347
348 DCHECK(!context_caps.gpu.iosurface || context_caps.gpu.texture_rectangle); 348 DCHECK(!context_caps.iosurface || context_caps.texture_rectangle);
349 349
350 capabilities_.using_egl_image = context_caps.gpu.egl_image_external; 350 capabilities_.using_egl_image = context_caps.egl_image_external;
351 351
352 capabilities_.max_texture_size = resource_provider_->max_texture_size(); 352 capabilities_.max_texture_size = resource_provider_->max_texture_size();
353 capabilities_.best_texture_format = resource_provider_->best_texture_format(); 353 capabilities_.best_texture_format = resource_provider_->best_texture_format();
354 354
355 // The updater can access textures while the GLRenderer is using them. 355 // The updater can access textures while the GLRenderer is using them.
356 capabilities_.allow_partial_texture_updates = true; 356 capabilities_.allow_partial_texture_updates = true;
357 357
358 capabilities_.using_image = context_caps.gpu.image; 358 capabilities_.using_image = context_caps.image;
359 359
360 capabilities_.using_discard_framebuffer = 360 capabilities_.using_discard_framebuffer = context_caps.discard_framebuffer;
361 context_caps.gpu.discard_framebuffer;
362 361
363 capabilities_.allow_rasterize_on_demand = true; 362 capabilities_.allow_rasterize_on_demand = true;
364 363
365 // If MSAA is slow, we want this renderer to behave as though MSAA is not 364 // If MSAA is slow, we want this renderer to behave as though MSAA is not
366 // available. Set samples to 0 to achieve this. 365 // available. Set samples to 0 to achieve this.
367 if (context_caps.gpu.msaa_is_slow) 366 if (context_caps.msaa_is_slow)
368 capabilities_.max_msaa_samples = 0; 367 capabilities_.max_msaa_samples = 0;
369 else 368 else
370 capabilities_.max_msaa_samples = context_caps.gpu.max_samples; 369 capabilities_.max_msaa_samples = context_caps.max_samples;
371 370
372 use_sync_query_ = context_caps.gpu.sync_query; 371 use_sync_query_ = context_caps.sync_query;
373 use_blend_equation_advanced_ = context_caps.gpu.blend_equation_advanced; 372 use_blend_equation_advanced_ = context_caps.blend_equation_advanced;
374 use_blend_equation_advanced_coherent_ = 373 use_blend_equation_advanced_coherent_ =
375 context_caps.gpu.blend_equation_advanced_coherent; 374 context_caps.blend_equation_advanced_coherent;
376 375
377 InitializeSharedObjects(); 376 InitializeSharedObjects();
378 } 377 }
379 378
380 GLRenderer::~GLRenderer() { 379 GLRenderer::~GLRenderer() {
381 while (!pending_async_read_pixels_.empty()) { 380 while (!pending_async_read_pixels_.empty()) {
382 PendingAsyncReadPixels* pending_read = 381 PendingAsyncReadPixels* pending_read =
383 pending_async_read_pixels_.back().get(); 382 pending_async_read_pixels_.back().get();
384 pending_read->finished_read_pixels_callback.Cancel(); 383 pending_read->finished_read_pixels_callback.Cancel();
385 pending_async_read_pixels_.pop_back(); 384 pending_async_read_pixels_.pop_back();
(...skipping 3253 matching lines...) Expand 10 before | Expand all | Expand 10 after
3639 texture_id = pending_overlay_resources_.back()->texture_id(); 3638 texture_id = pending_overlay_resources_.back()->texture_id();
3640 } 3639 }
3641 3640
3642 context_support_->ScheduleOverlayPlane( 3641 context_support_->ScheduleOverlayPlane(
3643 overlay.plane_z_order, overlay.transform, texture_id, 3642 overlay.plane_z_order, overlay.transform, texture_id,
3644 ToNearestRect(overlay.display_rect), overlay.uv_rect); 3643 ToNearestRect(overlay.display_rect), overlay.uv_rect);
3645 } 3644 }
3646 } 3645 }
3647 3646
3648 } // namespace cc 3647 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/delegating_renderer.cc ('k') | cc/output/gl_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698