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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
285 | 285 |
286 // Update pixels from acquired pixel buffer. | 286 // Update pixels from acquired pixel buffer. |
287 void SetPixelsFromBuffer(ResourceId id); | 287 void SetPixelsFromBuffer(ResourceId id); |
288 | 288 |
289 // Asynchronously update pixels from acquired pixel buffer. | 289 // Asynchronously update pixels from acquired pixel buffer. |
290 void BeginSetPixels(ResourceId id); | 290 void BeginSetPixels(ResourceId id); |
291 void ForceSetPixelsToComplete(ResourceId id); | 291 void ForceSetPixelsToComplete(ResourceId id); |
292 bool DidSetPixelsComplete(ResourceId id); | 292 bool DidSetPixelsComplete(ResourceId id); |
293 void AbortSetPixels(ResourceId id); | 293 void AbortSetPixels(ResourceId id); |
294 | 294 |
295 // Methods for GLImage zero-copy API. | |
reveman
2013/05/20 23:16:01
I think these functions could need a bit more of a
kaanb
2013/05/21 00:52:29
Done.
| |
296 void AcquireImage(ResourceId id); | |
297 void ReleaseImage(ResourceId id); | |
298 uint8_t* MapImage(ResourceId id); | |
299 void UnmapImage(ResourceId id); | |
300 void BindImage(ResourceId id); | |
301 int GetImageStride(ResourceId id); | |
302 | |
295 // For tests only! This prevents detecting uninitialized reads. | 303 // For tests only! This prevents detecting uninitialized reads. |
296 // Use SetPixels or LockForWrite to allocate implicitly. | 304 // Use SetPixels or LockForWrite to allocate implicitly. |
297 void AllocateForTesting(ResourceId id); | 305 void AllocateForTesting(ResourceId id); |
298 | 306 |
299 // Sets the current read fence. If a resource is locked for read | 307 // Sets the current read fence. If a resource is locked for read |
300 // and has read fences enabled, the resource will not allow writes | 308 // and has read fences enabled, the resource will not allow writes |
301 // until this fence has passed. | 309 // until this fence has passed. |
302 void SetReadLockFence(scoped_refptr<Fence> fence) { | 310 void SetReadLockFence(scoped_refptr<Fence> fence) { |
303 current_read_lock_fence_ = fence; | 311 current_read_lock_fence_ = fence; |
304 } | 312 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
340 bool marked_for_deletion; | 348 bool marked_for_deletion; |
341 bool pending_set_pixels; | 349 bool pending_set_pixels; |
342 bool set_pixels_completion_forced; | 350 bool set_pixels_completion_forced; |
343 bool allocated; | 351 bool allocated; |
344 bool enable_read_lock_fences; | 352 bool enable_read_lock_fences; |
345 scoped_refptr<Fence> read_lock_fence; | 353 scoped_refptr<Fence> read_lock_fence; |
346 gfx::Size size; | 354 gfx::Size size; |
347 GLenum format; | 355 GLenum format; |
348 // TODO(skyostil): Use a separate sampler object for filter state. | 356 // TODO(skyostil): Use a separate sampler object for filter state. |
349 GLenum filter; | 357 GLenum filter; |
358 unsigned image_id; | |
350 ResourceType type; | 359 ResourceType type; |
351 }; | 360 }; |
352 typedef base::hash_map<ResourceId, Resource> ResourceMap; | 361 typedef base::hash_map<ResourceId, Resource> ResourceMap; |
353 struct Child { | 362 struct Child { |
354 Child(); | 363 Child(); |
355 ~Child(); | 364 ~Child(); |
356 | 365 |
357 ResourceIdMap child_to_parent_map; | 366 ResourceIdMap child_to_parent_map; |
358 ResourceIdMap parent_to_child_map; | 367 ResourceIdMap parent_to_child_map; |
359 }; | 368 }; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
405 base::ThreadChecker thread_checker_; | 414 base::ThreadChecker thread_checker_; |
406 | 415 |
407 scoped_refptr<Fence> current_read_lock_fence_; | 416 scoped_refptr<Fence> current_read_lock_fence_; |
408 | 417 |
409 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); | 418 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); |
410 }; | 419 }; |
411 | 420 |
412 } // namespace cc | 421 } // namespace cc |
413 | 422 |
414 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ | 423 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ |
OLD | NEW |