Class AMDGCNShader
- java.lang.Object
-
- org.lwjgl.vulkan.AMDGCNShader
-
public final class AMDGCNShader extends java.lang.Object
This extension adds support for theSPV_AMD_gcn_shader
SPIR-V extension in Vulkan.This extension is written to provide the functionality of the
GL_AMD_gcn_shader
, OpenGL Shading Language Specification extension, for SPIR-V.This extension exposes miscellaneous features of the AMD "Graphics Core Next" shader architecture. This includes cube map query functions and a functionality to query the elapsed shader core time.
This extension adds the following extended instructions:
CubeFaceCoordAMD
The function
CubeFaceCoordAMD
returns a two-component floating point vector that represents the 2D texture coordinates that would be used for accessing the selected cube map face for the given cube map texture coordinates given as parameter P.The operand
P
must be a pointer to a 3-component 32-bit floating-point vector.This instruction is only valid in Fragment, Geometry, GLCompute, TessellationControl, TessellationEvaluation and Vertex execution models.
CubeFaceIndexAMD
The function
CubeFaceIndexAMD
returns a single floating point value that represents the index of the cube map face that would be accessed by texture lookup functions for the cube map texture coordinates given as parameter. The returned value correspond to cube map faces as follows:- 0.0 for the cube map face facing the positive X direction
- 1.0 for the cube map face facing the negative X direction
- 2.0 for the cube map face facing the positive Y direction
- 3.0 for the cube map face facing the negative Y direction
- 4.0 for the cube map face facing the positive Z direction
- 5.0 for the cube map face facing the negative Z direction
The operand
P
must be a 3-component 32-bit floating-point vector.This instruction is only valid in Fragment, Geometry, GLCompute, TessellationControl, TessellationEvaluation and Vertex execution models.
TimeAMD
The
TimeAMD
function returns a 64-bit value representing the current execution clock as seen by the shader processor. Time monotonically increments as the processor executes instructions. The returned time will wrap after it exceeds the maximum value representable in 64 bits. The units of time are not defined and need not be constant. Time is not dynamically uniform. That is, shader invocations executing as part of a single draw or dispatch will not necessarily see the same value of time. Time is also not guaranteed to be consistent across shader stages. For example, there is no requirement that time sampled inside a fragment shader invocation will be greater than the time sampled in the vertex that lead to its execution.This instruction is only valid in Fragment, Geometry, GLCompute, TessellationControl, TessellationEvaluation and Vertex execution models.
Use of this instruction requires declaration of the
Int64
capability.
-
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.String
VK_AMD_GCN_SHADER_EXTENSION_NAME
The extension name.static int
VK_AMD_GCN_SHADER_SPEC_VERSION
The extension specification version.
-
-
-
Field Detail
-
VK_AMD_GCN_SHADER_SPEC_VERSION
public static final int VK_AMD_GCN_SHADER_SPEC_VERSION
The extension specification version.- See Also:
- Constant Field Values
-
VK_AMD_GCN_SHADER_EXTENSION_NAME
public static final java.lang.String VK_AMD_GCN_SHADER_EXTENSION_NAME
The extension name.- See Also:
- Constant Field Values
-
-