public AmtDevice(IMTLDevice systemDefault, IAmtDeviceQuery mQuery, IAmtMetalLibraryLoader generator, AmtQueue queue) { this.mDevice = systemDefault; this.mQuery = mQuery; this.mGenerator = generator; mQueue = queue; }
public Result CreateInstance(MgInstanceCreateInfo createInfo, IMgAllocationCallbacks allocator, out IMgInstance instance) { var semaphore = new AmtSemaphoreEntrypoint(); var presentQueue = mLocalDevice.CreateCommandQueue(mQuery.NoOfCommandBufferSlots); var queueRenderer = new AmtQueueRenderer(presentQueue); var queue = new AmtQueue(queueRenderer, semaphore, presentQueue); var device = new AmtDevice(mLocalDevice, mQuery, mGenerator, queue); var physicalDevice = new AmtPhysicalDevice(device); instance = new AmtInstance(physicalDevice); return(Result.SUCCESS); }