Vulkan-Docs/appendices/VK_EXT_fragment_density_map...

90 lines
2.9 KiB
Plaintext
Raw Normal View History

include::meta/VK_EXT_fragment_density_map.txt[]
*Last Modified Date*::
2018-09-25
*Interactions and External Dependencies*::
- This extension requires the
Change log for January 13, 2019 Vulkan 1.1.98 spec update: * Update release number to 98. Public Issues: * Fix missing markup in flink:vkDestroyPipelineLayout valid usage statement (pull request 882). * Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public pull request 891). Internal Issues: * Detect nested bullet points in valid usage blocks and warn about them during VUID assignment (internal issue 1382). * Update the style guide to document the process for reserving new bits in bitmask types (internal issue 1411). * Clarify for slink:VkApplicationInfo::pname:apiVersion and in the <<fundamentals-validusage-versions, Valid Usage for Newer Core Versions>> section when it is valid for an application to use a certain version of Vulkan API functionality (for an instance and for a device/physical device); and when the validation layers must generate an error (internal issue 1412). * Add optional <<memory-model-availability-visibility, transitive availability/visibility operations to the memory model, including a new pname:vulkanMemoryModelAvailabilityVisibilityChains feature for slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue 1460). * Add the code:StorageBuffer storage class to those in the <<interfaces-resources-descset, Descriptor Set Interface>> (internal issue 1480). * Add missing `returnedonly` tags for a number of returned extension structures that can be passed in pname:pNext chains (internal issue 1515). * Clean up and rearrange some spec language for slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt (internal issue 1522). * Correctly round the code:OpVectorTimesScalar and code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core SPIR-V Instructions>> table (internal merge request 2996). * Work around cases in flink:vkCmdBeginTransformFeedbackEXT, flink:vkCmdEndTransformFeedbackEXT, and slink:VkPipelineCoverageModulationStateCreateInfoNV where an array parameter is `optional` but the length is not in `vk.xml`. This is an interim fix using `noautovalidity` + handcoded VU replacing those that should be autogenerated (internal issue 2944 and https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480). * Remove redundant capability validation of the code:float16 and code:int8 SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>> section, since they are already covered in the preceding table. * Update check_spec_links script, including validation for reference page open blocks. Fix errors identified by the script.
2019-01-13 13:53:27 +00:00
https://www.khronos.org/registry/spir-v/extensions/EXT/SPV_EXT_fragment_invocation_density.html[`SPV_EXT_fragment_invocation_density`]
SPIR-V extension.
*Contributors*::
- Matthew Netsch, Qualcomm Technologies, Inc.
- Robert VanReenen, Qualcomm Technologies, Inc.
- Jonathan Wicks, Qualcomm Technologies, Inc.
- Tate Hornbeck, Qualcomm Technologies, Inc.
- Sam Holmes, Qualcomm Technologies, Inc.
- Jeff Leger, Qualcomm Technologies, Inc.
- Jan-Harald Fredriksen, ARM
- Jeff Bolz, NVIDIA
- Pat Brown, NVIDIA
- Daniel Rakos, AMD
- Piers Daniell, NVIDIA
This extension allows an application to specify areas of the render target
where the fragment shader may be invoked fewer times.
These fragments are broadcasted out to multiple pixels to cover the render
target.
The primary use of this extension is to reduce workloads in areas where
lower quality may not be perceived such as the distorted edges of a lens or
the periphery of a user's gaze.
=== New Object Types
None.
=== New Enum Constants
* Extending elink:VkAccessFlagBits:
** ename:VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
* Extending elink:VkFormatFeatureFlagBits:
** ename:VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT
* Extending elink:VkImageCreateFlagBits:
** ename:VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT
* Extending elink:VkImageLayout:
** ename:VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
* Extending elink:VkImageUsageFlagBits:
** ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
* Extending elink:VkImageViewCreateFlagBits:
** ename:VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT
* Extending elink:VkPipelineStageFlagBits:
** ename:VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
* Extending elink:VkSamplerCreateFlagBits:
** ename:VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT
** ename:VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
** ename:VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
=== New Enums
None.
=== New Structures
* slink:VkPhysicalDeviceFragmentDensityMapFeaturesEXT
* slink:VkPhysicalDeviceFragmentDensityMapPropertiesEXT
* slink:VkRenderPassFragmentDensityMapCreateInfoEXT
=== New Functions
None.
=== New or Modified Built-In Variables
* <<interfaces-builtin-variables-fraginvocationcount,code:FragInvocationCountEXT>>
* <<interfaces-builtin-variables-fragsize,code:FragSizeEXT>>
=== New Variable Decorations
None.
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-fragmentdensity,FragmentDensityEXT>>
=== Version History
* Revision 1, 2018-09-25 (Matthew Netsch)
- Initial version