All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.EXTGlobalPriority Maven / Gradle / Ivy

Go to download

A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.vulkan;

/**
 * In Vulkan, users can specify device-scope queue priorities. In some cases it may be useful to extend this concept to a system-wide scope. This extension provides a mechanism for callers to set their system-wide priority. The default queue priority is {@link #VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT}.
 * 
 * 

The driver implementation will attempt to skew hardware resource allocation in favour of the higher-priority task. Therefore, higher-priority work may retain similar latency and throughput characteristics even if the system is congested with lower priority work.

* *

The global priority level of a queue shall take precedence over the per-process queue priority ({@link VkDeviceQueueCreateInfo}{@code ::pQueuePriorities}).

* *

Abuse of this feature may result in starving the rest of the system from hardware resources. Therefore, the driver implementation may deny requests to acquire a priority above the default priority ({@link #VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT}) if the caller does not have sufficient privileges. In this scenario {@link #VK_ERROR_NOT_PERMITTED_EXT ERROR_NOT_PERMITTED_EXT} is returned.

* *

The driver implementation may fail the queue allocation request if resources required to complete the operation have been exhausted (either by the same process or a different process). In this scenario {@link VK10#VK_ERROR_INITIALIZATION_FAILED ERROR_INITIALIZATION_FAILED} is returned.

* *
VK_EXT_global_priority
* *
*
Name String
*
{@code VK_EXT_global_priority}
*
Extension Type
*
Device extension
*
Registered Extension Number
*
175
*
Revision
*
2
*
Extension and Version Dependencies
*
    *
  • Requires Vulkan 1.0
  • *
*
Contact
*
*
* *
Other Extension Metadata
* *
*
Last Modified Date
*
2017-10-06
*
IP Status
*
No known IP claims.
*
Contributors
*
    *
  • Andres Rodriguez, Valve
  • *
  • Pierre-Loup Griffais, Valve
  • *
  • Dan Ginsburg, Valve
  • *
  • Mitch Singer, AMD
  • *
*
*/ public final class EXTGlobalPriority { /** The extension specification version. */ public static final int VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2; /** The extension name. */ public static final String VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority"; /** Extends {@code VkStructureType}. */ public static final int VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000; /** Extends {@code VkResult}. */ public static final int VK_ERROR_NOT_PERMITTED_EXT = -1000174001; /** * VkQueueGlobalPriorityEXT - Values specifying a system-wide queue priority * *
Description
* *

Priority values are sorted in ascending order. A comparison operation on the enum values can be used to determine the priority order.

* *
    *
  • {@link #VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT QUEUE_GLOBAL_PRIORITY_LOW_EXT} is below the system default. Useful for non-interactive tasks.
  • *
  • {@link #VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT} is the system default priority.
  • *
  • {@link #VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT QUEUE_GLOBAL_PRIORITY_HIGH_EXT} is above the system default.
  • *
  • {@link #VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT QUEUE_GLOBAL_PRIORITY_REALTIME_EXT} is the highest priority. Useful for critical tasks.
  • *
* *
See Also
* *

{@link VkDeviceQueueGlobalPriorityCreateInfoEXT}, {@link VkQueueFamilyGlobalPriorityPropertiesEXT}

*/ public static final int VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024; private EXTGlobalPriority() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy