| /* |
| * Copyright 2016 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrGpuCommandBuffer_DEFINED |
| #define GrGpuCommandBuffer_DEFINED |
| |
| #include "GrColor.h" |
| |
| class GrRenderTarget; |
| |
| class GrGpuCommandBuffer { |
| public: |
| enum LoadAndStoreOp { |
| kLoadAndStore_LoadAndStoreOp, |
| kLoadAndDiscard_LoadAndStoreOp, |
| kClearAndStore_LoadAndStoreOp, |
| kClearAndDiscard_LoadAndStoreOp, |
| kDiscardAndStore_LoadAndStoreOp, |
| kDiscardAndDiscard_LoadAndStoreOp, |
| }; |
| |
| GrGpuCommandBuffer() {} |
| virtual ~GrGpuCommandBuffer() {} |
| |
| // Signals the end of recording to the command buffer and that it can now be submitted. |
| virtual void end() = 0; |
| |
| // Sends the command buffer off to the GPU object to execute the commands built up in the |
| // buffer. The gpu object is allowed to defer execution of the commands until it is flushed. |
| virtual void submit() = 0; |
| }; |
| |
| #endif |