| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 ResourceProvider::Resource::Resource() | 203 ResourceProvider::Resource::Resource() |
| 204 : child_id(0), | 204 : child_id(0), |
| 205 gl_id(0), | 205 gl_id(0), |
| 206 gl_pixel_buffer_id(0), | 206 gl_pixel_buffer_id(0), |
| 207 gl_upload_query_id(0), | 207 gl_upload_query_id(0), |
| 208 pixels(NULL), | 208 pixels(NULL), |
| 209 pixel_buffer(NULL), | 209 pixel_buffer(NULL), |
| 210 lock_for_read_count(0), | 210 lock_for_read_count(0), |
| 211 imported_count(0), | 211 imported_count(0), |
| 212 exported_count(0), | 212 exported_count(0), |
| 213 dirty_image(false), |
| 213 locked_for_write(false), | 214 locked_for_write(false), |
| 214 origin(Internal), | 215 lost(false), |
| 215 marked_for_deletion(false), | 216 marked_for_deletion(false), |
| 216 pending_set_pixels(false), | 217 pending_set_pixels(false), |
| 217 set_pixels_completion_forced(false), | 218 set_pixels_completion_forced(false), |
| 218 allocated(false), | 219 allocated(false), |
| 219 enable_read_lock_fences(false), | 220 enable_read_lock_fences(false), |
| 221 has_shared_bitmap_id(false), |
| 222 allow_overlay(false), |
| 220 read_lock_fence(NULL), | 223 read_lock_fence(NULL), |
| 221 size(), | 224 size(), |
| 225 origin(Internal), |
| 222 target(0), | 226 target(0), |
| 223 original_filter(0), | 227 original_filter(0), |
| 224 filter(0), | 228 filter(0), |
| 225 image_id(0), | 229 image_id(0), |
| 226 bound_image_id(0), | 230 bound_image_id(0), |
| 227 dirty_image(false), | |
| 228 texture_pool(0), | 231 texture_pool(0), |
| 229 wrap_mode(0), | 232 wrap_mode(0), |
| 230 lost(false), | |
| 231 hint(TextureUsageAny), | 233 hint(TextureUsageAny), |
| 232 type(InvalidType), | 234 type(InvalidType), |
| 233 format(RGBA_8888), | 235 format(RGBA_8888), |
| 234 has_shared_bitmap_id(false), | |
| 235 allow_overlay(false), | |
| 236 shared_bitmap(NULL) {} | 236 shared_bitmap(NULL) {} |
| 237 | 237 |
| 238 ResourceProvider::Resource::~Resource() {} | 238 ResourceProvider::Resource::~Resource() {} |
| 239 | 239 |
| 240 ResourceProvider::Resource::Resource(GLuint texture_id, | 240 ResourceProvider::Resource::Resource(GLuint texture_id, |
| 241 const gfx::Size& size, | 241 const gfx::Size& size, |
| 242 Origin origin, | 242 Origin origin, |
| 243 GLenum target, | 243 GLenum target, |
| 244 GLenum filter, | 244 GLenum filter, |
| 245 GLenum texture_pool, | 245 GLenum texture_pool, |
| 246 GLint wrap_mode, | 246 GLint wrap_mode, |
| 247 TextureUsageHint hint, | 247 TextureUsageHint hint, |
| 248 ResourceFormat format) | 248 ResourceFormat format) |
| 249 : child_id(0), | 249 : child_id(0), |
| 250 gl_id(texture_id), | 250 gl_id(texture_id), |
| 251 gl_pixel_buffer_id(0), | 251 gl_pixel_buffer_id(0), |
| 252 gl_upload_query_id(0), | 252 gl_upload_query_id(0), |
| 253 pixels(NULL), | 253 pixels(NULL), |
| 254 pixel_buffer(NULL), | 254 pixel_buffer(NULL), |
| 255 lock_for_read_count(0), | 255 lock_for_read_count(0), |
| 256 imported_count(0), | 256 imported_count(0), |
| 257 exported_count(0), | 257 exported_count(0), |
| 258 dirty_image(false), |
| 258 locked_for_write(false), | 259 locked_for_write(false), |
| 259 origin(origin), | 260 lost(false), |
| 260 marked_for_deletion(false), | 261 marked_for_deletion(false), |
| 261 pending_set_pixels(false), | 262 pending_set_pixels(false), |
| 262 set_pixels_completion_forced(false), | 263 set_pixels_completion_forced(false), |
| 263 allocated(false), | 264 allocated(false), |
| 264 enable_read_lock_fences(false), | 265 enable_read_lock_fences(false), |
| 266 has_shared_bitmap_id(false), |
| 267 allow_overlay(false), |
| 265 read_lock_fence(NULL), | 268 read_lock_fence(NULL), |
| 266 size(size), | 269 size(size), |
| 270 origin(origin), |
| 267 target(target), | 271 target(target), |
| 268 original_filter(filter), | 272 original_filter(filter), |
| 269 filter(filter), | 273 filter(filter), |
| 270 image_id(0), | 274 image_id(0), |
| 271 bound_image_id(0), | 275 bound_image_id(0), |
| 272 dirty_image(false), | |
| 273 texture_pool(texture_pool), | 276 texture_pool(texture_pool), |
| 274 wrap_mode(wrap_mode), | 277 wrap_mode(wrap_mode), |
| 275 lost(false), | |
| 276 hint(hint), | 278 hint(hint), |
| 277 type(GLTexture), | 279 type(GLTexture), |
| 278 format(format), | 280 format(format), |
| 279 has_shared_bitmap_id(false), | |
| 280 shared_bitmap(NULL) { | 281 shared_bitmap(NULL) { |
| 281 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); | 282 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); |
| 282 DCHECK_EQ(origin == Internal, !!texture_pool); | 283 DCHECK_EQ(origin == Internal, !!texture_pool); |
| 283 } | 284 } |
| 284 | 285 |
| 285 ResourceProvider::Resource::Resource(uint8_t* pixels, | 286 ResourceProvider::Resource::Resource(uint8_t* pixels, |
| 286 SharedBitmap* bitmap, | 287 SharedBitmap* bitmap, |
| 287 const gfx::Size& size, | 288 const gfx::Size& size, |
| 288 Origin origin, | 289 Origin origin, |
| 289 GLenum filter, | 290 GLenum filter, |
| 290 GLint wrap_mode) | 291 GLint wrap_mode) |
| 291 : child_id(0), | 292 : child_id(0), |
| 292 gl_id(0), | 293 gl_id(0), |
| 293 gl_pixel_buffer_id(0), | 294 gl_pixel_buffer_id(0), |
| 294 gl_upload_query_id(0), | 295 gl_upload_query_id(0), |
| 295 pixels(pixels), | 296 pixels(pixels), |
| 296 pixel_buffer(NULL), | 297 pixel_buffer(NULL), |
| 297 lock_for_read_count(0), | 298 lock_for_read_count(0), |
| 298 imported_count(0), | 299 imported_count(0), |
| 299 exported_count(0), | 300 exported_count(0), |
| 301 dirty_image(false), |
| 300 locked_for_write(false), | 302 locked_for_write(false), |
| 301 origin(origin), | 303 lost(false), |
| 302 marked_for_deletion(false), | 304 marked_for_deletion(false), |
| 303 pending_set_pixels(false), | 305 pending_set_pixels(false), |
| 304 set_pixels_completion_forced(false), | 306 set_pixels_completion_forced(false), |
| 305 allocated(false), | 307 allocated(false), |
| 306 enable_read_lock_fences(false), | 308 enable_read_lock_fences(false), |
| 309 has_shared_bitmap_id(!!bitmap), |
| 310 allow_overlay(false), |
| 307 read_lock_fence(NULL), | 311 read_lock_fence(NULL), |
| 308 size(size), | 312 size(size), |
| 313 origin(origin), |
| 309 target(0), | 314 target(0), |
| 310 original_filter(filter), | 315 original_filter(filter), |
| 311 filter(filter), | 316 filter(filter), |
| 312 image_id(0), | 317 image_id(0), |
| 313 bound_image_id(0), | 318 bound_image_id(0), |
| 314 dirty_image(false), | |
| 315 texture_pool(0), | 319 texture_pool(0), |
| 316 wrap_mode(wrap_mode), | 320 wrap_mode(wrap_mode), |
| 317 lost(false), | |
| 318 hint(TextureUsageAny), | 321 hint(TextureUsageAny), |
| 319 type(Bitmap), | 322 type(Bitmap), |
| 320 format(RGBA_8888), | 323 format(RGBA_8888), |
| 321 has_shared_bitmap_id(!!bitmap), | |
| 322 shared_bitmap(bitmap) { | 324 shared_bitmap(bitmap) { |
| 323 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); | 325 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); |
| 324 DCHECK(origin == Delegated || pixels); | 326 DCHECK(origin == Delegated || pixels); |
| 325 if (bitmap) | 327 if (bitmap) |
| 326 shared_bitmap_id = bitmap->id(); | 328 shared_bitmap_id = bitmap->id(); |
| 327 } | 329 } |
| 328 | 330 |
| 329 ResourceProvider::Resource::Resource(const SharedBitmapId& bitmap_id, | 331 ResourceProvider::Resource::Resource(const SharedBitmapId& bitmap_id, |
| 330 const gfx::Size& size, | 332 const gfx::Size& size, |
| 331 Origin origin, | 333 Origin origin, |
| 332 GLenum filter, | 334 GLenum filter, |
| 333 GLint wrap_mode) | 335 GLint wrap_mode) |
| 334 : child_id(0), | 336 : child_id(0), |
| 335 gl_id(0), | 337 gl_id(0), |
| 336 gl_pixel_buffer_id(0), | 338 gl_pixel_buffer_id(0), |
| 337 gl_upload_query_id(0), | 339 gl_upload_query_id(0), |
| 338 pixels(NULL), | 340 pixels(NULL), |
| 339 pixel_buffer(NULL), | 341 pixel_buffer(NULL), |
| 340 lock_for_read_count(0), | 342 lock_for_read_count(0), |
| 341 imported_count(0), | 343 imported_count(0), |
| 342 exported_count(0), | 344 exported_count(0), |
| 345 dirty_image(false), |
| 343 locked_for_write(false), | 346 locked_for_write(false), |
| 344 origin(origin), | 347 lost(false), |
| 345 marked_for_deletion(false), | 348 marked_for_deletion(false), |
| 346 pending_set_pixels(false), | 349 pending_set_pixels(false), |
| 347 set_pixels_completion_forced(false), | 350 set_pixels_completion_forced(false), |
| 348 allocated(false), | 351 allocated(false), |
| 349 enable_read_lock_fences(false), | 352 enable_read_lock_fences(false), |
| 353 has_shared_bitmap_id(true), |
| 354 allow_overlay(false), |
| 350 read_lock_fence(NULL), | 355 read_lock_fence(NULL), |
| 351 size(size), | 356 size(size), |
| 357 origin(origin), |
| 352 target(0), | 358 target(0), |
| 353 original_filter(filter), | 359 original_filter(filter), |
| 354 filter(filter), | 360 filter(filter), |
| 355 image_id(0), | 361 image_id(0), |
| 356 bound_image_id(0), | 362 bound_image_id(0), |
| 357 dirty_image(false), | |
| 358 texture_pool(0), | 363 texture_pool(0), |
| 359 wrap_mode(wrap_mode), | 364 wrap_mode(wrap_mode), |
| 360 lost(false), | |
| 361 hint(TextureUsageAny), | 365 hint(TextureUsageAny), |
| 362 type(Bitmap), | 366 type(Bitmap), |
| 363 format(RGBA_8888), | 367 format(RGBA_8888), |
| 364 has_shared_bitmap_id(true), | |
| 365 shared_bitmap_id(bitmap_id), | 368 shared_bitmap_id(bitmap_id), |
| 366 shared_bitmap(NULL) { | 369 shared_bitmap(NULL) { |
| 367 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); | 370 DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT); |
| 368 } | 371 } |
| 369 | 372 |
| 370 ResourceProvider::RasterBuffer::RasterBuffer( | 373 ResourceProvider::RasterBuffer::RasterBuffer( |
| 371 const Resource* resource, | 374 const Resource* resource, |
| 372 ResourceProvider* resource_provider) | 375 ResourceProvider* resource_provider) |
| 373 : resource_(resource), | 376 : resource_(resource), |
| 374 resource_provider_(resource_provider), | 377 resource_provider_(resource_provider), |
| (...skipping 1840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2215 ContextProvider* context_provider = output_surface_->context_provider(); | 2218 ContextProvider* context_provider = output_surface_->context_provider(); |
| 2216 return context_provider ? context_provider->ContextGL() : NULL; | 2219 return context_provider ? context_provider->ContextGL() : NULL; |
| 2217 } | 2220 } |
| 2218 | 2221 |
| 2219 class GrContext* ResourceProvider::GrContext() const { | 2222 class GrContext* ResourceProvider::GrContext() const { |
| 2220 ContextProvider* context_provider = output_surface_->context_provider(); | 2223 ContextProvider* context_provider = output_surface_->context_provider(); |
| 2221 return context_provider ? context_provider->GrContext() : NULL; | 2224 return context_provider ? context_provider->GrContext() : NULL; |
| 2222 } | 2225 } |
| 2223 | 2226 |
| 2224 } // namespace cc | 2227 } // namespace cc |
| OLD | NEW |