public VkObjectResult <IVkDisplayModeKHR> CreateDisplayMode(IVkDisplayKHR display, VkDisplayModeCreateInfoKHR createInfo, IVkAllocationCallbacks allocator) { var unmanagedSize = createInfo.SizeOfMarshalIndirect() + allocator.SizeOfMarshalIndirect(); var unmanagedArray = new byte[unmanagedSize]; fixed(byte *unmanagedStart = unmanagedArray) { var unmanaged = unmanagedStart; var displayHandle = display?.Handle ?? VkDisplayKHR.HandleType.Null; var pCreateInfo = createInfo.MarshalIndirect(ref unmanaged); var pAllocator = allocator.MarshalIndirect(ref unmanaged); VkDisplayModeKHR.HandleType displayModeHandle; var result = Direct.CreateDisplayModeKHR(Handle, displayHandle, pCreateInfo, pAllocator, &displayModeHandle); var instance = result == VkResult.Success ? new VkDisplayModeKHR(Instance, displayModeHandle) : null; return(new VkObjectResult <IVkDisplayModeKHR>(result, instance)); } }
public VkDisplayKHRAggregate(IVkDisplayKHR display, VkDisplayPropertiesKHR properties, IReadOnlyList <VkDisplayModeKHRAggregate> defaultModes) { Display = display; Properties = properties; DefaultModes = defaultModes; }
public VkDisplayKHRAggregate(IVkDisplayKHR display, VkDisplayPropertiesKHR properties, IReadOnlyList<VkDisplayModeKHRAggregate> defaultModes) { Display = display; Properties = properties; DefaultModes = defaultModes; }
private IReadOnlyList <VkDisplayModePropertiesKHR> GetDisplayModePropertiesKHR(IVkDisplayKHR display) { if (Direct.GetDisplayModePropertiesKHR == null) { return(new VkDisplayModePropertiesKHR[0]); } int count; Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, (VkDisplayModePropertiesKHR.Raw *) 0); var resultArray = new VkDisplayModePropertiesKHR.Raw[count]; fixed(VkDisplayModePropertiesKHR.Raw *pResultArray = resultArray) { Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, pResultArray); return(resultArray.Select(x => new VkDisplayModePropertiesKHR(&x, Instance)).ToArray()); } }
public VkObjectResult<IVkDisplayModeKHR> CreateDisplayMode(IVkDisplayKHR display, VkDisplayModeCreateInfoKHR createInfo, IVkAllocationCallbacks allocator) { var unmanagedSize = createInfo.SizeOfMarshalIndirect() + allocator.SizeOfMarshalIndirect(); var unmanagedArray = new byte[unmanagedSize]; fixed (byte* unmanagedStart = unmanagedArray) { var unmanaged = unmanagedStart; var displayHandle = display?.Handle ?? VkDisplayKHR.HandleType.Null; var pCreateInfo = createInfo.MarshalIndirect(ref unmanaged); var pAllocator = allocator.MarshalIndirect(ref unmanaged); VkDisplayModeKHR.HandleType displayModeHandle; var result = Direct.CreateDisplayModeKHR(Handle, displayHandle, pCreateInfo, pAllocator, &displayModeHandle); var instance = result == VkResult.Success ? new VkDisplayModeKHR(Instance, displayModeHandle) : null; return new VkObjectResult<IVkDisplayModeKHR>(result, instance); } }
private IReadOnlyList<VkDisplayModePropertiesKHR> GetDisplayModePropertiesKHR(IVkDisplayKHR display) { if (Direct.GetDisplayModePropertiesKHR == null) return new VkDisplayModePropertiesKHR[0]; int count; Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, (VkDisplayModePropertiesKHR.Raw*)0); var resultArray = new VkDisplayModePropertiesKHR.Raw[count]; fixed (VkDisplayModePropertiesKHR.Raw* pResultArray = resultArray) { Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, pResultArray); return resultArray.Select(x => new VkDisplayModePropertiesKHR(&x, Instance)).ToArray(); } }