| 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 #ifndef CC_RESOURCES_RESOURCE_PROVIDER_H_ | 5 #ifndef CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| 6 #define CC_RESOURCES_RESOURCE_PROVIDER_H_ | 6 #define CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 GLenum TargetForTesting(ResourceId id); | 415 GLenum TargetForTesting(ResourceId id); |
| 416 | 416 |
| 417 // Sets the current read fence. If a resource is locked for read | 417 // Sets the current read fence. If a resource is locked for read |
| 418 // and has read fences enabled, the resource will not allow writes | 418 // and has read fences enabled, the resource will not allow writes |
| 419 // until this fence has passed. | 419 // until this fence has passed. |
| 420 void SetReadLockFence(Fence* fence) { current_read_lock_fence_ = fence; } | 420 void SetReadLockFence(Fence* fence) { current_read_lock_fence_ = fence; } |
| 421 | 421 |
| 422 // Indicates if we can currently lock this resource for write. | 422 // Indicates if we can currently lock this resource for write. |
| 423 bool CanLockForWrite(ResourceId id); | 423 bool CanLockForWrite(ResourceId id); |
| 424 | 424 |
| 425 // Indicates if this resource may be used for a hardware overlay plane. |
| 426 bool IsOverlayCandidate(ResourceId id); |
| 427 |
| 425 void WaitSyncPointIfNeeded(ResourceId id); | 428 void WaitSyncPointIfNeeded(ResourceId id); |
| 426 | 429 |
| 427 static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl); | 430 static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl); |
| 428 | 431 |
| 429 OutputSurface* output_surface() { return output_surface_; } | 432 OutputSurface* output_surface() { return output_surface_; } |
| 430 | 433 |
| 431 void ValidateResource(ResourceId id) const; | 434 void ValidateResource(ResourceId id) const; |
| 432 | 435 |
| 433 GLenum GetImageTextureTarget(ResourceFormat format); | 436 GLenum GetImageTextureTarget(ResourceFormat format); |
| 434 | 437 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 int lock_for_read_count; | 491 int lock_for_read_count; |
| 489 int imported_count; | 492 int imported_count; |
| 490 int exported_count; | 493 int exported_count; |
| 491 bool dirty_image : 1; | 494 bool dirty_image : 1; |
| 492 bool locked_for_write : 1; | 495 bool locked_for_write : 1; |
| 493 bool lost : 1; | 496 bool lost : 1; |
| 494 bool marked_for_deletion : 1; | 497 bool marked_for_deletion : 1; |
| 495 bool allocated : 1; | 498 bool allocated : 1; |
| 496 bool read_lock_fences_enabled : 1; | 499 bool read_lock_fences_enabled : 1; |
| 497 bool has_shared_bitmap_id : 1; | 500 bool has_shared_bitmap_id : 1; |
| 501 bool is_overlay_candidate : 1; |
| 498 scoped_refptr<Fence> read_lock_fence; | 502 scoped_refptr<Fence> read_lock_fence; |
| 499 gfx::Size size; | 503 gfx::Size size; |
| 500 Origin origin; | 504 Origin origin; |
| 501 GLenum target; | 505 GLenum target; |
| 502 // TODO(skyostil): Use a separate sampler object for filter state. | 506 // TODO(skyostil): Use a separate sampler object for filter state. |
| 503 GLenum original_filter; | 507 GLenum original_filter; |
| 504 GLenum filter; | 508 GLenum filter; |
| 505 unsigned image_id; | 509 unsigned image_id; |
| 506 unsigned bound_image_id; | 510 unsigned bound_image_id; |
| 507 GLenum texture_pool; | 511 GLenum texture_pool; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 // A process-unique ID used for disambiguating memory dumps from different | 606 // A process-unique ID used for disambiguating memory dumps from different |
| 603 // resource providers. | 607 // resource providers. |
| 604 int tracing_id_; | 608 int tracing_id_; |
| 605 | 609 |
| 606 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); | 610 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); |
| 607 }; | 611 }; |
| 608 | 612 |
| 609 } // namespace cc | 613 } // namespace cc |
| 610 | 614 |
| 611 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ | 615 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| OLD | NEW |