Add VK_INTEL_shader_integer_functions2 (#966)
This commit is contained in:
parent
40ba6e9a44
commit
261f4c614c
|
@ -0,0 +1,53 @@
|
||||||
|
include::meta/VK_INTEL_shader_integer_functions2.txt[]
|
||||||
|
|
||||||
|
*Last Modified Date*::
|
||||||
|
2019-04-30
|
||||||
|
*IP Status*::
|
||||||
|
No known IP claims.
|
||||||
|
*Contributors*::
|
||||||
|
- Ian Romanick, Intel
|
||||||
|
- Ben Ashbaugh, Intel
|
||||||
|
|
||||||
|
This extension adds support for several new integer instructions in SPIR-V for
|
||||||
|
use in graphics shaders. Many of these instructions have pre-existing
|
||||||
|
counterparts in the Kernel environment.
|
||||||
|
|
||||||
|
The added integer functions are defined by the
|
||||||
|
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html[+SPV_INTEL_shader_integer_functions+]
|
||||||
|
SPIR-V extension and can be used with the GL_INTEL_shader_integer_functions2 GLSL extension.
|
||||||
|
|
||||||
|
=== New Object Types
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== New Enum Constants
|
||||||
|
|
||||||
|
* Extending elink:VkStructureType:
|
||||||
|
|
||||||
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL
|
||||||
|
|
||||||
|
=== New Enums
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== New Structures
|
||||||
|
|
||||||
|
* Extending slink:VkPhysicalDeviceFeatures2:
|
||||||
|
** slink:VkPhysicalDeviceShaderIntegerFunctions2INTEL
|
||||||
|
|
||||||
|
=== New Functions
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== New SPIR-V Capabilities
|
||||||
|
|
||||||
|
* <<spirvenv-capabilities-table-cooperativeMatrix,ShaderIntegerFunctions2INTEL>>
|
||||||
|
|
||||||
|
=== Issues
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== Version History
|
||||||
|
|
||||||
|
* Revision 1, 2019-04-30 (Ian Romanick)
|
||||||
|
- Initial draft
|
|
@ -274,6 +274,10 @@ ifdef::VK_NV_cooperative_matrix[]
|
||||||
[[spirvenv-capabilities-table-cooperativeMatrix]]
|
[[spirvenv-capabilities-table-cooperativeMatrix]]
|
||||||
| code:CooperativeMatrixNV | <<features-cooperativeMatrix,cooperativeMatrix>>
|
| code:CooperativeMatrixNV | <<features-cooperativeMatrix,cooperativeMatrix>>
|
||||||
endif::VK_NV_cooperative_matrix[]
|
endif::VK_NV_cooperative_matrix[]
|
||||||
|
ifdef::VK_INTEL_shader_integer_functions2[]
|
||||||
|
[[spirvenv-capabilities-table-shaderIntegerFunctions2]]
|
||||||
|
| code:ShaderIntegerFunctions2INTEL | <<features-shaderIntegerFunctions2,shaderIntegerFunctions2>>
|
||||||
|
endif::VK_INTEL_shader_integer_functions2[]
|
||||||
|====
|
|====
|
||||||
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_variable_pointers[]
|
ifdef::VK_VERSION_1_1,VK_KHR_variable_pointers[]
|
||||||
|
|
|
@ -2082,6 +2082,33 @@ include::{generated}/validity/structs/VkPhysicalDeviceHostQueryResetFeaturesEXT.
|
||||||
|
|
||||||
endif::VK_EXT_host_query_reset[]
|
endif::VK_EXT_host_query_reset[]
|
||||||
|
|
||||||
|
ifdef::VK_INTEL_shader_integer_functions2[]
|
||||||
|
|
||||||
|
[open,refpage='VkPhysicalDeviceShaderIntegerFunctions2INTEL',desc='Structure describing shader integer functions that can be supported by an implementation',type='structs']
|
||||||
|
--
|
||||||
|
The sname:VkPhysicalDeviceShaderIntegerFunctions2INTEL structure is
|
||||||
|
defined as:
|
||||||
|
|
||||||
|
include::{generated}/api/structs/VkPhysicalDeviceShaderIntegerFunctions2INTEL.txt[]
|
||||||
|
|
||||||
|
The members of the sname:VkPhysicalDeviceShaderIntegerFunctions2INTEL
|
||||||
|
structure describe the following features:
|
||||||
|
|
||||||
|
* [[features-shaderIntegerFunctions2]] pname:shaderIntegerFunctions2
|
||||||
|
indicates that the implementation supports the
|
||||||
|
code:ShaderIntegerFunctions2INTEL SPIR-V capability.
|
||||||
|
|
||||||
|
If the sname:VkPhysicalDeviceShaderIntegerFunctions2INTEL structure
|
||||||
|
is included in the pname:pNext chain of slink:VkPhysicalDeviceFeatures2KHR,
|
||||||
|
it is filled with values indicating whether the feature is supported.
|
||||||
|
sname:VkPhysicalDeviceShaderIntegerFunctions2INTEL can: also be used
|
||||||
|
in the pname:pNext chain of slink:VkDeviceCreateInfo to enable features.
|
||||||
|
|
||||||
|
include::{generated}/validity/structs/VkPhysicalDeviceShaderIntegerFunctions2INTEL.txt[]
|
||||||
|
--
|
||||||
|
|
||||||
|
endif::VK_INTEL_shader_integer_functions2[]
|
||||||
|
|
||||||
|
|
||||||
ifdef::VK_NV_coverage_reduction_mode[]
|
ifdef::VK_NV_coverage_reduction_mode[]
|
||||||
[open,refpage='VkPhysicalDeviceCoverageReductionModeFeaturesNV',desc='Structure describing the coverage reduction mode features that can be supported by an implementation',type='structs']
|
[open,refpage='VkPhysicalDeviceCoverageReductionModeFeaturesNV',desc='Structure describing the coverage reduction mode features that can be supported by an implementation',type='structs']
|
||||||
|
|
13
xml/vk.xml
13
xml/vk.xml
|
@ -3891,6 +3891,11 @@ typedef void <name>CAMetalLayer</name>;
|
||||||
<member><type>VkSampleCountFlags</type> <name>depthStencilSamples</name></member>
|
<member><type>VkSampleCountFlags</type> <name>depthStencilSamples</name></member>
|
||||||
<member><type>VkSampleCountFlags</type> <name>colorSamples</name></member>
|
<member><type>VkSampleCountFlags</type> <name>colorSamples</name></member>
|
||||||
</type>
|
</type>
|
||||||
|
<type category="struct" name="VkPhysicalDeviceShaderIntegerFunctions2INTEL" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||||
|
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
|
<member><type>void</type>* <name>pNext</name></member>
|
||||||
|
<member><type>VkBool32</type> <name>shaderIntegerFunctions2</name></member>
|
||||||
|
</type>
|
||||||
</types>
|
</types>
|
||||||
|
|
||||||
<comment>Vulkan enumerant (token) definitions</comment>
|
<comment>Vulkan enumerant (token) definitions</comment>
|
||||||
|
@ -10383,10 +10388,12 @@ typedef void <name>CAMetalLayer</name>;
|
||||||
<enum value=""VK_KHR_extension_209"" name="VK_KHR_EXTENSION_209_EXTENSION_NAME"/>
|
<enum value=""VK_KHR_extension_209"" name="VK_KHR_EXTENSION_209_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_INTEL_extension_210" number="210" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled">
|
<extension name="VK_INTEL_shader_integer_functions2" number="210" type="device" requires="VK_KHR_get_physical_device_properties2" author="INTEL" contact="Ian Romanick @ianromanick" supported="vulkan">
|
||||||
<require>
|
<require>
|
||||||
<enum value="0" name="VK_KHR_EXTENSION_210_SPEC_VERSION"/>
|
<enum value="1" name="VK_INTEL_SHADER_INTEGER_FUNCTIONS2_SPEC_VERSION"/>
|
||||||
<enum value=""VK_KHR_extension_210"" name="VK_KHR_EXTENSION_210_EXTENSION_NAME"/>
|
<enum value=""VK_INTEL_shader_integer_functions2"" name="VK_INTEL_SHADER_INTEGER_FUNCTIONS2_EXTENSION_NAME"/>
|
||||||
|
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL"/>
|
||||||
|
<type name="VkPhysicalDeviceShaderIntegerFunctions2INTEL"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_INTEL_extension_211" number="211" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled">
|
<extension name="VK_INTEL_extension_211" number="211" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled">
|
||||||
|
|
Loading…
Reference in New Issue