Skip to content

Commit

Permalink
save (#3944)
Browse files Browse the repository at this point in the history
  • Loading branch information
PatriceJiang committed Sep 30, 2021
1 parent 926f112 commit b5a846d
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 27 deletions.
14 changes: 7 additions & 7 deletions native/cocos/renderer/frame-graph/DevicePass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ void DevicePass::execute() {
}

void DevicePass::append(const FrameGraph &graph, const PassNode *passNode, std::vector<RenderTargetAttachment> *attachments) {
_subpasses.emplace_back(Subpass());
Subpass &subpass = *_subpasses.rbegin();
_subpasses.emplace_back();
Subpass &subpass = _subpasses.back();

do {
subpass.logicPasses.emplace_back();
Expand Down Expand Up @@ -138,7 +138,7 @@ void DevicePass::append(const FrameGraph &graph, const RenderTargetAttachment &a

if (it == attachments->end()) {
attachments->emplace_back(attachment);
output = &(*attachments->rbegin());
output = &(attachments->back());
_usedRenderTargetSlotMask |= 1 << attachment.desc.slot;
} else {
const ResourceNode &resourceNodeA = graph.getResourceNode(it->textureHandle);
Expand All @@ -156,7 +156,7 @@ void DevicePass::append(const FrameGraph &graph, const RenderTargetAttachment &a
} else {
CC_ASSERT(attachment.desc.usage == RenderTargetAttachment::Usage::COLOR);
attachments->emplace_back(attachment);
output = &(*attachments->rbegin());
output = &(attachments->back());

for (uint8_t i = 0; i < RenderTargetAttachment::DEPTH_STENCIL_SLOT_START; ++i) {
if ((_usedRenderTargetSlotMask & (1 << i)) == 0) {
Expand Down Expand Up @@ -191,9 +191,9 @@ void DevicePass::begin(gfx::CommandBuffer *cmdBuff) {
for (const auto &attachElem : _attachments) {
gfx::Texture *attachment = attachElem.renderTarget;
if (attachElem.attachment.desc.usage == RenderTargetAttachment::Usage::COLOR) {
rpInfo.colorAttachments.emplace_back(gfx::ColorAttachment());
auto &attachmentInfo = *rpInfo.colorAttachments.rbegin();
attachmentInfo.format = attachment->getFormat();
rpInfo.colorAttachments.emplace_back();
auto &attachmentInfo = rpInfo.colorAttachments.back();
attachmentInfo.format = attachment->getFormat();
attachmentInfo.loadOp = attachElem.attachment.desc.loadOp;
attachmentInfo.storeOp = attachElem.attachment.storeOp;
attachmentInfo.beginAccesses = attachElem.attachment.desc.beginAccesses;
Expand Down
8 changes: 4 additions & 4 deletions native/cocos/renderer/gfx-gles2/GLES2Commands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -998,8 +998,8 @@ void cmdFuncGLES2CreateShader(GLES2Device *device, GLES2GPUShader *gpuShader) {
// fallback subpassInputs into samplerTextures if not using FBF
if (device->constantRegistry()->mFBF == FBFSupportLevel::NONE) {
for (const auto &subpassInput : gpuShader->subpassInputs) {
gpuShader->samplerTextures.emplace_back(UniformSamplerTexture());
auto &samplerTexture = *gpuShader->samplerTextures.rbegin();
gpuShader->samplerTextures.emplace_back();
auto &samplerTexture = gpuShader->samplerTextures.back();
samplerTexture.name = subpassInput.name;
samplerTexture.set = subpassInput.set;
samplerTexture.binding = subpassInput.binding;
Expand Down Expand Up @@ -1453,8 +1453,8 @@ void cmdFuncGLES2CreateFramebuffer(GLES2Device *device, GLES2GPUFramebuffer *gpu
doCreateFramebufferInstance(device, gpuFBO, gpuFBO->uberColorAttachmentIndices, gpuFBO->uberDepthStencil, &gpuFBO->uberInstance);
} else {
for (const auto &subpass : gpuFBO->gpuRenderPass->subpasses) {
gpuFBO->instances.emplace_back(GLES2GPUFramebuffer::Framebuffer());
auto &fboInst = *gpuFBO->instances.rbegin();
gpuFBO->instances.emplace_back();
auto &fboInst = gpuFBO->instances.back();
doCreateFramebufferInstance(device, gpuFBO, subpass.colors, subpass.depthStencil, &fboInst,
subpass.resolves.empty() ? nullptr : subpass.resolves.data(), subpass.depthStencilResolve);
}
Expand Down
4 changes: 2 additions & 2 deletions native/cocos/renderer/gfx-gles2/GLES2RenderPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ void GLES2RenderPass::doInit(const RenderPassInfo & /*info*/) {

// assign a dummy subpass if not specified
if (_gpuRenderPass->subpasses.empty()) {
_gpuRenderPass->subpasses.emplace_back(SubpassInfo());
auto &subpass = *_gpuRenderPass->subpasses.rbegin();
_gpuRenderPass->subpasses.emplace_back();
auto &subpass = _gpuRenderPass->subpasses.back();
subpass.colors.resize(_colorAttachments.size());
for (uint32_t i = 0U; i < _colorAttachments.size(); ++i) {
subpass.colors[i] = i;
Expand Down
8 changes: 4 additions & 4 deletions native/cocos/renderer/gfx-gles3/GLES3Commands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1229,8 +1229,8 @@ void cmdFuncGLES3CreateShader(GLES3Device *device, GLES3GPUShader *gpuShader) {
// fallback subpassInputs into samplerTextures if not using FBF
if (device->constantRegistry()->mFBF == FBFSupportLevel::NONE) {
for (const auto &subpassInput : gpuShader->subpassInputs) {
gpuShader->samplerTextures.emplace_back(UniformSamplerTexture());
auto &samplerTexture = *gpuShader->samplerTextures.rbegin();
gpuShader->samplerTextures.emplace_back();
auto &samplerTexture = gpuShader->samplerTextures.back();
samplerTexture.name = subpassInput.name;
samplerTexture.set = subpassInput.set;
samplerTexture.binding = subpassInput.binding;
Expand Down Expand Up @@ -1647,8 +1647,8 @@ void cmdFuncGLES3CreateFramebuffer(GLES3Device *device, GLES3GPUFramebuffer *gpu
doCreateFramebufferInstance(device, gpuFBO, gpuFBO->uberColorAttachmentIndices, gpuFBO->uberDepthStencil, &gpuFBO->uberInstance);
} else {
for (const auto &subpass : gpuFBO->gpuRenderPass->subpasses) {
gpuFBO->instances.emplace_back(GLES3GPUFramebuffer::Framebuffer());
auto &fboInst = *gpuFBO->instances.rbegin();
gpuFBO->instances.emplace_back();
auto &fboInst = gpuFBO->instances.back();
doCreateFramebufferInstance(device, gpuFBO, subpass.colors, subpass.depthStencil, &fboInst,
subpass.resolves.empty() ? nullptr : subpass.resolves.data(), subpass.depthStencilResolve);
}
Expand Down
4 changes: 2 additions & 2 deletions native/cocos/renderer/gfx-gles3/GLES3RenderPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ void GLES3RenderPass::doInit(const RenderPassInfo & /*info*/) {

// assign a dummy subpass if not specified
if (_gpuRenderPass->subpasses.empty()) {
_gpuRenderPass->subpasses.emplace_back(SubpassInfo());
auto &subpass = *_gpuRenderPass->subpasses.rbegin();
_gpuRenderPass->subpasses.emplace_back();
auto &subpass = _gpuRenderPass->subpasses.back();
subpass.colors.resize(_colorAttachments.size());
for (uint32_t i = 0U; i < _colorAttachments.size(); ++i) {
subpass.colors[i] = i;
Expand Down
8 changes: 4 additions & 4 deletions native/cocos/renderer/gfx-validator/ValidationUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ String getStacktraceJS() {
namespace gfx {

void CommandRecorder::recordBeginRenderPass(const RenderPassSnapshot &renderPass) {
_renderPassCommands.emplace_back(RenderPassCommand());
RenderPassCommand &command = *_renderPassCommands.rbegin();
_renderPassCommands.emplace_back();
RenderPassCommand &command = _renderPassCommands.back();
command.renderArea = renderPass.renderArea;
command.clearColors = renderPass.clearColors;
command.clearDepth = renderPass.clearDepth;
Expand All @@ -57,8 +57,8 @@ void CommandRecorder::recordBeginRenderPass(const RenderPassSnapshot &renderPass
}

void CommandRecorder::recordDrawcall(const DrawcallSnapshot &drawcall) {
_drawcallCommands.emplace_back(DrawcallCommand());
DrawcallCommand &command = *_drawcallCommands.rbegin();
_drawcallCommands.emplace_back();
DrawcallCommand &command = _drawcallCommands.back();
command.inputState = drawcall.pipelineState->getInputState();
command.rasterizerState = drawcall.pipelineState->getRasterizerState();
command.depthStencilState = drawcall.pipelineState->getDepthStencilState();
Expand Down
4 changes: 2 additions & 2 deletions native/cocos/renderer/gfx-vulkan/VKCommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1632,8 +1632,8 @@ void CCVKGPUBarrierManager::update(CCVKGPUTransportHub *transportHub) {

VkPipelineStageFlags tempSrcStageMask = 0;
VkPipelineStageFlags tempDstStageMask = 0;
vkImageBarriers.emplace_back(VkImageMemoryBarrier());
thsvsGetVulkanImageMemoryBarrier(imageBarrier, &tempSrcStageMask, &tempDstStageMask, &(*vkImageBarriers.rbegin()));
vkImageBarriers.emplace_back();
thsvsGetVulkanImageMemoryBarrier(imageBarrier, &tempSrcStageMask, &tempDstStageMask, &(vkImageBarriers.back()));
srcStageMask |= tempSrcStageMask;
dstStageMask |= tempDstStageMask;

Expand Down
4 changes: 2 additions & 2 deletions native/cocos/renderer/gfx-vulkan/VKRenderPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ void CCVKRenderPass::doInit(const RenderPassInfo & /*info*/) {

// assign a dummy subpass if not specified
if (_gpuRenderPass->subpasses.empty()) {
_gpuRenderPass->subpasses.emplace_back(SubpassInfo());
auto &subpass = *_gpuRenderPass->subpasses.rbegin();
_gpuRenderPass->subpasses.emplace_back();
auto &subpass = _gpuRenderPass->subpasses.back();
subpass.colors.resize(_colorAttachments.size());
for (uint32_t i = 0U; i < _colorAttachments.size(); ++i) {
subpass.colors[i] = i;
Expand Down

0 comments on commit b5a846d

Please sign in to comment.