2019-01-06 03:40:12 +00:00
|
|
|
// Copyright (c) 2017-2019 Khronos Group. This work is licensed under a
|
2018-07-07 09:21:56 +00:00
|
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
|
|
|
|
include::meta/VK_KHR_8bit_storage.txt[]
|
|
|
|
|
|
|
|
*Last Modified Date*::
|
|
|
|
2018-02-05
|
|
|
|
*IP Status*::
|
|
|
|
No known IP claims.
|
|
|
|
*Interactions and External Dependencies*::
|
|
|
|
- This extension requires
|
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/KHR/SPV_KHR_8bit_storage.html[`SPV_KHR_8bit_storage`]
|
2018-07-07 09:21:56 +00:00
|
|
|
*Contributors*::
|
|
|
|
- Alexander Galazin, Arm
|
|
|
|
|
2018-10-29 06:53:18 +00:00
|
|
|
The `VK_KHR_8bit_storage` extension allows use of 8-bit types in uniform and
|
2018-07-07 09:21:56 +00:00
|
|
|
storage buffers, and push constant blocks.
|
|
|
|
This extension introduces several new optional features which map to SPIR-V
|
|
|
|
capabilities and allow access to 8-bit data in code:Block-decorated objects
|
|
|
|
in the code:Uniform and the code:StorageBuffer storage classes, and objects
|
|
|
|
in the code:PushConstant storage class.
|
|
|
|
|
|
|
|
The code:StorageBuffer8BitAccess capability must: be supported by all
|
|
|
|
implementations of this extension.
|
|
|
|
The other capabilities are optional.
|
|
|
|
|
|
|
|
=== New Enum Constants
|
|
|
|
|
|
|
|
* Extending elink:VkStructureType:
|
|
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR
|
|
|
|
|
|
|
|
=== New Structures
|
|
|
|
|
|
|
|
* slink:VkPhysicalDevice8BitStorageFeaturesKHR
|
|
|
|
|
|
|
|
=== New SPIR-V Capabilities
|
|
|
|
|
|
|
|
* <<spirvenv-capabilities-table-8bitstorage,code:StorageBuffer8BitAccess>>
|
|
|
|
* <<spirvenv-capabilities-table-8bitstorage,code:UniformAndStorageBuffer8BitAccess>>
|
|
|
|
* <<spirvenv-capabilities-table-8bitstorage,code:StoragePushConstant8>>
|
|
|
|
|
|
|
|
=== Issues
|
|
|
|
|
|
|
|
=== Version History
|
|
|
|
|
|
|
|
* Revision 1, 2018-02-05 (Alexander Galazin)
|
|
|
|
- Initial draft
|