mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-25 12:35:11 +00:00
* Update release number to 121. Github Issues: * Add missing `structextends` attribute in `vk.xml` for slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public issue 1018). * Change attributes of flink:vkCmdCopyAccelerationStructureNV, flink:vkCmdWriteAccelerationStructuresPropertiesNV, flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to require that these commands execute outside renderpasses (public issue 1021). * Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix discussing the introduction of new names and aliasing by equivalent old names (public pull request 1024). Internal Issues: * Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with asciidoctor conditionals, and remove it from the core-only specification builds, where it had previously been force-included in the Makefile. It is now treated like any other extension (internal issue 1776). * Edit some asciidoctor anchor names starting with `features-features-` to just start with `features-`, since the old chapters was split into 3 pieces. There are still some mild naming inconsistencies with anchors which may be addressed in the future (internal issue 1792). * Add `KHR` alias for the non-suffixed extension token ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility with naming rules for extensions (internal issue 1796). * Clarify requirements for external memory in NOTEs for sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo, flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge request 3301). * Make extension version numbers in `vk.xml` and extension appendices consistent. In a few cases, we could not recover history at this granularity, and left the summary of a version's change undefined (internal merge request 3323). * Fix invocation of `CodeInlineMacro` in the Ruby extension backing the `code:` macro, which was delegating to the wrong base class (internal merge request 3331). * Modify `reg.py` to do a better job of recognizing equivalent <enum> definitions. * Add a `sortorder` attribute to XML feature and extension tags. New Extensions * `<<VK_AMD_device_coherent_memory>>`
77 lines
2.4 KiB
Plaintext
77 lines
2.4 KiB
Plaintext
include::meta/VK_NV_external_memory_capabilities.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2016-08-19
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Interactions and External Dependencies*::
|
|
- Interacts with Vulkan 1.1.
|
|
- Interacts with `<<VK_KHR_dedicated_allocation>>`.
|
|
- Interacts with `<<VK_NV_dedicated_allocation>>`.
|
|
*Contributors*::
|
|
- James Jones, NVIDIA
|
|
|
|
Applications may wish to import memory from the Direct 3D API, or export
|
|
memory to other Vulkan instances.
|
|
This extension provides a set of capability queries that allow applications
|
|
determine what types of win32 memory handles an implementation supports for
|
|
a given set of use cases.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
None.
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkExternalMemoryHandleTypeFlagBitsNV
|
|
* elink:VkExternalMemoryFeatureFlagBitsNV
|
|
|
|
=== New Structs
|
|
|
|
* slink:VkExternalImageFormatPropertiesNV
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV
|
|
|
|
=== Issues
|
|
|
|
1) Why do so many external memory capabilities need to be queried on a
|
|
per-memory-handle-type basis?
|
|
|
|
*RESOLVED*: This is because some handle types are based on OS-native objects
|
|
that have far more limited capabilities than the very generic Vulkan memory
|
|
objects.
|
|
Not all memory handle types can name memory objects that support 3D images,
|
|
for example.
|
|
Some handle types cannot even support the deferred image and memory binding
|
|
behavior of Vulkan and require specifying the image when allocating or
|
|
importing the memory object.
|
|
|
|
2) Does the slink:VkExternalImageFormatPropertiesNV struct need to include a
|
|
list of memory type bits that support the given handle type?
|
|
|
|
*RESOLVED*: No.
|
|
The memory types that do not support the handle types will simply be
|
|
filtered out of the results returned by flink:vkGetImageMemoryRequirements
|
|
when a set of handle types was specified at image creation time.
|
|
|
|
3) Should the non-opaque handle types be moved to their own extension?
|
|
|
|
*RESOLVED*: Perhaps.
|
|
However, defining the handle type bits does very little and does not require
|
|
any platform-specific types on its own, and it is easier to maintain the
|
|
bitmask values in a single extension for now.
|
|
Presumably more handle types could be added by separate extensions though,
|
|
and it would be midly weird to have some platform-specific ones defined in
|
|
the core spec and some in extensions
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2016-08-19 (James Jones)
|
|
- Initial version
|