예제 #1
0
        private void ResetSamplerHeap(bool createNewHeap)
        {
            if (samplerHeap.Heap != null)
            {
                GraphicsDevice.SamplerHeaps.RecycleObject(GraphicsDevice.NextFenceValue, samplerHeap.Heap);
                samplerHeap.Heap = null;
            }

            if (createNewHeap)
            {
                samplerHeap       = new DescriptorHeapCache(GraphicsDevice.SamplerHeaps.GetObject());
                samplerHeapOffset = 0;
                samplerMapping.Clear();
            }

            descriptorHeaps[1] = samplerHeap.Heap;
        }
        private void ResetSamplerHeap(bool createNewHeap)
        {
            if (samplerHeap.Heap != null)
            {
                currentCommandList.SamplerHeaps.Add(samplerHeap.Heap);
                samplerHeap.Heap = null;
            }

            if (createNewHeap)
            {
                samplerHeap       = new DescriptorHeapCache(GraphicsDevice.SamplerHeaps.GetObject());
                samplerHeapOffset = 0;
                samplerMapping.Clear();
            }

            descriptorHeaps[1] = samplerHeap.Heap;
        }