Example #1
0
        public override void Begin()
        {
            if (_currentCommands != null)
            {
                _currentCommands.Dispose();
            }

            _currentCommands = GetFreeCommandList();
            _currentCommands.Begin();
        }
Example #2
0
        public void OnSubmitted(OpenGLCommandEntryList entryList)
        {
            _currentCommands = null;
            lock (_lock)
            {
                Debug.Assert(!_submittedLists.Contains(entryList));
                _submittedLists.Add(entryList);

                Debug.Assert(!_availableLists.Contains(entryList));
            }
        }
Example #3
0
        public void OnCompleted(OpenGLCommandEntryList entryList)
        {
            lock (_lock)
            {
                Debug.Assert(!_availableLists.Contains(entryList));
                _availableLists.Add(entryList);

                Debug.Assert(_submittedLists.Contains(entryList));
                _submittedLists.Remove(entryList);
            }
        }
Example #4
0
 private OpenGLCommandEntryList GetFreeCommandList()
 {
     lock (_lock)
     {
         if (_availableLists.Count > 0)
         {
             OpenGLCommandEntryList ret = _availableLists[_availableLists.Count - 1];
             _availableLists.RemoveAt(_availableLists.Count - 1);
             return(ret);
         }
         else
         {
             return(new OpenGLNoAllocCommandEntryList(this));
         }
     }
 }