123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using UnityEngine.Rendering.RenderGraphModule.NativeRenderPassCompiler;
-
- namespace UnityEngine.Rendering.RenderGraphModule
- {
- public partial class RenderGraph
- {
- //TODO(ddebaets) move old compile func/members over
-
- NativePassCompiler nativeCompiler = null;
-
- internal NativePassCompiler CompileNativeRenderGraph(int graphHash)
- {
- using (new ProfilingScope(m_RenderGraphContext.cmd, ProfilingSampler.Get(RenderGraphProfileId.CompileRenderGraph)))
- {
- if (nativeCompiler == null)
- nativeCompiler = new NativePassCompiler(m_CompilationCache);
-
- bool compilationIsCached = nativeCompiler.Initialize(m_Resources, m_RenderPasses, m_DebugParameters.disablePassCulling, name, m_EnableCompilationCaching, graphHash, m_ExecutionCount);
- if (!compilationIsCached)
- nativeCompiler.Compile(m_Resources);
-
- var passData = nativeCompiler.contextData.passData;
- int numPasses = passData.Length;
- for (int i = 0; i < numPasses; ++i)
- {
- if (passData.ElementAt(i).culled)
- continue;
- var rp = m_RenderPasses[i];
- m_RendererLists.AddRange(rp.usedRendererListList);
- }
-
- m_Resources.CreateRendererLists(m_RendererLists, m_RenderGraphContext.renderContext, m_RendererListCulling);
-
- return nativeCompiler;
- }
- }
-
- void ExecuteNativeRenderGraph()
- {
- using (new ProfilingScope(m_RenderGraphContext.cmd, ProfilingSampler.Get(RenderGraphProfileId.ExecuteRenderGraph)))
- {
- nativeCompiler.ExecuteGraph(m_RenderGraphContext, m_Resources, m_RenderPasses);
-
- if (m_RenderGraphContext.contextlessTesting == false)
- m_RenderGraphContext.renderContext.ExecuteCommandBuffer(m_RenderGraphContext.cmd);
-
- m_RenderGraphContext.cmd.Clear();
- }
- }
- }
- }
|