org.lwjgl.vulkan.EXTPipelineCreationFeedback Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-vulkan Show documentation
Show all versions of lwjgl-vulkan Show documentation
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.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
/**
* This extension adds a mechanism to provide feedback to an application about pipeline creation, with the specific goal of allowing a feedback loop between build systems and in-the-field application executions to ensure effective pipeline caches are shipped to customers.
*
* VK_EXT_pipeline_creation_feedback
*
*
* - Name String
* - {@code VK_EXT_pipeline_creation_feedback}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 193
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
*
* - Special Use
*
* - Developer tools
*
* - Contact
*
* - Jean-Francois Roy jfroy
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2019-03-12
* - IP Status
* - No known IP claims.
* - Contributors
*
* - Jean-Francois Roy, Google
* - Hai Nguyen, Google
* - Andrew Ellem, Google
* - Bob Fraser, Google
* - Sujeevan Rajayogam, Google
* - Jan-Harald Fredriksen, ARM
* - Jeff Leger, Qualcomm Technologies, Inc.
* - Jeff Bolz, NVIDIA
* - Daniel Koch, NVIDIA
* - Neil Henning, AMD
*
*
*/
public final class EXTPipelineCreationFeedback {
/** The extension specification version. */
public static final int VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback";
/** Extends {@code VkStructureType}. */
public static final int VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000;
/**
* VkPipelineCreationFeedbackFlagBitsEXT - Bitmask specifying pipeline or pipeline stage creation feedback
*
* Description
*
*
* - {@link #VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT} indicates that the feedback information is valid.
* - {@link #VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT} indicates that a readily usable pipeline or pipeline stage was found in the {@code pipelineCache} specified by the application in the pipeline creation command.
* An implementation should set the {@link #VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT} bit if it was able to avoid the large majority of pipeline or pipeline stage creation work by using the {@code pipelineCache} parameter of {@link VK10#vkCreateGraphicsPipelines CreateGraphicsPipelines}, {@link KHRRayTracingPipeline#vkCreateRayTracingPipelinesKHR CreateRayTracingPipelinesKHR}, {@link NVRayTracing#vkCreateRayTracingPipelinesNV CreateRayTracingPipelinesNV}, or {@link VK10#vkCreateComputePipelines CreateComputePipelines}. When an implementation sets this bit for the entire pipeline, it may leave it unset for any stage.
*
*
Note
*
* Implementations are encouraged to provide a meaningful signal to applications using this bit. The intention is to communicate to the application that the pipeline or pipeline stage was created "as fast as it gets" using the pipeline cache provided by the application. If an implementation uses an internal cache, it is discouraged from setting this bit as the feedback would be unactionable.
*
*
* - {@link #VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT} indicates that the base pipeline specified by the {@code basePipelineHandle} or {@code basePipelineIndex} member of the stext:Vk*PipelineCreateInfo structure was used to accelerate the creation of the pipeline.
* An implementation should set the {@link #VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT} bit if it was able to avoid a significant amount of work by using the base pipeline.
*
*
Note
*
* While "significant amount of work" is subjective, implementations are encouraged to provide a meaningful signal to applications using this bit. For example, a 1% reduction in duration may not warrant setting this bit, while a 50% reduction would.
*
*
*
*
* See Also
*
* {@link VkPipelineCreationFeedbackCreateInfoEXT}, {@link VkPipelineCreationFeedbackEXT}
*/
public static final int
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x1,
VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x2,
VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x4;
private EXTPipelineCreationFeedback() {}
}