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

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

/**
 * 
    *
  • {@link #vkCmdDecodeVideoKHR CmdDecodeVideoKHR}
  • *
* *
VK_KHR_video_decode_queue
* *
*
Name String
*
{@code VK_KHR_video_decode_queue}
*
Extension Type
*
Device extension
*
Registered Extension Number
*
25
*
Revision
*
2
*
Extension and Version Dependencies
*
    *
  • Requires Vulkan 1.0
  • *
  • Requires {@link KHRVideoQueue VK_KHR_video_queue}
  • *
  • Requires {@link KHRSynchronization2 VK_KHR_synchronization2}
  • *
  • This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
  • *
*
Contact
*
*
* *
Other Extension Metadata
* *
*
Last Modified Date
*
2021-09-30
*
IP Status
*
No known IP claims.
*
Contributors
*
    *
  • Jake Beju, AMD
  • *
  • Olivier Lapicque, NVIDIA
  • *
  • Peter Fang, AMD
  • *
  • Piers Daniell, NVIDIA
  • *
  • Srinath Kumarapuram, NVIDIA
  • *
  • Tony Zlatinski, NVIDIA
  • *
*
*/ public class KHRVideoDecodeQueue { /** The extension specification version. */ public static final int VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION = 2; /** The extension name. */ public static final String VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME = "VK_KHR_video_decode_queue"; /** Extends {@code VkStructureType}. */ public static final int VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000; /** Extends {@code VkQueueFlagBits}. */ public static final int VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x20; /** Extends {@code VkPipelineStageFlagBits2KHR}. */ public static final long VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x4000000L; /** * Extends {@code VkAccessFlagBits2KHR}. * *
Enum values:
* *
    *
  • {@link #VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR ACCESS_2_VIDEO_DECODE_READ_BIT_KHR}
  • *
  • {@link #VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR}
  • *
*/ public static final long VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000L, VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000L; /** * Extends {@code VkBufferUsageFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR}
  • *
  • {@link #VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR}
  • *
*/ public static final int VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x2000, VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x4000; /** * Extends {@code VkImageUsageFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR}
  • *
  • {@link #VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR}
  • *
  • {@link #VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR}
  • *
*/ public static final int VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x400, VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x800, VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x1000; /** * Extends {@code VkFormatFeatureFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR}
  • *
  • {@link #VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR}
  • *
*/ public static final int VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x2000000, VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x4000000; /** * Extends {@code VkImageLayout}. * *
Enum values:
* *
    *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR}
  • *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR}
  • *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR}
  • *
*/ public static final int VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002; /** * Extends {@code VkFormatFeatureFlagBits2KHR}. * *
Enum values:
* *
    *
  • {@link #VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR}
  • *
  • {@link #VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR}
  • *
*/ public static final long VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x2000000L, VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x4000000L; /** * VkVideoDecodeFlagBitsKHR - Video Decode Command Flags * *
Description
* *
    *
  • {@link #VK_VIDEO_DECODE_RESERVED_0_BIT_KHR VIDEO_DECODE_RESERVED_0_BIT_KHR} The current version of the specification has reserved this value for future use.
  • *
* *
Enum values:
* *
    *
  • {@link #VK_VIDEO_DECODE_DEFAULT_KHR VIDEO_DECODE_DEFAULT_KHR}
  • *
*/ public static final int VK_VIDEO_DECODE_DEFAULT_KHR = 0, VK_VIDEO_DECODE_RESERVED_0_BIT_KHR = 0x1; protected KHRVideoDecodeQueue() { throw new UnsupportedOperationException(); } // --- [ vkCmdDecodeVideoKHR ] --- /** Unsafe version of: {@link #vkCmdDecodeVideoKHR CmdDecodeVideoKHR} */ public static void nvkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer, long pFrameInfo) { long __functionAddress = commandBuffer.getCapabilities().vkCmdDecodeVideoKHR; if (CHECKS) { check(__functionAddress); VkVideoDecodeInfoKHR.validate(pFrameInfo); } callPPV(commandBuffer.address(), pFrameInfo, __functionAddress); } /** * Decode a frame. * *
C Specification
* *

To decode a frame, call:

* *

     * void vkCmdDecodeVideoKHR(
     *     VkCommandBuffer                             commandBuffer,
     *     const VkVideoDecodeInfoKHR*                 pFrameInfo);
* *
Valid Usage (Implicit)
* *
    *
  • {@code commandBuffer} must be a valid {@code VkCommandBuffer} handle
  • *
  • {@code pFrameInfo} must be a valid pointer to a valid {@link VkVideoDecodeInfoKHR} structure
  • *
  • {@code commandBuffer} must be in the recording state
  • *
  • The {@code VkCommandPool} that {@code commandBuffer} was allocated from must support decode operations
  • *
  • This command must only be called outside of a render pass instance
  • *
  • {@code commandBuffer} must be a primary {@code VkCommandBuffer}
  • *
* *
Host Synchronization
* *
    *
  • Host access to the {@code VkCommandPool} that {@code commandBuffer} was allocated from must be externally synchronized
  • *
* *
Command Properties
* * * * *
Command Buffer LevelsRender Pass ScopeSupported Queue Types
PrimaryOutsideDecode
* *
See Also
* *

{@link VkVideoDecodeInfoKHR}

* * @param commandBuffer the command buffer to be filled with this function for decode frame command. * @param pFrameInfo a pointer to a {@link VkVideoDecodeInfoKHR} structure. */ public static void vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer, @NativeType("VkVideoDecodeInfoKHR const *") VkVideoDecodeInfoKHR pFrameInfo) { nvkCmdDecodeVideoKHR(commandBuffer, pFrameInfo.address()); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy