| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_AMD_shader_info
- newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32
- pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD
- pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD
- pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD
- pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: Integral a => a
- pattern VK_AMD_SHADER_INFO_EXTENSION_NAME :: (Eq a, IsString a) => a
- vkGetShaderInfoAMD :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult
- data VkShaderResourceUsageAMD = VkShaderResourceUsageAMD {}
- data VkShaderStatisticsInfoAMD = VkShaderStatisticsInfoAMD {}
Documentation
newtype VkShaderInfoTypeAMD Source #
Constructors
| VkShaderInfoTypeAMD Int32 |
pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD Source #
pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: Integral a => a Source #
pattern VK_AMD_SHADER_INFO_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
vkGetShaderInfoAMD :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult Source #
vkGetShaderInfoAMD - Get information about a shader in a pipeline
Parameters
deviceis the device that createdpipeline.
pipelineis the target of the query.shaderStageidentifies the particular shader within the pipeline about which information is being queried.infoTypedescribes what kind of information is being queried.pInfoSizeis a pointer to a value related to the amount of data the query returns, as described below.pInfois either NULL or a pointer to a buffer.
Description
If pInfo is NULL, then the maximum size of the information that
can be retrieved about the shader, in bytes, is returned in
pInfoSize. Otherwise, pInfoSize must point to a variable set by
the user to the size of the buffer, in bytes, pointed to by pInfo, and
on return the variable is overwritten with the amount of data actually
written to pInfo.
If pInfoSize is less than the maximum size that can be retrieved by
the pipeline cache, then at most pInfoSize bytes will be written to
pInfo, and vkGetShaderInfoAMD will return VK_INCOMPLETE.
Not all information is available for every shader and implementations
may not support all kinds of information for any shader. When a certain
type of information is unavailable, the function returns
VK_ERROR_FEATURE_NOT_PRESENT.
If information is successfully and fully queried, the function will
return VK_SUCCESS.
For VK_SHADER_INFO_TYPE_STATISTICS_AMD, an instance of
VkShaderStatisticsInfoAMD will be written to the buffer pointed to by
pInfo. This structure will be populated with statistics regarding the
physical device resources used by that shader along with other
miscellaneous information and is described in further detail below.
For VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD, pInfo points to a UTF-8
null-terminated string containing human-readable disassembly. The exact
formatting and contents of the disassembly string are vendor-specific.
The formatting and contents of all other types of information, including
VK_SHADER_INFO_TYPE_BINARY_AMD, are left to the vendor and are not
further specified by this extension.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pipelinemust be a validVkPipelinehandleshaderStagemust be a validVkShaderStageFlagBitsvalueinfoTypemust be a validVkShaderInfoTypeAMDvaluepInfoSizemust be a valid pointer to asize_tvalue- If the value referenced by
pInfoSizeis not0, andpInfois notNULL,pInfomust be a valid pointer to an array ofpInfoSizebytes pipelinemust have been created, allocated, or retrieved fromdevice
Return Codes
- Success
- -
VK_SUCCESSVK_INCOMPLETE
- Failure
- -
VK_ERROR_FEATURE_NOT_PRESENTVK_ERROR_OUT_OF_HOST_MEMORY
See Also
VkDevice,
VkPipeline, VkShaderInfoTypeAMD,
VkShaderStageFlagBits
data VkShaderResourceUsageAMD Source #
VkShaderResourceUsageAMD - Resource usage information about a particular shader within a pipeline
Description
See Also
Constructors
| VkShaderResourceUsageAMD | |
Fields
| |
data VkShaderStatisticsInfoAMD Source #
VkShaderStatisticsInfoAMD - Statistical information about a particular shader within a pipeline
Description
Some implementations may merge multiple logical shader stages together
in a single shader. In such cases, shaderStageMask will contain a
bitmask of all of the stages that are active within that shader.
Consequently, if specifying those stages as input to
vkGetShaderInfoAMD, the same output information may be returned for
all such shader stage queries.
The number of available VGPRs and SGPRs (numAvailableVgprs and
numAvailableSgprs respectively) are the shader-addressable subset of
physical registers that is given as a limit to the compiler for register
assignment. These values may further be limited by implementations due
to performance optimizations where register pressure is a bottleneck.
See Also
Constructors
| VkShaderStatisticsInfoAMD | |
Fields
| |