org.lwjgl.vulkan.KHRWorkgroupMemoryExplicitLayout 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 Vulkan support for the {@code SPV_KHR_workgroup_memory_explicit_layout} SPIR-V extension, which allows shaders to explicitly define the layout of {@code Workgroup} storage class memory and create aliases between variables from that storage class in a compute shader.
*
* The aliasing feature allows different “{@code views}” on the same data, so the shader can bulk copy data from another storage class using one type (e.g. an array of large vectors), and then use the data with a more specific type. It also enables reducing the amount of workgroup memory consumed by allowing the shader to alias data whose lifetimes do not overlap.
*
* The explicit layout support and some form of aliasing is also required for layering OpenCL on top of Vulkan.
*
* VK_KHR_workgroup_memory_explicit_layout
*
*
* - Name String
* - {@code VK_KHR_workgroup_memory_explicit_layout}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 337
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
*
* - Contact
*
* - Caio Marcelo de Oliveira Filho cmarcelo
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2020-06-01
* - IP Status
* - No known IP claims.
* - Interactions and External Dependencies
*
* - This extension requires {@code SPV_KHR_workgroup_memory_explicit_layout}
*
* - Contributors
*
* - Caio Marcelo de Oliveira Filho, Intel
* - Jeff Bolz, NVIDIA
* - Graeme Leese, Broadcom
* - Jason Ekstrand, Intel
* - Daniel Koch, NVIDIA
*
*
*/
public final class KHRWorkgroupMemoryExplicitLayout {
/** The extension specification version. */
public static final int VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME = "VK_KHR_workgroup_memory_explicit_layout";
/** Extends {@code VkStructureType}. */
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000;
private KHRWorkgroupMemoryExplicitLayout() {}
}