Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 88 { | 88 { |
| 89 return m_mostRecentlyProducedSize; | 89 return m_mostRecentlyProducedSize; |
| 90 } | 90 } |
| 91 | 91 |
| 92 unsigned insertSyncPoint() override | 92 unsigned insertSyncPoint() override |
| 93 { | 93 { |
| 94 static unsigned syncPointGenerator = 0; | 94 static unsigned syncPointGenerator = 0; |
| 95 return ++syncPointGenerator; | 95 return ++syncPointGenerator; |
| 96 } | 96 } |
| 97 | 97 |
| 98 void waitSyncPoint(unsigned syncPoint) override | 98 void waitSyncPoint(unsigned syncPoint, const WGC3Dbyte* syncToken) override |
| 99 { | 99 { |
| 100 m_mostRecentlyWaitedSyncPoint = syncPoint; | 100 m_mostRecentlyWaitedSyncPoint = syncPoint; |
| 101 if (syncToken) { | |
| 102 memcpy(m_mostRecentlyWaitedSyncToken, syncToken, | |
| 103 sizeof(m_mostRecentlyWaitedSyncToken)); | |
| 104 } | |
| 101 } | 105 } |
| 102 | 106 |
| 103 WGC3Duint createGpuMemoryBufferImageCHROMIUM(WGC3Dsizei width, WGC3Dsizei he ight, WGC3Denum internalformat, WGC3Denum usage) override | 107 WGC3Duint createGpuMemoryBufferImageCHROMIUM(WGC3Dsizei width, WGC3Dsizei he ight, WGC3Denum internalformat, WGC3Denum usage) override |
| 104 { | 108 { |
| 105 m_imageSizes.set(m_currentImageId, IntSize(width, height)); | 109 m_imageSizes.set(m_currentImageId, IntSize(width, height)); |
| 106 return m_currentImageId++; | 110 return m_currentImageId++; |
| 107 } | 111 } |
| 108 | 112 |
| 109 MOCK_METHOD1(destroyImageMock, void(WGC3Duint imageId)); | 113 MOCK_METHOD1(destroyImageMock, void(WGC3Duint imageId)); |
| 110 void destroyImageCHROMIUM(WGC3Duint imageId) | 114 void destroyImageCHROMIUM(WGC3Duint imageId) |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 134 m_imageToTextureMap.remove(imageId); | 138 m_imageToTextureMap.remove(imageId); |
| 135 releaseTexImage2DMock(imageId); | 139 releaseTexImage2DMock(imageId); |
| 136 } | 140 } |
| 137 } | 141 } |
| 138 | 142 |
| 139 unsigned mostRecentlyWaitedSyncPoint() | 143 unsigned mostRecentlyWaitedSyncPoint() |
| 140 { | 144 { |
| 141 return m_mostRecentlyWaitedSyncPoint; | 145 return m_mostRecentlyWaitedSyncPoint; |
| 142 } | 146 } |
| 143 | 147 |
| 148 const WGC3Dbyte* mostRecentlyWaitedSyncToken() | |
| 149 { | |
| 150 return m_mostRecentlyWaitedSyncToken; | |
| 151 } | |
| 152 | |
| 144 WGC3Duint nextImageIdToBeCreated() | 153 WGC3Duint nextImageIdToBeCreated() |
| 145 { | 154 { |
| 146 return m_currentImageId; | 155 return m_currentImageId; |
| 147 } | 156 } |
| 148 | 157 |
| 149 private: | 158 private: |
| 150 WebGLId m_boundTexture; | 159 WebGLId m_boundTexture; |
| 151 HashMap<WebGLId, IntSize> m_textureSizes; | 160 HashMap<WebGLId, IntSize> m_textureSizes; |
| 152 WGC3Dbyte m_currentMailboxByte; | 161 WGC3Dbyte m_currentMailboxByte; |
| 153 IntSize m_mostRecentlyProducedSize; | 162 IntSize m_mostRecentlyProducedSize; |
| 154 unsigned m_mostRecentlyWaitedSyncPoint; | 163 unsigned m_mostRecentlyWaitedSyncPoint; |
| 164 WGC3Dbyte m_mostRecentlyWaitedSyncToken[24]; | |
|
Justin Novosad
2015/10/27 19:24:15
24 -> GL_SYNC_TOKEN_SIZE_CHROMIUM
David Yen
2015/10/28 22:03:43
Changed so this is no longer relevant.
| |
| 155 WGC3Duint m_currentImageId; | 165 WGC3Duint m_currentImageId; |
| 156 HashMap<WGC3Duint, IntSize> m_imageSizes; | 166 HashMap<WGC3Duint, IntSize> m_imageSizes; |
| 157 HashMap<WGC3Duint, WebGLId> m_imageToTextureMap; | 167 HashMap<WGC3Duint, WebGLId> m_imageToTextureMap; |
| 158 }; | 168 }; |
| 159 | 169 |
| 160 static const int initialWidth = 100; | 170 static const int initialWidth = 100; |
| 161 static const int initialHeight = 100; | 171 static const int initialHeight = 100; |
| 162 static const int alternateHeight = 50; | 172 static const int alternateHeight = 50; |
| 163 | 173 |
| 164 class DrawingBufferForTests : public DrawingBuffer { | 174 class DrawingBufferForTests : public DrawingBuffer { |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 658 mailbox.syncPoint = waitSyncPoint; | 668 mailbox.syncPoint = waitSyncPoint; |
| 659 m_drawingBuffer->setIsHidden(true); | 669 m_drawingBuffer->setIsHidden(true); |
| 660 m_drawingBuffer->mailboxReleased(mailbox); | 670 m_drawingBuffer->mailboxReleased(mailbox); |
| 661 // m_drawingBuffer deletes mailbox immediately when hidden. | 671 // m_drawingBuffer deletes mailbox immediately when hidden. |
| 662 EXPECT_EQ(waitSyncPoint, webContext()->mostRecentlyWaitedSyncPoint()); | 672 EXPECT_EQ(waitSyncPoint, webContext()->mostRecentlyWaitedSyncPoint()); |
| 663 | 673 |
| 664 m_drawingBuffer->beginDestruction(); | 674 m_drawingBuffer->beginDestruction(); |
| 665 } | 675 } |
| 666 | 676 |
| 667 } // namespace blink | 677 } // namespace blink |
| OLD | NEW |