/ 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