Lines Matching refs:rc
44 void DebugPrintCommandListCommand(const RenderCommandWithType& rc, GpuResourceManager& aMgr)
46 switch (rc.type) {
48 PLUGIN_LOG_I("rc: BarrierPoint");
52 PLUGIN_LOG_I("rc: Draw");
56 PLUGIN_LOG_I("rc: DrawIndirect");
60 PLUGIN_LOG_I("rc: Dispatch");
64 PLUGIN_LOG_I("rc: DispatchIndirect");
68 PLUGIN_LOG_I("rc: BindPipeline");
72 PLUGIN_LOG_I("rc: BeginRenderPass");
74 const auto& beginRenderPass = *static_cast<RenderCommandBeginRenderPass*>(rc.rc);
85 PLUGIN_LOG_I("rc: NextSubpass");
89 PLUGIN_LOG_I("rc: EndRenderPass");
93 PLUGIN_LOG_I("rc: BindVertexBuffers");
97 PLUGIN_LOG_I("rc: BindIndexBuffer");
101 PLUGIN_LOG_I("rc: CopyBuffer");
105 PLUGIN_LOG_I("rc: CopyBufferImage");
109 PLUGIN_LOG_I("rc: BindDescriptorSets");
113 PLUGIN_LOG_I("rc: PushConstant");
117 PLUGIN_LOG_I("rc: BlitImage");
122 PLUGIN_LOG_I("rc: DynamicStateViewport");
126 PLUGIN_LOG_I("rc: DynamicStateScissor");
130 PLUGIN_LOG_I("rc: DynamicStateLineWidth");
134 PLUGIN_LOG_I("rc: DynamicStateDepthBias");
138 PLUGIN_LOG_I("rc: DynamicStateBlendConstants");
142 PLUGIN_LOG_I("rc: DynamicStateDepthBounds");
146 PLUGIN_LOG_I("rc: DynamicStateStencil");
150 PLUGIN_LOG_I("rc: WriteTimestamp");
154 PLUGIN_LOG_I("rc: GpuQueueTransferRelease");
158 PLUGIN_LOG_I("rc: GpuQueueTransferAcquire");
188 void DebugRenderPassLayoutPrint(const GpuResourceManager& gpuResourceMgr, const RenderCommandBeginRenderPass& rc)
191 for (uint32_t idx = 0; idx < rc.renderPassDesc.attachmentCount; ++idx) {
192 const auto handle = rc.renderPassDesc.attachmentHandles[idx];
193 const auto srcLayout = rc.imageLayouts.attachmentInitialLayouts[idx];
194 const auto dstLayout = rc.imageLayouts.attachmentFinalLayouts[idx];
527 const auto& rcbp = *static_cast<RenderCommandBarrierPoint*>(cmdRef.rc);
541 const auto& rcbp = *static_cast<RenderCommandBarrierPoint*>(cmdRef.rc);
700 RenderCommand(nodeIdx, listIdx, ref, *static_cast<RenderCommandBarrierPoint*>(cmdRef.rc), stateCache);
705 nodeIdx, listIdx, ref, *static_cast<RenderCommandBeginRenderPass*>(cmdRef.rc), stateCache);
709 RenderCommand(nodeIdx, listIdx, ref, *static_cast<RenderCommandEndRenderPass*>(cmdRef.rc), stateCache);
786 *static_cast<RenderCommandBeginRenderPass*>(ref.prevRc.rc);
825 RenderNodeContextData& nodeData, RenderCommandBeginRenderPass& rc, StateCache& stateCache)
828 BeginRenderPassParameters params { rc, stateCache, { RenderCommandType::BEGIN_RENDER_PASS, &rc } };
830 PLUGIN_ASSERT(rc.renderPassDesc.subpassCount > 0);
840 array_view(rc.imageLayouts.attachmentFinalLayouts, countof(rc.imageLayouts.attachmentFinalLayouts));
844 for (uint32_t subpassIdx = 0; subpassIdx < rc.renderPassDesc.subpassCount; ++subpassIdx) {
845 const auto& subpassRef = rc.subpasses[subpassIdx];
846 const auto& subpassResourceStatesRef = rc.subpassResourceStates[subpassIdx];
849 array_view(subpassRef.inputAttachmentIndices, subpassRef.inputAttachmentCount), rc.renderPassDesc,
853 array_view(subpassRef.colorAttachmentIndices, subpassRef.colorAttachmentCount), rc.renderPassDesc,
857 array_view(subpassRef.resolveAttachmentIndices, subpassRef.resolveAttachmentCount), rc.renderPassDesc,
862 array_view(&subpassRef.depthAttachmentIndex, subpassRef.depthAttachmentCount), rc.renderPassDesc,
867 rc.renderPassDesc, subpassResourceStatesRef, finalImageLayouts, stateCache);
873 rc.renderPassDesc, subpassResourceStatesRef, finalImageLayouts, stateCache);
878 if (rc.subpassStartIndex > 0) {
880 rc.beginType = RenderPassBeginType::RENDER_PASS_SUBPASS_BEGIN;
882 const bool finalSubpass = (rc.subpassStartIndex == rc.renderPassDesc.subpassCount - 1);
890 DebugRenderPassLayoutPrint(gpuResourceMgr_, rc);
898 params.stateCache.multiRenderPassStore.renderPasses.push_back(¶ms.rc);
903 if (params.rc.subpassStartIndex == 0) { // store the first render pass barrier point
911 PLUGIN_ASSERT(static_cast<RenderCommandBarrierPoint*>(barrierPointCmdRef.rc));
915 static_cast<RenderCommandBarrierPoint*>(barrierPointCmdRef.rc)->barrierPointIndex;
922 auto& initialImageLayouts = params.rc.imageLayouts.attachmentInitialLayouts;
923 const auto& attachmentHandles = params.rc.renderPassDesc.attachmentHandles;
924 auto& attachments = params.rc.renderPassDesc.attachments;
925 auto& attachmentInputResourceStates = params.rc.inputResourceStates;
927 for (uint32_t attachmentIdx = 0; attachmentIdx < params.rc.renderPassDesc.attachmentCount; ++attachmentIdx) {
941 if (params.rc.enableAutomaticLayoutChanges) {
1011 const RenderNodeContextData& nodeData, RenderCommandEndRenderPass& rc, StateCache& stateCache)
1015 const bool finalSubpass = (rc.subpassCount == (uint32_t)stateCache.multiRenderPassStore.renderPasses.size());
1017 if (rc.subpassStartIndex != (rc.subpassCount - 1)) {
1021 rc.endType = RenderPassEndType::END_RENDER_PASS;
1027 rc.endType = RenderPassEndType::END_SUBPASS;
1033 RenderNodeContextData& nodeData, RenderCommandBarrierPoint& rc, StateCache& stateCache)
1044 rc.customBarrierCount, rc.vertexIndexBarrierCount, rc.indirectBufferBarrierCount, renderNodeIndex,
1045 nodeData.renderCommandList->GetGpuQueue(), { RenderCommandType::BARRIER_POINT, &rc }, stateCache };
1048 HandleCustomBarriers(parameters, rc.customBarrierIndexBegin, customBarrierListRef);
1052 PLUGIN_ASSERT(rc.renderCommandType == RenderCommandType::BEGIN_RENDER_PASS);
1053 HandleVertexInputBufferBarriers(parameters, rc.vertexIndexBarrierIndexBegin,
1057 PLUGIN_ASSERT(rc.renderCommandType == RenderCommandType::BEGIN_RENDER_PASS);
1058 HandleRenderpassIndirectBufferBarriers(parameters, rc.indirectBufferBarrierIndexBegin,
1063 if (rc.renderCommandType == RenderCommandType::CLEAR_COLOR_IMAGE) {
1065 } else if (rc.renderCommandType == RenderCommandType::BLIT_IMAGE) {
1067 } else if (rc.renderCommandType == RenderCommandType::COPY_BUFFER) {
1069 } else if (rc.renderCommandType == RenderCommandType::COPY_BUFFER_IMAGE) {
1071 } else if (rc.renderCommandType == RenderCommandType::COPY_IMAGE) {
1074 if (rc.renderCommandType == RenderCommandType::DISPATCH_INDIRECT) {
1077 const uint32_t descriptorSetHandleBeginIndex = rc.descriptorSetHandleIndexBegin;
1078 const uint32_t descriptorSetHandleEndIndex = descriptorSetHandleBeginIndex + rc.descriptorSetHandleCount;
1094 rc.barrierPointIndex, parameters.combinedBarriers);
1096 nodeData.renderBarrierList->AddBarriersToBarrierPoint(rc.barrierPointIndex, parameters.combinedBarriers);
1251 const RenderCommandClearColorImage& nextRc = *static_cast<RenderCommandClearColorImage*>(nextCmdRef.rc);
1273 const RenderCommandBlitImage& nextRc = *static_cast<RenderCommandBlitImage*>(nextCmdRef.rc);
1306 const RenderCommandCopyBuffer& nextRc = *static_cast<RenderCommandCopyBuffer*>(nextCmdRef.rc);
1342 const RenderCommandCopyBufferImage& nextRc = *static_cast<RenderCommandCopyBufferImage*>(nextCmdRef.rc);
1349 const RenderCommandCopyImage& nextRc = *static_cast<RenderCommandCopyImage*>(nextCmdRef.rc);
1417 const auto& nextRc = *static_cast<RenderCommandDispatchIndirect*>(nextCmdRef.rc);