From c70007401198d19eea390b7153e9f907744de636 Mon Sep 17 00:00:00 2001 From: Yun Hsiao Wu Date: Mon, 24 Aug 2020 11:55:12 +0800 Subject: [PATCH] fix build --- CMakeLists.txt | 8 ++++++-- cocos/renderer/core/gfx/GFXCommandBuffer.h | 13 ++++++++++--- cocos/renderer/gfx-gles2/GLES2CommandBuffer.cc | 16 ++++++++-------- cocos/renderer/gfx-gles2/GLES2CommandBuffer.h | 6 +++--- cocos/renderer/gfx-gles3/GLES3CommandBuffer.cc | 16 ++++++++-------- cocos/renderer/gfx-gles3/GLES3CommandBuffer.h | 6 +++--- cocos/renderer/gfx-metal/MTLCommandBuffer.h | 6 +++--- cocos/renderer/gfx-metal/MTLCommandBuffer.mm | 6 +++--- cocos/renderer/gfx-metal/MTLTexture.h | 2 +- cocos/renderer/gfx-metal/MTLTexture.mm | 6 +++--- cocos/renderer/gfx-vulkan/VKCommandBuffer.cc | 6 +++--- cocos/renderer/gfx-vulkan/VKCommandBuffer.h | 6 +++--- cocos/renderer/gfx-vulkan/VKCommands.cc | 2 +- 13 files changed, 55 insertions(+), 44 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 890b5b4c99b..1859eb9c9b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -671,8 +671,6 @@ endif() if(CC_USE_METAL) cocos_source_files( cocos/renderer/gfx-metal/GFXMTL.h - cocos/renderer/gfx-metal/MTLBindingLayout.cpp - cocos/renderer/gfx-metal/MTLBindingLayout.h cocos/renderer/gfx-metal/MTLBuffer.h cocos/renderer/gfx-metal/MTLBuffer.mm cocos/renderer/gfx-metal/MTLCommandBuffer.h @@ -688,8 +686,14 @@ if(CC_USE_METAL) cocos/renderer/gfx-metal/MTLGPUObjects.h cocos/renderer/gfx-metal/MTLInputAssembler.h cocos/renderer/gfx-metal/MTLInputAssembler.mm + cocos/renderer/gfx-metal/MTLDescriptorSetLayout.h + cocos/renderer/gfx-metal/MTLDescriptorSetLayout.mm + cocos/renderer/gfx-metal/MTLPipelineLayout.h + cocos/renderer/gfx-metal/MTLPipelineLayout.mm cocos/renderer/gfx-metal/MTLPipelineState.h cocos/renderer/gfx-metal/MTLPipelineState.mm + cocos/renderer/gfx-metal/MTLDescriptorSet.h + cocos/renderer/gfx-metal/MTLDescriptorSet.mm cocos/renderer/gfx-metal/MTLQueue.h cocos/renderer/gfx-metal/MTLQueue.mm cocos/renderer/gfx-metal/MTLRenderPass.h diff --git a/cocos/renderer/core/gfx/GFXCommandBuffer.h b/cocos/renderer/core/gfx/GFXCommandBuffer.h index acbcf6e75e1..bedd67f96b7 100755 --- a/cocos/renderer/core/gfx/GFXCommandBuffer.h +++ b/cocos/renderer/core/gfx/GFXCommandBuffer.h @@ -16,7 +16,7 @@ class CC_DLL CommandBuffer : public GFXObject { virtual void destroy() = 0; virtual void begin(RenderPass *renderPass, uint subpass, Framebuffer *frameBuffer) = 0; virtual void end() = 0; - virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) = 0; + virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) = 0; virtual void endRenderPass() = 0; virtual void bindPipelineState(PipelineState *pso) = 0; virtual void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, uint dynamicOffsetCount, const uint *dynamicOffsets) = 0; @@ -31,16 +31,23 @@ class CC_DLL CommandBuffer : public GFXObject { virtual void setStencilCompareMask(StencilFace face, int ref, uint mask) = 0; virtual void draw(InputAssembler *ia) = 0; virtual void updateBuffer(Buffer *buff, void *data, uint size, uint offset = 0) = 0; - virtual void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) = 0; - virtual void execute(const CommandBufferList &cmdBuffs, uint32_t count) = 0; + virtual void copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) = 0; + virtual void execute(const CommandBuffer *const *cmdBuffs, uint32_t count) = 0; CC_INLINE void begin() { begin(nullptr, 0, nullptr); } CC_INLINE void begin(RenderPass *renderPass) { begin(renderPass, 0, nullptr); } CC_INLINE void begin(RenderPass *renderPass, uint subpass) { begin(renderPass, subpass, nullptr); } + CC_INLINE void execute(const CommandBufferList &cmdBuffs, uint32_t count) { execute(cmdBuffs.data(), count); } CC_INLINE void bindDescriptorSet(uint set, DescriptorSet *descriptorSet) { bindDescriptorSet(set, descriptorSet, 0, nullptr); } CC_INLINE void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, const vector &dynamicOffsets) { bindDescriptorSet(set, descriptorSet, dynamicOffsets.size(), dynamicOffsets.data()); } + CC_INLINE void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) { + beginRenderPass(renderPass, fbo, renderArea, colors.data(), depth, stencil); + } + CC_INLINE void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) { + copyBuffersToTexture(buffers.data(), texture, regions.data(), regions.size()); + } CC_INLINE Device *getDevice() const { return _device; } CC_INLINE Queue *getQueue() const { return _queue; } diff --git a/cocos/renderer/gfx-gles2/GLES2CommandBuffer.cc b/cocos/renderer/gfx-gles2/GLES2CommandBuffer.cc index 8678d6bfa85..938f0561736 100644 --- a/cocos/renderer/gfx-gles2/GLES2CommandBuffer.cc +++ b/cocos/renderer/gfx-gles2/GLES2CommandBuffer.cc @@ -66,15 +66,15 @@ void GLES2CommandBuffer::end() { _isInRenderPass = false; } -void GLES2CommandBuffer::beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) { +void GLES2CommandBuffer::beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) { _isInRenderPass = true; GLES2CmdBeginRenderPass *cmd = _gles2Allocator->beginRenderPassCmdPool.alloc(); cmd->gpuRenderPass = ((GLES2RenderPass *)renderPass)->gpuRenderPass(); cmd->gpuFBO = ((GLES2Framebuffer *)fbo)->gpuFBO(); cmd->renderArea = renderArea; - cmd->numClearColors = (uint32_t)colors.size(); - for (uint i = 0; i < colors.size(); ++i) { + cmd->numClearColors = cmd->gpuRenderPass->colorAttachments.size(); + for (uint i = 0; i < cmd->numClearColors; ++i) { cmd->clearColors[i] = colors[i]; } cmd->clearDepth = depth; @@ -255,16 +255,16 @@ void GLES2CommandBuffer::updateBuffer(Buffer *buff, void *data, uint size, uint } } -void GLES2CommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) { +void GLES2CommandBuffer::copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) { if ((_type == CommandBufferType::PRIMARY && !_isInRenderPass) || (_type == CommandBufferType::SECONDARY)) { GLES2GPUTexture *gpuTexture = ((GLES2Texture *)texture)->gpuTexture(); if (gpuTexture) { GLES2CmdCopyBufferToTexture *cmd = _gles2Allocator->copyBufferToTextureCmdPool.alloc(); cmd->gpuTexture = gpuTexture; - cmd->buffers.resize(buffers.size()); - cmd->regions.resize(regions.size()); - for (uint i = 0; i < static_cast(regions.size()); ++i) { + cmd->buffers.resize(count); + cmd->regions.resize(count); + for (uint i = 0; i < count; ++i) { cmd->buffers[i] = buffers[i]; cmd->regions[i] = regions[i]; } @@ -277,7 +277,7 @@ void GLES2CommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Tex } } -void GLES2CommandBuffer::execute(const CommandBufferList &cmdBuffs, uint32_t count) { +void GLES2CommandBuffer::execute(const CommandBuffer *const *cmdBuffs, uint32_t count) { for (uint i = 0; i < count; ++i) { GLES2CommandBuffer *cmdBuff = (GLES2CommandBuffer *)cmdBuffs[i]; diff --git a/cocos/renderer/gfx-gles2/GLES2CommandBuffer.h b/cocos/renderer/gfx-gles2/GLES2CommandBuffer.h index de4e2f2e16c..4540435d811 100644 --- a/cocos/renderer/gfx-gles2/GLES2CommandBuffer.h +++ b/cocos/renderer/gfx-gles2/GLES2CommandBuffer.h @@ -21,7 +21,7 @@ class CC_GLES2_API GLES2CommandBuffer : public CommandBuffer { virtual void begin(RenderPass *renderPass = nullptr, uint subpass = 0, Framebuffer *frameBuffer = nullptr) override; virtual void end() override; - virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) override; + virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) override; virtual void endRenderPass() override; virtual void bindPipelineState(PipelineState *pso) override; virtual void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, uint dynamicOffsetCount, const uint *dynamicOffsets) override; @@ -36,8 +36,8 @@ class CC_GLES2_API GLES2CommandBuffer : public CommandBuffer { virtual void setStencilCompareMask(StencilFace face, int ref, uint mask) override; virtual void draw(InputAssembler *ia) override; virtual void updateBuffer(Buffer *buff, void *data, uint size, uint offset) override; - virtual void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) override; - virtual void execute(const CommandBufferList &cmdBuffs, uint32_t count) override; + virtual void copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) override; + virtual void execute(const CommandBuffer *const *cmdBuffs, uint32_t count) override; private: void BindStates(); diff --git a/cocos/renderer/gfx-gles3/GLES3CommandBuffer.cc b/cocos/renderer/gfx-gles3/GLES3CommandBuffer.cc index ed730b88817..d07c694864f 100644 --- a/cocos/renderer/gfx-gles3/GLES3CommandBuffer.cc +++ b/cocos/renderer/gfx-gles3/GLES3CommandBuffer.cc @@ -66,15 +66,15 @@ void GLES3CommandBuffer::end() { _isInRenderPass = false; } -void GLES3CommandBuffer::beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) { +void GLES3CommandBuffer::beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) { _isInRenderPass = true; GLES3CmdBeginRenderPass *cmd = _gles3Allocator->beginRenderPassCmdPool.alloc(); cmd->gpuRenderPass = ((GLES3RenderPass *)renderPass)->gpuRenderPass(); cmd->gpuFBO = ((GLES3Framebuffer *)fbo)->gpuFBO(); cmd->renderArea = renderArea; - cmd->numClearColors = (uint32_t)colors.size(); - for (uint i = 0; i < colors.size(); ++i) { + cmd->numClearColors = cmd->gpuRenderPass->colorAttachments.size(); + for (uint i = 0; i < cmd->numClearColors; ++i) { cmd->clearColors[i] = colors[i]; } cmd->clearDepth = depth; @@ -260,7 +260,7 @@ void GLES3CommandBuffer::updateBuffer(Buffer *buff, void *data, uint size, uint } } -void GLES3CommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) { +void GLES3CommandBuffer::copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) { if ((_type == CommandBufferType::PRIMARY && !_isInRenderPass) || (_type == CommandBufferType::SECONDARY)) { @@ -268,9 +268,9 @@ void GLES3CommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Tex if (gpuTexture) { GLES3CmdCopyBufferToTexture *cmd = _gles3Allocator->copyBufferToTextureCmdPool.alloc(); cmd->gpuTexture = gpuTexture; - cmd->buffers.resize(buffers.size()); - cmd->regions.resize(regions.size()); - for (uint i = 0; i < static_cast(regions.size()); ++i) { + cmd->buffers.resize(count); + cmd->regions.resize(count); + for (uint i = 0; i < count; ++i) { cmd->buffers[i] = buffers[i]; cmd->regions[i] = regions[i]; } @@ -283,7 +283,7 @@ void GLES3CommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Tex } } -void GLES3CommandBuffer::execute(const CommandBufferList &cmdBuffs, uint32_t count) { +void GLES3CommandBuffer::execute(const CommandBuffer *const *cmdBuffs, uint32_t count) { for (uint i = 0; i < count; ++i) { GLES3CommandBuffer *cmdBuff = (GLES3CommandBuffer *)cmdBuffs[i]; diff --git a/cocos/renderer/gfx-gles3/GLES3CommandBuffer.h b/cocos/renderer/gfx-gles3/GLES3CommandBuffer.h index 1c951d0cf2e..8386c76020a 100644 --- a/cocos/renderer/gfx-gles3/GLES3CommandBuffer.h +++ b/cocos/renderer/gfx-gles3/GLES3CommandBuffer.h @@ -21,7 +21,7 @@ class CC_GLES3_API GLES3CommandBuffer : public CommandBuffer { virtual void begin(RenderPass *renderPass, uint subpass, Framebuffer *frameBuffer) override; virtual void end() override; - virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) override; + virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) override; virtual void endRenderPass() override; virtual void bindPipelineState(PipelineState *pso) override; virtual void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, uint dynamicOffsetCount, const uint *dynamicOffsets) override; @@ -36,8 +36,8 @@ class CC_GLES3_API GLES3CommandBuffer : public CommandBuffer { virtual void setStencilCompareMask(StencilFace face, int ref, uint mask) override; virtual void draw(InputAssembler *ia) override; virtual void updateBuffer(Buffer *buff, void *data, uint size, uint offset) override; - virtual void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) override; - virtual void execute(const CommandBufferList &cmdBuffs, uint32_t count) override; + virtual void copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) override; + virtual void execute(const CommandBuffer *const *cmdBuffs, uint32_t count) override; private: void BindStates(); diff --git a/cocos/renderer/gfx-metal/MTLCommandBuffer.h b/cocos/renderer/gfx-metal/MTLCommandBuffer.h index 5d3322bb1be..ea981f34fbb 100644 --- a/cocos/renderer/gfx-metal/MTLCommandBuffer.h +++ b/cocos/renderer/gfx-metal/MTLCommandBuffer.h @@ -24,7 +24,7 @@ class CCMTLCommandBuffer : public CommandBuffer { virtual void destroy() override; virtual void begin(RenderPass *renderPass = nullptr, uint subpass = 0, Framebuffer *frameBuffer = nullptr) override; virtual void end() override; - virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) override; + virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) override; virtual void endRenderPass() override; virtual void bindPipelineState(PipelineState *pso) override; virtual void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, uint dynamicOffsetCount, const uint *dynamicOffsets) override; @@ -39,8 +39,8 @@ class CCMTLCommandBuffer : public CommandBuffer { virtual void setStencilCompareMask(StencilFace face, int ref, uint mask) override; virtual void draw(InputAssembler *ia) override; virtual void updateBuffer(Buffer *buff, void *data, uint size, uint offset = 0) override; - virtual void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) override; - virtual void execute(const CommandBufferList &cmdBuffs, uint32_t count) override; + virtual void copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) override; + virtual void execute(const CommandBuffer *const *cmdBuffs, uint32_t count) override; private: void bindStates(); diff --git a/cocos/renderer/gfx-metal/MTLCommandBuffer.mm b/cocos/renderer/gfx-metal/MTLCommandBuffer.mm index a2b39f33575..aaaa7322da6 100644 --- a/cocos/renderer/gfx-metal/MTLCommandBuffer.mm +++ b/cocos/renderer/gfx-metal/MTLCommandBuffer.mm @@ -324,11 +324,11 @@ } } -void CCMTLCommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) { +void CCMTLCommandBuffer::copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) { if ((_type == CommandBufferType::PRIMARY) || (_type == CommandBufferType::SECONDARY)) { if (texture) { - static_cast(texture)->update(buffers.data(), regions); + static_cast(texture)->update(buffers, regions, count); } else { CC_LOG_ERROR("CCMTLCommandBuffer::copyBufferToTexture: texture is nullptr"); } @@ -337,7 +337,7 @@ } } -void CCMTLCommandBuffer::execute(const CommandBufferList &commandBuffs, uint32_t count) { +void CCMTLCommandBuffer::execute(const CommandBuffer *const *commandBuffs, uint32_t count) { for (uint i = 0; i < count; ++i) { auto commandBuffer = static_cast(commandBuffs[i]); _numDrawCalls += commandBuffer->_numDrawCalls; diff --git a/cocos/renderer/gfx-metal/MTLTexture.h b/cocos/renderer/gfx-metal/MTLTexture.h index a3229e5cb74..667c0bfbbb2 100644 --- a/cocos/renderer/gfx-metal/MTLTexture.h +++ b/cocos/renderer/gfx-metal/MTLTexture.h @@ -22,7 +22,7 @@ class CCMTLTexture : public Texture { CC_INLINE Format getConvertedFormat() const { return _convertedFormat; } private: - void update(const uint8_t *const *datas, const BufferTextureCopyList ®ions); + void update(const uint8_t *const *datas, const BufferTextureCopy *regions, uint count); bool createMTLTexture(); void generateMipmaps(); diff --git a/cocos/renderer/gfx-metal/MTLTexture.mm b/cocos/renderer/gfx-metal/MTLTexture.mm index f7c1feead73..952255b88c1 100644 --- a/cocos/renderer/gfx-metal/MTLTexture.mm +++ b/cocos/renderer/gfx-metal/MTLTexture.mm @@ -239,7 +239,7 @@ _status = Status::SUCCESS; } -void CCMTLTexture::update(const uint8_t *const *datas, const BufferTextureCopyList ®ions) { +void CCMTLTexture::update(const uint8_t *const *datas, const BufferTextureCopy *regions, uint count) { if (!_mtlTexture) return; @@ -249,7 +249,7 @@ auto mtlTextureType = mu::toMTLTextureType(_type); switch (mtlTextureType) { case MTLTextureType2D: - for (size_t i = 0; i < regions.size(); i++) { + for (size_t i = 0; i < count; i++) { const auto ®ion = regions[i]; w = region.texExtent.width; h = region.texExtent.height; @@ -269,7 +269,7 @@ break; case MTLTextureType2DArray: case MTLTextureTypeCube: - for (size_t i = 0; i < regions.size(); i++) { + for (size_t i = 0; i < count; i++) { const auto ®ion = regions[i]; auto layer = region.texSubres.baseArrayLayer; auto layerCount = layer + region.texSubres.layerCount; diff --git a/cocos/renderer/gfx-vulkan/VKCommandBuffer.cc b/cocos/renderer/gfx-vulkan/VKCommandBuffer.cc index 92e7678a9d0..92e266a9df8 100644 --- a/cocos/renderer/gfx-vulkan/VKCommandBuffer.cc +++ b/cocos/renderer/gfx-vulkan/VKCommandBuffer.cc @@ -85,7 +85,7 @@ void CCVKCommandBuffer::end() { } void CCVKCommandBuffer::beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, - const vector &colors, float depth, int stencil) { + const Color *colors, float depth, int stencil) { _curGPUFBO = ((CCVKFramebuffer *)fbo)->gpuFBO(); CCVKGPURenderPass *gpuRenderPass = ((CCVKRenderPass *)renderPass)->gpuRenderPass(); VkFramebuffer framebuffer = _curGPUFBO->vkFramebuffer; @@ -333,7 +333,7 @@ void CCVKCommandBuffer::draw(InputAssembler *ia) { } } -void CCVKCommandBuffer::execute(const CommandBufferList &cmdBuffs, uint count) { +void CCVKCommandBuffer::execute(const CommandBuffer *const *cmdBuffs, uint count) { if (!count) { return; } @@ -356,7 +356,7 @@ void CCVKCommandBuffer::updateBuffer(Buffer *buff, void *data, uint size, uint o CCVKCmdFuncUpdateBuffer((CCVKDevice *)_device, ((CCVKBuffer *)buff)->gpuBuffer(), data, offset, size); } -void CCVKCommandBuffer::copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) { +void CCVKCommandBuffer::copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) { //const CCVKGPUBuffer* gpuBuffer = ((CCVKBuffer*)src)->gpuBuffer(); //const CCVKGPUTexture* gpuTexture = ((CCVKTexture*)dst)->gpuTexture(); //vkCmdCopyBufferToImage(_gpuCommandBuffer->vkCommandBuffer, gpuBuffer->vkBuffer, gpuTexture->vkImage, MapVkImageLayout(layout), diff --git a/cocos/renderer/gfx-vulkan/VKCommandBuffer.h b/cocos/renderer/gfx-vulkan/VKCommandBuffer.h index a3f9aa4052c..a61f48c3e6e 100644 --- a/cocos/renderer/gfx-vulkan/VKCommandBuffer.h +++ b/cocos/renderer/gfx-vulkan/VKCommandBuffer.h @@ -19,7 +19,7 @@ class CC_VULKAN_API CCVKCommandBuffer : public CommandBuffer { virtual void begin(RenderPass *renderPass = nullptr, uint subpass = 0, Framebuffer *frameBuffer = nullptr) override; virtual void end() override; - virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const vector &colors, float depth, int stencil) override; + virtual void beginRenderPass(RenderPass *renderPass, Framebuffer *fbo, const Rect &renderArea, const Color *colors, float depth, int stencil) override; virtual void endRenderPass() override; virtual void bindPipelineState(PipelineState *pso) override; virtual void bindDescriptorSet(uint set, DescriptorSet *descriptorSet, uint dynamicOffsetCount, const uint *dynamicOffsets) override; @@ -34,8 +34,8 @@ class CC_VULKAN_API CCVKCommandBuffer : public CommandBuffer { virtual void setStencilCompareMask(StencilFace face, int reference, uint mask) override; virtual void draw(InputAssembler *ia) override; virtual void updateBuffer(Buffer *buff, void *data, uint size, uint offset) override; - virtual void copyBuffersToTexture(const BufferDataList &buffers, Texture *texture, const BufferTextureCopyList ®ions) override; - virtual void execute(const CommandBufferList &cmdBuffs, uint count) override; + virtual void copyBuffersToTexture(const uint8_t *const *buffers, Texture *texture, const BufferTextureCopy *regions, uint count) override; + virtual void execute(const CommandBuffer *const *cmdBuffs, uint count) override; CCVKGPUCommandBuffer *gpuCommandBuffer() const { return _gpuCommandBuffer; } diff --git a/cocos/renderer/gfx-vulkan/VKCommands.cc b/cocos/renderer/gfx-vulkan/VKCommands.cc index 264c1e80545..dda7ab3e40f 100644 --- a/cocos/renderer/gfx-vulkan/VKCommands.cc +++ b/cocos/renderer/gfx-vulkan/VKCommands.cc @@ -459,7 +459,7 @@ void CCVKCmdFuncCreatePipelineState(CCVKDevice *device, CCVKGPUPipelineState *gp break; } } - if (!attributeFound) { //handle absent attribute + if (!attributeFound) { // handle absent attribute attributeDescriptions[i].location = shaderAttrs[i].location; attributeDescriptions[i].format = MapVkFormat(shaderAttrs[i].format); attributeDescriptions[i].offset = 0; // reuse the first attribute as dummy data