OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "gpu/command_buffer/tests/gl_manager.h" | 5 #include "gpu/command_buffer/tests/gl_manager.h" |
6 | 6 |
7 #include <GLES2/gl2.h> | 7 #include <GLES2/gl2.h> |
8 #include <GLES2/gl2ext.h> | 8 #include <GLES2/gl2ext.h> |
9 #include <GLES2/gl2extchromium.h> | 9 #include <GLES2/gl2extchromium.h> |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 namespace gpu { | 42 namespace gpu { |
43 namespace { | 43 namespace { |
44 | 44 |
45 uint64_t g_next_command_buffer_id = 0; | 45 uint64_t g_next_command_buffer_id = 0; |
46 | 46 |
47 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { | 47 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
48 public: | 48 public: |
49 GpuMemoryBufferImpl(base::RefCountedBytes* bytes, | 49 GpuMemoryBufferImpl(base::RefCountedBytes* bytes, |
50 const gfx::Size& size, | 50 const gfx::Size& size, |
51 gfx::BufferFormat format) | 51 gfx::BufferFormat format) |
52 : bytes_(bytes), size_(size), format_(format) {} | 52 : mapped_(false), bytes_(bytes), size_(size), format_(format) {} |
53 | 53 |
54 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer) { | 54 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer) { |
55 return reinterpret_cast<GpuMemoryBufferImpl*>(buffer); | 55 return reinterpret_cast<GpuMemoryBufferImpl*>(buffer); |
56 } | 56 } |
57 | 57 |
58 // Overridden from gfx::GpuMemoryBuffer: | 58 // Overridden from gfx::GpuMemoryBuffer: |
59 bool Map(void** data) override { | 59 bool Map() override { |
60 size_t offset = 0; | 60 DCHECK(!mapped_); |
61 size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format_); | 61 mapped_ = true; |
62 for (size_t i = 0; i < num_planes; ++i) { | |
63 data[i] = reinterpret_cast<uint8*>(&bytes_->data().front()) + offset; | |
64 offset += | |
65 gfx::RowSizeForBufferFormat(size_.width(), format_, i) * | |
66 (size_.height() / gfx::SubsamplingFactorForBufferFormat(format_, i)); | |
67 } | |
68 return true; | 62 return true; |
69 } | 63 } |
70 void Unmap() override {} | 64 void* memory(size_t plane) override { |
| 65 DCHECK(mapped_); |
| 66 DCHECK_LT(plane, gfx::NumberOfPlanesForBufferFormat(format_)); |
| 67 return reinterpret_cast<uint8*>(&bytes_->data().front()) + |
| 68 gfx::BufferOffsetForBufferFormat(size_, format_, plane); |
| 69 } |
| 70 void Unmap() override { |
| 71 DCHECK(mapped_); |
| 72 mapped_ = false; |
| 73 } |
71 gfx::Size GetSize() const override { return size_; } | 74 gfx::Size GetSize() const override { return size_; } |
72 gfx::BufferFormat GetFormat() const override { return format_; } | 75 gfx::BufferFormat GetFormat() const override { return format_; } |
73 void GetStride(int* stride) const override { | 76 int stride(size_t plane) const override { |
74 size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format_); | 77 DCHECK_LT(plane, gfx::NumberOfPlanesForBufferFormat(format_)); |
75 for (size_t i = 0; i < num_planes; ++i) | 78 return gfx::RowSizeForBufferFormat(size_.width(), format_, plane); |
76 stride[i] = gfx::RowSizeForBufferFormat(size_.width(), format_, i); | |
77 } | 79 } |
78 gfx::GpuMemoryBufferId GetId() const override { | 80 gfx::GpuMemoryBufferId GetId() const override { |
79 NOTREACHED(); | 81 NOTREACHED(); |
80 return gfx::GpuMemoryBufferId(0); | 82 return gfx::GpuMemoryBufferId(0); |
81 } | 83 } |
82 gfx::GpuMemoryBufferHandle GetHandle() const override { | 84 gfx::GpuMemoryBufferHandle GetHandle() const override { |
83 NOTREACHED(); | 85 NOTREACHED(); |
84 return gfx::GpuMemoryBufferHandle(); | 86 return gfx::GpuMemoryBufferHandle(); |
85 } | 87 } |
86 ClientBuffer AsClientBuffer() override { | 88 ClientBuffer AsClientBuffer() override { |
87 return reinterpret_cast<ClientBuffer>(this); | 89 return reinterpret_cast<ClientBuffer>(this); |
88 } | 90 } |
89 | 91 |
90 base::RefCountedBytes* bytes() { return bytes_.get(); } | 92 base::RefCountedBytes* bytes() { return bytes_.get(); } |
91 | 93 |
92 private: | 94 private: |
| 95 bool mapped_; |
93 scoped_refptr<base::RefCountedBytes> bytes_; | 96 scoped_refptr<base::RefCountedBytes> bytes_; |
94 const gfx::Size size_; | 97 const gfx::Size size_; |
95 gfx::BufferFormat format_; | 98 gfx::BufferFormat format_; |
96 }; | 99 }; |
97 | 100 |
98 } // namespace | 101 } // namespace |
99 | 102 |
100 int GLManager::use_count_; | 103 int GLManager::use_count_; |
101 scoped_refptr<gfx::GLShareGroup>* GLManager::base_share_group_; | 104 scoped_refptr<gfx::GLShareGroup>* GLManager::base_share_group_; |
102 scoped_refptr<gfx::GLSurface>* GLManager::base_surface_; | 105 scoped_refptr<gfx::GLSurface>* GLManager::base_surface_; |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 | 525 |
523 bool GLManager::IsFenceSyncFlushReceived(uint64_t release) { | 526 bool GLManager::IsFenceSyncFlushReceived(uint64_t release) { |
524 return IsFenceSyncRelease(release); | 527 return IsFenceSyncRelease(release); |
525 } | 528 } |
526 | 529 |
527 bool GLManager::CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) { | 530 bool GLManager::CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) { |
528 return false; | 531 return false; |
529 } | 532 } |
530 | 533 |
531 } // namespace gpu | 534 } // namespace gpu |
OLD | NEW |