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

Side by Side Diff: mojo/converters/surfaces/surfaces_type_converters.cc

Issue 789433003: [cc] Add nearest neighbor filtering for PictureLayer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync and rebase Created 6 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/converters/surfaces/surfaces_type_converters.h" 5 #include "mojo/converters/surfaces/surfaces_type_converters.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "cc/output/compositor_frame.h" 8 #include "cc/output/compositor_frame.h"
9 #include "cc/output/delegated_frame_data.h" 9 #include "cc/output/delegated_frame_data.h"
10 #include "cc/quads/draw_quad.h" 10 #include "cc/quads/draw_quad.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 cc::TileDrawQuad* tile_quad = 151 cc::TileDrawQuad* tile_quad =
152 render_pass->CreateAndAppendDrawQuad<cc::TileDrawQuad>(); 152 render_pass->CreateAndAppendDrawQuad<cc::TileDrawQuad>();
153 tile_quad->SetAll(sqs, 153 tile_quad->SetAll(sqs,
154 input->rect.To<gfx::Rect>(), 154 input->rect.To<gfx::Rect>(),
155 input->opaque_rect.To<gfx::Rect>(), 155 input->opaque_rect.To<gfx::Rect>(),
156 input->visible_rect.To<gfx::Rect>(), 156 input->visible_rect.To<gfx::Rect>(),
157 input->needs_blending, 157 input->needs_blending,
158 tile_state->resource_id, 158 tile_state->resource_id,
159 tile_state->tex_coord_rect.To<gfx::RectF>(), 159 tile_state->tex_coord_rect.To<gfx::RectF>(),
160 tile_state->texture_size.To<gfx::Size>(), 160 tile_state->texture_size.To<gfx::Size>(),
161 tile_state->swizzle_contents); 161 tile_state->swizzle_contents,
162 tile_state->nearest_neighbor);
162 break; 163 break;
163 } 164 }
164 case MATERIAL_YUV_VIDEO_CONTENT: { 165 case MATERIAL_YUV_VIDEO_CONTENT: {
165 YUVVideoQuadStatePtr& yuv_state = input->yuv_video_quad_state; 166 YUVVideoQuadStatePtr& yuv_state = input->yuv_video_quad_state;
166 if (yuv_state.is_null()) 167 if (yuv_state.is_null())
167 return false; 168 return false;
168 cc::YUVVideoDrawQuad* yuv_quad = 169 cc::YUVVideoDrawQuad* yuv_quad =
169 render_pass->CreateAndAppendDrawQuad<cc::YUVVideoDrawQuad>(); 170 render_pass->CreateAndAppendDrawQuad<cc::YUVVideoDrawQuad>();
170 yuv_quad->SetAll(sqs, 171 yuv_quad->SetAll(sqs,
171 input->rect.To<gfx::Rect>(), 172 input->rect.To<gfx::Rect>(),
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 quad->texture_quad_state = texture_state.Pass(); 303 quad->texture_quad_state = texture_state.Pass();
303 break; 304 break;
304 } 305 }
305 case cc::DrawQuad::TILED_CONTENT: { 306 case cc::DrawQuad::TILED_CONTENT: {
306 const cc::TileDrawQuad* tile_quad = 307 const cc::TileDrawQuad* tile_quad =
307 cc::TileDrawQuad::MaterialCast(&input); 308 cc::TileDrawQuad::MaterialCast(&input);
308 TileQuadStatePtr tile_state = TileQuadState::New(); 309 TileQuadStatePtr tile_state = TileQuadState::New();
309 tile_state->tex_coord_rect = RectF::From(tile_quad->tex_coord_rect); 310 tile_state->tex_coord_rect = RectF::From(tile_quad->tex_coord_rect);
310 tile_state->texture_size = Size::From(tile_quad->texture_size); 311 tile_state->texture_size = Size::From(tile_quad->texture_size);
311 tile_state->swizzle_contents = tile_quad->swizzle_contents; 312 tile_state->swizzle_contents = tile_quad->swizzle_contents;
313 tile_state->nearest_neighbor = tile_quad->nearest_neighbor;
312 tile_state->resource_id = tile_quad->resource_id; 314 tile_state->resource_id = tile_quad->resource_id;
313 quad->tile_quad_state = tile_state.Pass(); 315 quad->tile_quad_state = tile_state.Pass();
314 break; 316 break;
315 } 317 }
316 case cc::DrawQuad::YUV_VIDEO_CONTENT: { 318 case cc::DrawQuad::YUV_VIDEO_CONTENT: {
317 const cc::YUVVideoDrawQuad* yuv_quad = 319 const cc::YUVVideoDrawQuad* yuv_quad =
318 cc::YUVVideoDrawQuad::MaterialCast(&input); 320 cc::YUVVideoDrawQuad::MaterialCast(&input);
319 YUVVideoQuadStatePtr yuv_state = YUVVideoQuadState::New(); 321 YUVVideoQuadStatePtr yuv_state = YUVVideoQuadState::New();
320 yuv_state->tex_coord_rect = RectF::From(yuv_quad->tex_coord_rect); 322 yuv_state->tex_coord_rect = RectF::From(yuv_quad->tex_coord_rect);
321 yuv_state->y_plane_resource_id = yuv_quad->y_plane_resource_id; 323 yuv_state->y_plane_resource_id = yuv_quad->y_plane_resource_id;
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 if (!pass) 577 if (!pass)
576 return scoped_ptr<cc::CompositorFrame>(); 578 return scoped_ptr<cc::CompositorFrame>();
577 frame_data->render_pass_list.push_back(pass.Pass()); 579 frame_data->render_pass_list.push_back(pass.Pass());
578 } 580 }
579 scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); 581 scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
580 frame->delegated_frame_data = frame_data.Pass(); 582 frame->delegated_frame_data = frame_data.Pass();
581 return frame.Pass(); 583 return frame.Pass();
582 } 584 }
583 585
584 } // namespace mojo 586 } // namespace mojo
OLDNEW
« no previous file with comments | « content/common/cc_messages_unittest.cc ('k') | mojo/services/public/interfaces/surfaces/quads.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698