예제 #1
0
        public JobHandle Schedule(JobHandle dependency)
        {
            var handle = m_PadJob.Schedule(dependency);

            handle.Complete();
            handle      = m_NewSequence.Schedule(handle);
            handle      = m_CombineJobFloat.Schedule(m_ParallelConvolutionData.OutputImages[0][0].Buffer.Length, 2048, handle);
            m_JobHandle = handle;
            return(handle);
        }
예제 #2
0
        void SetupJobs()
        {
            m_ParallelConvolutionData = new ParallelConvolutionData <float>(m_Input, m_ParallelConvolutions);

            m_PadJob    = new ImagePadJob <float>(m_Input, m_PaddedGrayscaleInput, m_Pad);
            m_JobHandle = m_PadJob.Schedule();
            m_JobHandle.Complete();

            m_NewSequence = new FloatParallelConvolutionJobs(m_PadJob.Output, m_ParallelConvolutionData, m_JobHandle);

            var outImages = m_ParallelConvolutionData.OutputImages[0];

            m_CombineJobFloat = new SquareCombineJobFloat()
            {
                A      = outImages[0],
                B      = outImages[1],
                Output = m_CombinedConvolution,
            };
        }