Update SPIR-V version to VK_1_1_SPV_1_4

SPIR-V 1.4 is coupled with Vulkan 1.2 to introduce a core extension that exposes float controls and new OpExecutionMode arguments for controlling floating point behavior. Those Execution Modes are only legal if the implementation says it supports them in the FloatControlsProperties struct. SPIR-V 1.4 also adds some operands and a few new opcodes. This version update tells SPIR-V tools to allow behavior created to support version 1.4, like uniform buffer standard packing. It also exposes the Vulkan extension for SPIR-V 1.4. Bug: b/173046235 Tests: dEQP-VK.* Change-Id: I4bb387fd7ba4695babff3edbcaabca583c4fdde1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50228Tested-by: 's avatarSean Risser <srisser@google.com> Commit-Queue: Sean Risser <srisser@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
parent cc7263bb
...@@ -27,7 +27,7 @@ namespace vk { ...@@ -27,7 +27,7 @@ namespace vk {
#define SWIFTSHADER_DEVICE_NAME "SwiftShader Device" // Max length: VK_MAX_PHYSICAL_DEVICE_NAME_SIZE #define SWIFTSHADER_DEVICE_NAME "SwiftShader Device" // Max length: VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
#define SWIFTSHADER_UUID "SwiftShaderUUID" // Max length: VK_UUID_SIZE (16) #define SWIFTSHADER_UUID "SwiftShaderUUID" // Max length: VK_UUID_SIZE (16)
const spv_target_env SPIRV_VERSION = SPV_ENV_VULKAN_1_1; const spv_target_env SPIRV_VERSION = SPV_ENV_VULKAN_1_1_SPIRV_1_4;
enum enum
{ {
......
...@@ -399,7 +399,8 @@ static const VkExtensionProperties deviceExtensionProperties[] = { ...@@ -399,7 +399,8 @@ static const VkExtensionProperties deviceExtensionProperties[] = {
{ VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME, VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION }, { VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME, VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION },
{ VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION }, { VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
{ VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION }, { VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION },
{ VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION } { VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION },
{ VK_KHR_SPIRV_1_4_EXTENSION_NAME, VK_KHR_SPIRV_1_4_SPEC_VERSION },
}; };
static bool hasExtension(const char *extensionName, const VkExtensionProperties *extensionProperties, uint32_t extensionPropertiesCount) static bool hasExtension(const char *extensionName, const VkExtensionProperties *extensionProperties, uint32_t extensionPropertiesCount)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment