Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_EXT_shader_tile_image - device extension
VK_EXT_shader_tile_image
- Name String
VK_EXT_shader_tile_image
- Extension Type
- Device extension
- Registered Extension Number
- 396
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- Version 1.3
- Contact
- Extension Proposal
- VK_EXT_shader_tile_image
Other Extension Metadata
- Last Modified Date
- 2023-03-23
- IP Status
- No known IP claims.
- Interactions and External Dependencies
- This extension requires SPV_EXT_shader_tile_image
- This extension provides API support for GL_EXT_shader_tile_image
- Contributors
- Sandeep Kakarlapudi, Arm
- Jan-Harald Fredriksen, Arm
- James Fitzpatrick, Imagination
- Andrew Garrard, Imagination
- Jeff Leger, Qualcomm
- Huilong Wang, Huawei
- Graeme Leese, Broadcom
- Hans-Kristian Arntzen, Valve
- Tobias Hector, AMD
- Jeff Bolz, NVIDIA
- Shahbaz Youssefi, Google
Description
This extension allows fragment shader invocations to read color, depth and stencil values at their pixel location in rasterization order. The functionality is only available when using dynamic render passes introduced by VK_KHR_dynamic_rendering. Example use cases are programmable blending and deferred shading.
See fragment shader tile image reads for more information.
New Structures
New Enum Constants
Issues
None.
Examples
Color read example.
layout( location = 0 ) tileImageEXT highp attachmentEXT color0; layout( location = 1 ) tileImageEXT highp attachmentEXT color1; layout( location = 0 ) out vec4 fragColor; void main() { vec4 value = colorAttachmentReadEXT(color0) + colorAttachmentReadEXT(color1); fragColor = value; }
Depth & Stencil read example.
void main() { // read sample 0: works for non-MSAA or MSAA targets highp float last_depth = depthAttachmentReadEXT(); lowp uint last_stencil = stencilAttachmentReadEXT(); //.. }
Version History
Revision 1, 2023-03-23 (Sandeep Kakarlapudi)
- Initial version
See Also
PhysicalDeviceShaderTileImageFeaturesEXT
,
PhysicalDeviceShaderTileImagePropertiesEXT
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- data PhysicalDeviceShaderTileImageFeaturesEXT = PhysicalDeviceShaderTileImageFeaturesEXT {}
- data PhysicalDeviceShaderTileImagePropertiesEXT = PhysicalDeviceShaderTileImagePropertiesEXT {}
- type EXT_SHADER_TILE_IMAGE_SPEC_VERSION = 1
- pattern EXT_SHADER_TILE_IMAGE_SPEC_VERSION :: forall a. Integral a => a
- type EXT_SHADER_TILE_IMAGE_EXTENSION_NAME = "VK_EXT_shader_tile_image"
- pattern EXT_SHADER_TILE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PhysicalDeviceShaderTileImageFeaturesEXT Source #
VkPhysicalDeviceShaderTileImageFeaturesEXT - Structure describing tile image features supported by the implementation
Members
The members of the PhysicalDeviceShaderTileImageFeaturesEXT
structure
describe the following features:
Description
If the PhysicalDeviceShaderTileImageFeaturesEXT
structure is included
in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceShaderTileImageFeaturesEXT
can also be used
in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
Instances
data PhysicalDeviceShaderTileImagePropertiesEXT Source #
VkPhysicalDeviceShaderTileImagePropertiesEXT - Structure containing information about tile image support for a physical device
Description
If the PhysicalDeviceShaderTileImagePropertiesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2
,
it is filled in with each corresponding implementation-dependent
property.
These are properties of the tile image information of a physical device.
Valid Usage (Implicit)
See Also
PhysicalDeviceShaderTileImagePropertiesEXT | |
|
Instances
type EXT_SHADER_TILE_IMAGE_SPEC_VERSION = 1 Source #
pattern EXT_SHADER_TILE_IMAGE_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_SHADER_TILE_IMAGE_EXTENSION_NAME = "VK_EXT_shader_tile_image" Source #
pattern EXT_SHADER_TILE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #