public BufferQueueCore(Switch device, KProcess process) { Slots = new BufferSlotArray(); IsAbandoned = false; OverrideMaxBufferCount = 0; DequeueBufferCannotBlock = false; UseAsyncBuffer = true; DefaultWidth = 1; DefaultHeight = 1; DefaultMaxBufferCount = 2; MaxAcquiredBufferCount = 1; FrameCounter = 0; TransformHint = 0; DefaultBufferFormat = PixelFormat.Rgba8888; IsAllocating = false; ProducerListener = null; ConsumerListener = null; ConsumerUsageBits = 0; Queue = new List <BufferItem>(); // TODO: CreateGraphicBufferAlloc? _waitBufferFreeEvent = new KEvent(device.System.KernelContext); _frameAvailableEvent = new KEvent(device.System.KernelContext); Owner = process; BufferHistory = new BufferInfo[BufferHistoryArraySize]; EnableExternalEvent = true; MaxBufferCountCached = 0; }
public BufferQueueCore(Switch device, KProcess process) { Slots = new BufferSlotArray(); IsAbandoned = false; OverrideMaxBufferCount = 0; DequeueEvent = new AutoResetEvent(false); DequeueBufferCannotBlock = false; UseAsyncBuffer = false; DefaultWidth = 1; DefaultHeight = 1; DefaultMaxBufferCount = 2; MaxAcquiredBufferCount = 1; FrameCounter = 0; TransformHint = 0; DefaultBufferFormat = PixelFormat.Rgba8888; IsAllocating = false; IsAllocatingEvent = new AutoResetEvent(false); ProducerListener = null; ConsumerListener = null; ConsumerUsageBits = 0; Queue = new List <BufferItem>(); // TODO: CreateGraphicBufferAlloc? _waitBufferFreeEvent = new KEvent(device.System); _frameAvailaibleEvent = new KEvent(device.System); Owner = process; }