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

Unified Diff: cc/output/software_renderer.cc

Issue 2035913002: Prevent use of GPU IDC in Resourceless Software Draw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: feedback Created 4 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
« no previous file with comments | « cc/output/software_renderer.h ('k') | cc/output/software_renderer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/software_renderer.cc
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 6d780c72bcc5f5ce1cf0753367cb835bc5b0ef92..13d13418b200149d5245614386e93e7c6cac619e 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -56,20 +56,24 @@ std::unique_ptr<SoftwareRenderer> SoftwareRenderer::Create(
RendererClient* client,
const RendererSettings* settings,
OutputSurface* output_surface,
- ResourceProvider* resource_provider) {
+ ResourceProvider* resource_provider,
+ bool use_image_hijack_canvas) {
return base::WrapUnique(new SoftwareRenderer(client, settings, output_surface,
- resource_provider));
+ resource_provider,
+ use_image_hijack_canvas));
}
SoftwareRenderer::SoftwareRenderer(RendererClient* client,
const RendererSettings* settings,
OutputSurface* output_surface,
- ResourceProvider* resource_provider)
+ ResourceProvider* resource_provider,
+ bool use_image_hijack_canvas)
: DirectRenderer(client, settings, output_surface, resource_provider),
is_scissor_enabled_(false),
is_backbuffer_discarded_(false),
output_device_(output_surface->software_device()),
- current_canvas_(NULL) {
+ current_canvas_(nullptr),
+ use_image_hijack_canvas_(use_image_hijack_canvas) {
if (resource_provider_) {
capabilities_.max_texture_size = resource_provider_->max_texture_size();
capabilities_.best_texture_format =
@@ -368,6 +372,7 @@ void SoftwareRenderer::DrawPictureQuad(const DrawingFrame* frame,
RasterSource::PlaybackSettings playback_settings;
playback_settings.playback_to_shared_canvas = true;
+ playback_settings.use_image_hijack_canvas = use_image_hijack_canvas_;
if (needs_transparency || disable_image_filtering) {
// TODO(aelias): This isn't correct in all cases. We should detect these
// cases and fall back to a persistent bitmap backing
« no previous file with comments | « cc/output/software_renderer.h ('k') | cc/output/software_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698