void CreateCameraRenderTarget(ScriptableRenderContext context, ref CameraData cameraData) { CommandBuffer cmd = CommandBufferPool.Get(k_CreateCameraTextures); var descriptor = cameraData.cameraTargetDescriptor; int msaaSamples = descriptor.msaaSamples; if (m_ActiveCameraColorAttachment != RenderTargetHandle.CameraTarget) { bool useDepthRenderBuffer = m_ActiveCameraDepthAttachment == RenderTargetHandle.CameraTarget; var colorDescriptor = descriptor; colorDescriptor.depthBufferBits = (useDepthRenderBuffer) ? k_DepthStencilBufferBits : 0; m_ActiveCameraColorAttachment.GetTemporary(cmd, colorDescriptor, FilterMode.Bilinear); } if (m_ActiveCameraDepthAttachment != RenderTargetHandle.CameraTarget) { var depthDescriptor = descriptor; depthDescriptor.colorFormat = RenderTextureFormat.Depth; depthDescriptor.depthBufferBits = k_DepthStencilBufferBits; depthDescriptor.bindMS = msaaSamples > 1 && !SystemInfo.supportsMultisampleAutoResolve && (SystemInfo.supportsMultisampledTextures != 0); m_ActiveCameraDepthAttachment.GetTemporary(cmd, depthDescriptor, FilterMode.Point); } context.ExecuteCommandBuffer(cmd); CommandBufferPool.Release(cmd); }