public MgSwapchainCollection(IMgPresentationSurface layer, IMgThreadPartition partition, IMgImageTools imageTools) { mLayer = layer; mPartition = partition; mImageTools = imageTools; Format = MgFormat.UNDEFINED; }
public BufferInfo(IMgThreadPartition partition, MgBufferUsageFlagBits usage, MgMemoryPropertyFlagBits propertyFlags, uint bufferSize) { Debug.Assert(partition != null); mDevice = partition.Device; Debug.Assert(mDevice != null); mUsageFlags = usage; mMemoryPropertyFlags = propertyFlags; var bufferCreateInfo = new MgBufferCreateInfo { Usage = usage, Size = bufferSize, }; IMgBuffer buffer; var device = partition.Device; var result = device.CreateBuffer(bufferCreateInfo, null, out buffer); Debug.Assert(result == Result.SUCCESS); MgMemoryRequirements memReqs; device.GetBufferMemoryRequirements(buffer, out memReqs); mAlignment = memReqs.Alignment; mBufferSize = memReqs.Size; uint memoryTypeIndex; partition.GetMemoryType(memReqs.MemoryTypeBits, mMemoryPropertyFlags, out memoryTypeIndex); var memAlloc = new MgMemoryAllocateInfo { MemoryTypeIndex = memoryTypeIndex, AllocationSize = memReqs.Size, }; IMgDeviceMemory deviceMemory; result = device.AllocateMemory(memAlloc, null, out deviceMemory); Debug.Assert(result == Result.SUCCESS); buffer.BindBufferMemory(device, deviceMemory, 0); mBuffer = buffer; mDeviceMemory = deviceMemory; mDescriptor = new MgDescriptorBufferInfo { Buffer = mBuffer, Offset = 0, Range = mBufferSize, }; }
public void Initialize(uint width, uint height) { // FOR RESIZING ?? ReleaseUnmanagedResources(); // GRAPHICS DEVICE mPresentationSurface.Initialize(width, height); mLogicalDevice = mDriverContext.CreateLogicalDevice( mPresentationSurface.Surface, MgDeviceExtensionOptions.ALL, MgQueueAllocation.One, MgQueueFlagBits.GRAPHICS_BIT | MgQueueFlagBits.COMPUTE_BIT); mPartition = mLogicalDevice.Queues[0].CreatePartition(MgCommandPoolCreateFlagBits.RESET_COMMAND_BUFFER_BIT); }
public MockGraphicsConfiguration(IMgThreadPartition partition) { mDevice = new MockDevice(); mPartition = partition; }
public MgStagingBufferOptimizer(IMgThreadPartition partition, IMgImageTools imageTools) { mPartition = partition; mImageTools = imageTools; }
public MgLinearImageOptimizer(IMgThreadPartition partition, IMgImageTools imageTools) { mPartition = partition; mImageTools = imageTools; }
public MgDefaultGraphicsDevice(IMgThreadPartition partition, IMgImageTools imageTools) { mPartition = partition; mImageTools = imageTools; }