Lines Matching defs:params
828 BeginRenderPassParameters params { rc, stateCache, { RenderCommandType::BEGIN_RENDER_PASS, &rc } };
834 BeginRenderPassHandleDependency(params, commandListCommandIndex, nodeData);
842 BeginRenderPassUpdateImageStates(params, gpuQueue, finalImageLayouts, renderNodeIndex);
896 BeginRenderPassParameters& params, const uint32_t commandListCommandIndex, RenderNodeContextData& nodeData)
898 params.stateCache.multiRenderPassStore.renderPasses.push_back(¶ms.rc);
900 params.rpForCmdRef = { RenderCommandType::BEGIN_RENDER_PASS,
901 params.stateCache.multiRenderPassStore.renderPasses[0] };
903 if (params.rc.subpassStartIndex == 0) { // store the first render pass barrier point
913 params.stateCache.multiRenderPassStore.firstRenderPassBarrierList = nodeData.renderBarrierList.get();
914 params.stateCache.multiRenderPassStore.firstBarrierPointIndex =
919 void RenderGraph::BeginRenderPassUpdateImageStates(BeginRenderPassParameters& params, const GpuQueue& gpuQueue,
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) {
966 stateRef.prevRc = params.rpForCmdRef;
970 if (params.stateCache.checkForBackbufferDependency && RenderHandleUtil::IsSwapchain(handle)) {
971 params.stateCache.usesSwapchainImage = true;
1107 RenderGraphBufferState& stateRef, const ParameterCache& params, const CommandBarrier& cb)
1113 stateRef.state.gpuQueue = params.gpuQueue;
1114 stateRef.prevRc = params.rcWithType;
1115 stateRef.prevRenderNodeIndex = params.renderNodeIndex;
1119 RenderGraphImageState& stateRef, const ParameterCache& params, const CommandBarrier& cb)
1125 stateRef.state.gpuQueue = params.gpuQueue;
1126 stateRef.prevRc = params.rcWithType;
1127 stateRef.prevRenderNodeIndex = params.renderNodeIndex;
1130 void RenderGraph::HandleCustomBarriers(ParameterCache& params, const uint32_t barrierIndexBegin,
1133 params.handledCustomBarriers.reserve(params.customBarrierCount);
1134 PLUGIN_ASSERT(barrierIndexBegin + params.customBarrierCount <= customBarrierListRef.size());
1136 end = Math::min(customBarrierListRef.end(), begin + params.customBarrierCount);
1139 auto& cb = params.combinedBarriers.emplace_back(*begin);
1148 auto& stateRef = GetBufferResourceStateRef(cb.resourceHandle, params.gpuQueue);
1149 UpdateBufferResourceState(stateRef, params, cb);
1151 params.handledCustomBarriers[cb.resourceHandle] = 0;
1155 auto& stateRef = GetImageResourceStateRef(cb.resourceHandle, params.gpuQueue);
1188 UpdateImageResourceState(stateRef, params, cb);
1201 params.handledCustomBarriers[cb.resourceHandle] = 0;
1206 void RenderGraph::HandleVertexInputBufferBarriers(ParameterCache& params, const uint32_t barrierIndexBegin,
1209 for (uint32_t idx = 0; idx < params.vertexInputBarrierCount; ++idx) {
1216 CORE_PIPELINE_STAGE_VERTEX_INPUT_BIT, params.gpuQueue };
1218 resourceState, { vbInput.bufferHandle, vbInput.bufferOffset, vbInput.byteSize }, params);
1223 void RenderGraph::HandleRenderpassIndirectBufferBarriers(ParameterCache& params, const uint32_t barrierIndexBegin,
1226 for (uint32_t idx = 0; idx < params.indirectBufferBarrierCount; ++idx) {
1232 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, ib.bufferHandle);
1235 CORE_ACCESS_INDIRECT_COMMAND_READ_BIT, CORE_PIPELINE_STAGE_DRAW_INDIRECT_BIT, params.gpuQueue };
1237 resourceState, { ib.bufferHandle, ib.bufferOffset, ib.byteSize }, params);
1243 void RenderGraph::HandleClearImage(ParameterCache& params, const uint32_t& commandListCommandIndex,
1254 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.handle);
1259 AddCommandBarrierAndUpdateStateCacheImage(params.renderNodeIndex,
1260 GpuResourceState { 0, CORE_ACCESS_TRANSFER_WRITE_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1261 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1265 void RenderGraph::HandleBlitImage(ParameterCache& params, const uint32_t& commandListCommandIndex,
1276 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.srcHandle);
1281 AddCommandBarrierAndUpdateStateCacheImage(params.renderNodeIndex,
1282 GpuResourceState { 0, CORE_ACCESS_TRANSFER_READ_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1283 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1287 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.dstHandle);
1292 AddCommandBarrierAndUpdateStateCacheImage(params.renderNodeIndex,
1293 GpuResourceState { 0, CORE_ACCESS_TRANSFER_WRITE_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1294 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1298 void RenderGraph::HandleCopyBuffer(ParameterCache& params, const uint32_t& commandListCommandIndex,
1309 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.srcHandle);
1312 AddCommandBarrierAndUpdateStateCacheBuffer(params.renderNodeIndex,
1313 GpuResourceState { 0, CORE_ACCESS_TRANSFER_READ_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1314 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1318 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.dstHandle);
1321 AddCommandBarrierAndUpdateStateCacheBuffer(params.renderNodeIndex,
1322 GpuResourceState { 0, CORE_ACCESS_TRANSFER_WRITE_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1323 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1327 void RenderGraph::HandleCopyBufferImage(ParameterCache& params, const uint32_t& commandListCommandIndex,
1357 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, srcHandle);
1365 AddCommandBarrierAndUpdateStateCacheBuffer(params.renderNodeIndex,
1367 0, CORE_ACCESS_TRANSFER_READ_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1368 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1375 AddCommandBarrierAndUpdateStateCacheImage(params.renderNodeIndex,
1377 0, CORE_ACCESS_TRANSFER_READ_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1378 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1383 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, dstHandle);
1391 AddCommandBarrierAndUpdateStateCacheBuffer(params.renderNodeIndex,
1393 0, CORE_ACCESS_TRANSFER_WRITE_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1394 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1401 AddCommandBarrierAndUpdateStateCacheImage(params.renderNodeIndex,
1403 0, CORE_ACCESS_TRANSFER_WRITE_BIT, CORE_PIPELINE_STAGE_TRANSFER_BIT, params.gpuQueue },
1404 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1409 void RenderGraph::HandleDispatchIndirect(ParameterCache& params, const uint32_t& commandListCommandIndex,
1420 CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, nextRc.argsHandle);
1423 AddCommandBarrierAndUpdateStateCacheBuffer(params.renderNodeIndex,
1425 CORE_PIPELINE_STAGE_DRAW_INDIRECT_BIT, params.gpuQueue },
1426 bRes, params.rcWithType, params.combinedBarriers, currNodeGpuResourceTransfers_);
1430 void RenderGraph::HandleDescriptorSets(ParameterCache& params,
1451 if (CheckForBarrierNeed(params.handledCustomBarriers, params.customBarrierCount, ref.resource.handle)) {
1452 UpdateStateAndCreateBarriersGpuBuffer(bRes.state, bRes.resource, params);
1468 params.handledCustomBarriers, params.customBarrierCount, bRes.resource.handle)) {
1469 UpdateStateAndCreateBarriersGpuImage(bRes.state, bRes.resource, params);
1477 const GpuResourceState& state, const BindableImage& res, RenderGraph::ParameterCache& params)
1504 PLUGIN_ASSERT(ref.prevRenderNodeIndex != params.renderNodeIndex);
1506 res.handle, ref.prevRenderNodeIndex, params.renderNodeIndex, prevImage.imageLayout, res.imageLayout });
1511 params.combinedBarriers.push_back(
1512 CommandBarrier { res.handle, prevStateRb, prevState.gpuQueue, dstImageBarrier, params.gpuQueue });
1517 ref.prevRc = params.rcWithType;
1518 ref.prevRenderNodeIndex = params.renderNodeIndex;
1526 const GpuResourceState& dstState, const BindableBuffer& res, RenderGraph::ParameterCache& params)
1537 params.combinedBarriers.push_back(CommandBarrier {
1538 res.handle, prevStateRb, dstState.gpuQueue, GetDstBufferBarrier(dstState, res), params.gpuQueue });
1544 srcStateRef.prevRc = params.rcWithType;
1545 srcStateRef.prevRenderNodeIndex = params.renderNodeIndex;