Beispiel #1
0
        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;
 }
Beispiel #3
0
 public VkDisplayKHRAggregate(IVkDisplayKHR display, VkDisplayPropertiesKHR properties, IReadOnlyList<VkDisplayModeKHRAggregate> defaultModes)
 {
     Display = display;
     Properties = properties;
     DefaultModes = defaultModes;
 }
Beispiel #4
0
        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());
            }
        }
Beispiel #5
0
 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);
     }
 }
Beispiel #6
0
 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();
     }
 }