/ appendices / VK_EXT_fragment_density_map.txt
VK_EXT_fragment_density_map.txt
 1  include::meta/VK_EXT_fragment_density_map.txt[]
 2  
 3  *Last Modified Date*::
 4      2018-09-25
 5  *Interactions and External Dependencies*::
 6    - This extension requires the
 7      https://www.khronos.org/registry/spir-v/extensions/EXT/SPV_EXT_fragment_invocation_density.html[`SPV_EXT_fragment_invocation_density`]
 8      SPIR-V extension.
 9  *Contributors*::
10    - Matthew Netsch, Qualcomm Technologies, Inc.
11    - Robert VanReenen, Qualcomm Technologies, Inc.
12    - Jonathan Wicks, Qualcomm Technologies, Inc.
13    - Tate Hornbeck, Qualcomm Technologies, Inc.
14    - Sam Holmes, Qualcomm Technologies, Inc.
15    - Jeff Leger, Qualcomm Technologies, Inc.
16    - Jan-Harald Fredriksen, ARM
17    - Jeff Bolz, NVIDIA
18    - Pat Brown, NVIDIA
19    - Daniel Rakos, AMD
20    - Piers Daniell, NVIDIA
21  
22  This extension allows an application to specify areas of the render target
23  where the fragment shader may be invoked fewer times.
24  These fragments are broadcasted out to multiple pixels to cover the render
25  target.
26  
27  The primary use of this extension is to reduce workloads in areas where
28  lower quality may not be perceived such as the distorted edges of a lens or
29  the periphery of a user's gaze.
30  
31  === New Object Types
32  
33  None.
34  
35  === New Enum Constants
36  
37    * Extending elink:VkAccessFlagBits:
38    ** ename:VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
39    * Extending elink:VkFormatFeatureFlagBits:
40    ** ename:VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT
41    * Extending elink:VkImageCreateFlagBits:
42    ** ename:VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT
43    * Extending elink:VkImageLayout:
44    ** ename:VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
45    * Extending elink:VkImageUsageFlagBits:
46    ** ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
47    * Extending elink:VkImageViewCreateFlagBits:
48    ** ename:VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
49    * Extending elink:VkPipelineStageFlagBits:
50    ** ename:VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
51    * Extending elink:VkSamplerCreateFlagBits:
52    ** ename:VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT
53    ** ename:VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
54    * Extending elink:VkStructureType:
55    ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
56    ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
57    ** ename:VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
58  
59  === New Enums
60  
61  None.
62  
63  === New Structures
64  
65    * slink:VkPhysicalDeviceFragmentDensityMapFeaturesEXT
66    * slink:VkPhysicalDeviceFragmentDensityMapPropertiesEXT
67    * slink:VkRenderPassFragmentDensityMapCreateInfoEXT
68  
69  === New Functions
70  
71  None.
72  
73  === New or Modified Built-In Variables
74  
75    * <<interfaces-builtin-variables-fraginvocationcount,code:FragInvocationCountEXT>>
76    * <<interfaces-builtin-variables-fragsize,code:FragSizeEXT>>
77  
78  === New Variable Decorations
79  
80  None.
81  
82  === New SPIR-V Capabilities
83  
84    * <<spirvenv-capabilities-table-fragmentdensity,FragmentDensityEXT>>
85  
86  === Version History
87  
88   * Revision 1, 2018-09-25 (Matthew Netsch)
89     - Initial version