OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrVkCommandBuffer_DEFINED | 8 #ifndef GrVkCommandBuffer_DEFINED |
9 #define GrVkCommandBuffer_DEFINED | 9 #define GrVkCommandBuffer_DEFINED |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... |
35 void pipelineBarrier(const GrVkGpu* gpu, | 35 void pipelineBarrier(const GrVkGpu* gpu, |
36 VkPipelineStageFlags srcStageMask, | 36 VkPipelineStageFlags srcStageMask, |
37 VkPipelineStageFlags dstStageMask, | 37 VkPipelineStageFlags dstStageMask, |
38 bool byRegion, | 38 bool byRegion, |
39 BarrierType barrierType, | 39 BarrierType barrierType, |
40 void* barrier) const; | 40 void* barrier) const; |
41 | 41 |
42 void bindVertexBuffer(GrVkGpu* gpu, GrVkVertexBuffer* vbuffer) { | 42 void bindVertexBuffer(GrVkGpu* gpu, GrVkVertexBuffer* vbuffer) { |
43 VkBuffer vkBuffer = vbuffer->buffer(); | 43 VkBuffer vkBuffer = vbuffer->buffer(); |
44 if (!fBoundVertexBufferIsValid || vkBuffer != fBoundVertexBuffer) { | 44 if (!fBoundVertexBufferIsValid || vkBuffer != fBoundVertexBuffer) { |
45 VkDeviceSize offset = 0; | 45 VkDeviceSize offset = vbuffer->offset(); |
46 GR_VK_CALL(gpu->vkInterface(), CmdBindVertexBuffers(fCmdBuffer, | 46 GR_VK_CALL(gpu->vkInterface(), CmdBindVertexBuffers(fCmdBuffer, |
47 0, | 47 0, |
48 1, | 48 1, |
49 &vkBuffer, | 49 &vkBuffer, |
50 &offset)); | 50 &offset)); |
51 fBoundVertexBufferIsValid = true; | 51 fBoundVertexBufferIsValid = true; |
52 fBoundVertexBuffer = vkBuffer; | 52 fBoundVertexBuffer = vkBuffer; |
53 addResource(vbuffer->resource()); | 53 addResource(vbuffer->resource()); |
54 } | 54 } |
55 } | 55 } |
56 | 56 |
57 void bindIndexBuffer(GrVkGpu* gpu, GrVkIndexBuffer* ibuffer) { | 57 void bindIndexBuffer(GrVkGpu* gpu, GrVkIndexBuffer* ibuffer) { |
58 VkBuffer vkBuffer = ibuffer->buffer(); | 58 VkBuffer vkBuffer = ibuffer->buffer(); |
59 if (!fBoundIndexBufferIsValid || vkBuffer != fBoundIndexBuffer) { | 59 if (!fBoundIndexBufferIsValid || vkBuffer != fBoundIndexBuffer) { |
60 GR_VK_CALL(gpu->vkInterface(), CmdBindIndexBuffer(fCmdBuffer, | 60 GR_VK_CALL(gpu->vkInterface(), CmdBindIndexBuffer(fCmdBuffer, |
61 vkBuffer, | 61 vkBuffer, |
62 0, | 62 ibuffer->offset(), |
63 VK_INDEX_TYPE_UINT
16)); | 63 VK_INDEX_TYPE_UINT
16)); |
64 fBoundIndexBufferIsValid = true; | 64 fBoundIndexBufferIsValid = true; |
65 fBoundIndexBuffer = vkBuffer; | 65 fBoundIndexBuffer = vkBuffer; |
66 addResource(ibuffer->resource()); | 66 addResource(ibuffer->resource()); |
67 } | 67 } |
68 } | 68 } |
69 | 69 |
70 void bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline); | 70 void bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline); |
71 | 71 |
72 void bindDescriptorSets(const GrVkGpu* gpu, | 72 void bindDescriptorSets(const GrVkGpu* gpu, |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 } | 305 } |
306 | 306 |
307 void onFreeGPUData(const GrVkGpu* gpu) const override {} | 307 void onFreeGPUData(const GrVkGpu* gpu) const override {} |
308 | 308 |
309 friend class GrVkPrimaryCommandBuffer; | 309 friend class GrVkPrimaryCommandBuffer; |
310 | 310 |
311 typedef GrVkCommandBuffer INHERITED; | 311 typedef GrVkCommandBuffer INHERITED; |
312 }; | 312 }; |
313 | 313 |
314 #endif | 314 #endif |
OLD | NEW |