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

org.lwjgl.vulkan.KHRSharedPresentableImage 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;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;

/**
 * This extension extends {@code VK_KHR_swapchain} to enable creation of a shared presentable image. This allows the application to use the image while the presention engine is accessing it, in order to reduce the latency between rendering and presentation.
 * 
 * 
*
Name String
*
{@code VK_KHR_shared_presentable_image}
*
Extension Type
*
Device extension
*
Registered Extension Number
*
112
*
Revision
*
1
*
Extension and Version Dependencies
*
*
Contact
*
    *
  • Alon Or-bach @alonorbach
  • *
*
Last Modified Date
*
2017-03-20
*
IP Status
*
No known IP claims.
*
Contributors
*
    *
  • Alon Or-bach, Samsung Electronics
  • *
  • Ian Elliott, Google
  • *
  • Jesse Hall, Google
  • *
  • Pablo Ceballos, Google
  • *
  • Chris Forbes, Google
  • *
  • Jeff Juliano, NVIDIA
  • *
  • James Jones, NVIDIA
  • *
  • Daniel Rakos, AMD
  • *
  • Tobias Hector, Imagination Technologies
  • *
  • Graham Connor, Imagination Technologies
  • *
  • Michael Worcester, Imagination Technologies
  • *
  • Cass Everitt, Oculus
  • *
  • Johannes Van Waveren, Oculus
  • *
*
*/ public class KHRSharedPresentableImage { /** The extension specification version. */ public static final int VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1; /** The extension name. */ public static final String VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image"; /** Extends {@code VkStructureType}. */ public static final int VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000; /** * Extends {@code VkPresentModeKHR}. * *
Enum values:
* *
    *
  • {@link #VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR}
  • *
  • {@link #VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR}
  • *
*/ public static final int VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001; /** Extends {@code VkImageLayout}. */ public static final int VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000; protected KHRSharedPresentableImage() { throw new UnsupportedOperationException(); } static boolean isAvailable(VKCapabilitiesDevice caps) { return checkFunctions( caps.vkGetSwapchainStatusKHR ); } // --- [ vkGetSwapchainStatusKHR ] --- /** * Get a swapchain's status. * *
C Specification
* *

In order to query a swapchain's status when rendering to a shared presentable image, call:

* *
     * VkResult vkGetSwapchainStatusKHR(
     *     VkDevice                                    device,
     *     VkSwapchainKHR                              swapchain);
* *
Valid Usage (Implicit)
* *
    *
  • {@code device} must be a valid {@code VkDevice} handle
  • *
  • {@code swapchain} must be a valid {@code VkSwapchainKHR} handle
  • *
  • Both of {@code device}, and {@code swapchain} must have been created, allocated, or retrieved from the same {@code VkInstance}
  • *
* *
Host Synchronization
* *
    *
  • Host access to {@code swapchain} must be externally synchronized
  • *
* *
Return Codes
* *
*
On success, this command returns
*
    *
  • {@link VK10#VK_SUCCESS SUCCESS}
  • *
  • {@link KHRSwapchain#VK_SUBOPTIMAL_KHR SUBOPTIMAL_KHR}
  • *
*
On failure, this command returns
*
    *
  • {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
  • *
  • {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
  • *
  • {@link VK10#VK_ERROR_DEVICE_LOST ERROR_DEVICE_LOST}
  • *
  • {@link KHRSwapchain#VK_ERROR_OUT_OF_DATE_KHR ERROR_OUT_OF_DATE_KHR}
  • *
  • {@link KHRSurface#VK_ERROR_SURFACE_LOST_KHR ERROR_SURFACE_LOST_KHR}
  • *
*
* * @param device the device associated with {@code swapchain}. * @param swapchain the swapchain to query. */ @NativeType("VkResult") public static int vkGetSwapchainStatusKHR(VkDevice device, @NativeType("VkSwapchainKHR") long swapchain) { long __functionAddress = device.getCapabilities().vkGetSwapchainStatusKHR; if (CHECKS) { check(__functionAddress); } return callPJI(__functionAddress, device.address(), swapchain); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy