diff --git a/src/Pipeline/SpirvShaderImage.cpp b/src/Pipeline/SpirvShaderImage.cpp
index 30bc61b..c82d576 100644
--- a/src/Pipeline/SpirvShaderImage.cpp
+++ b/src/Pipeline/SpirvShaderImage.cpp
@@ -238,6 +238,13 @@
 		imageOperands &= ~spv::ImageOperandsVolatileTexelMask;
 	}
 
+	if(imageOperands & spv::ImageOperandsNontemporalMask)
+	{
+		// Hints that the accessed texels are not likely
+		// to be accessed again in the near future.
+		imageOperands &= ~spv::ImageOperandsNontemporalMask;
+	}
+
 	// There should be no remaining image operands.
 	if(imageOperands != 0)
 	{
diff --git a/src/Vulkan/VkConfig.hpp b/src/Vulkan/VkConfig.hpp
index f0816b8..fba81b4 100644
--- a/src/Vulkan/VkConfig.hpp
+++ b/src/Vulkan/VkConfig.hpp
@@ -27,9 +27,9 @@
 #define SWIFTSHADER_DEVICE_NAME "SwiftShader Device"  // Max length: VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
 #define SWIFTSHADER_UUID "SwiftShaderUUID"            // Max length: VK_UUID_SIZE (16)
 
-constexpr spv_target_env SPIRV_VERSION = SPV_ENV_VULKAN_1_2;
+constexpr spv_target_env SPIRV_VERSION = SPV_ENV_VULKAN_1_3;
 
-constexpr uint32_t API_VERSION = VK_API_VERSION_1_2;
+constexpr uint32_t API_VERSION = VK_API_VERSION_1_3;
 constexpr uint32_t DRIVER_VERSION = VK_MAKE_VERSION(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION);
 constexpr uint32_t VENDOR_ID = 0x1AE0;  // Google, Inc.: https://pcisig.com/google-inc-1
 constexpr uint32_t DEVICE_ID = 0xC0DE;  // SwiftShader (placeholder)
diff --git a/src/Vulkan/VkGetProcAddress.cpp b/src/Vulkan/VkGetProcAddress.cpp
index a8d4651..c34ffac 100644
--- a/src/Vulkan/VkGetProcAddress.cpp
+++ b/src/Vulkan/VkGetProcAddress.cpp
@@ -103,6 +103,8 @@
 	MAKE_VULKAN_INSTANCE_ENTRY(vkSetDebugUtilsObjectNameEXT),
 	MAKE_VULKAN_INSTANCE_ENTRY(vkSetDebugUtilsObjectTagEXT),
 	MAKE_VULKAN_INSTANCE_ENTRY(vkSubmitDebugUtilsMessageEXT),
+	// VK_EXT_tooling_info
+	MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceToolProperties),
 #ifndef __ANDROID__
 	// VK_KHR_surface
 	MAKE_VULKAN_INSTANCE_ENTRY(vkDestroySurfaceKHR),
@@ -331,6 +333,50 @@
 	// VK_KHR_draw_indirect_count
 	MAKE_VULKAN_DEVICE_ENTRY(vkCmdDrawIndirectCount),
 	MAKE_VULKAN_DEVICE_ENTRY(vkCmdDrawIndexedIndirectCount),
+	// Vulkan 1.3 Entry point functions
+	// VK_KHR_copy_commands2
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdCopyBuffer2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdCopyImage2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdCopyBufferToImage2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdCopyImageToBuffer2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdBlitImage2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdResolveImage2),
+	// VK_KHR_dynamic_rendering
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdBeginRendering),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdEndRendering),
+	// VK_KHR_maintenance4
+	MAKE_VULKAN_DEVICE_ENTRY(vkGetDeviceBufferMemoryRequirements),
+	MAKE_VULKAN_DEVICE_ENTRY(vkGetDeviceImageMemoryRequirements),
+	MAKE_VULKAN_DEVICE_ENTRY(vkGetDeviceImageSparseMemoryRequirements),
+	// VK_KHR_synchronization2
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetEvent2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdResetEvent2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdWaitEvents2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdPipelineBarrier2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdWriteTimestamp2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkQueueSubmit2),
+	// VK_EXT_extended_dynamic_state
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetCullMode),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetFrontFace),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetPrimitiveTopology),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetViewportWithCount),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetScissorWithCount),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdBindVertexBuffers2),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetDepthTestEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetDepthWriteEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetDepthCompareOp),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetDepthBoundsTestEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetStencilTestEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetStencilOp),
+	// VK_EXT_extended_dynamic_state2 (partial promotion, VKCmdSetLogicOpEXT and VKCmdSetPatchControlPointsEXT are not promoted)
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetRasterizerDiscardEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetDepthBiasEnable),
+	MAKE_VULKAN_DEVICE_ENTRY(vkCmdSetPrimitiveRestartEnable),
+	// VK_EXT_private_data
+	MAKE_VULKAN_DEVICE_ENTRY(vkCreatePrivateDataSlot),
+	MAKE_VULKAN_DEVICE_ENTRY(vkDestroyPrivateDataSlot),
+	MAKE_VULKAN_DEVICE_ENTRY(vkSetPrivateData),
+	MAKE_VULKAN_DEVICE_ENTRY(vkGetPrivateData),
 };
 
 // TODO(b/208256248): Avoid exit-time destructor.
diff --git a/src/Vulkan/VkPhysicalDevice.cpp b/src/Vulkan/VkPhysicalDevice.cpp
index 5163496..bf7a1fe 100644
--- a/src/Vulkan/VkPhysicalDevice.cpp
+++ b/src/Vulkan/VkPhysicalDevice.cpp
@@ -579,6 +579,10 @@
 		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
 			getPhysicalDeviceMaintenance4Features(reinterpret_cast<struct VkPhysicalDeviceMaintenance4Features *>(curExtension));
 			break;
+		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
+			// Workaround for a test bug (see https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3564)
+			reinterpret_cast<struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>(curExtension)->texelBufferAlignment = VK_TRUE;
+			break;
 		case VK_STRUCTURE_TYPE_MAX_ENUM:  // TODO(b/176893525): This may not be legal. dEQP tests that this value is ignored.
 			break;
 		default:
@@ -1317,6 +1321,8 @@
 {
 	getSubgroupSizeControlProperties(properties);
 	getInlineUniformBlockProperties(properties);
+	properties->maxInlineUniformTotalSize = properties->maxInlineUniformBlockSize *
+	                                        properties->maxDescriptorSetInlineUniformBlocks;
 	getShaderIntegerDotProductProperties(properties);
 	getTexelBufferAlignmentProperties(properties);
 	getMaintenance4Properties(properties);
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index cfc15b8..2019b87 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -1044,6 +1044,10 @@
 		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
 		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
 		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
+			break;
+		case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
+			// Workaround for a test bug (see https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3564)
 			break;
 		default:
 			// "the [driver] must skip over, without processing (other than reading the sType and pNext members) any structures in the chain with sType values not defined by [supported extenions]"
diff --git a/tests/VulkanUnitTests/BasicTests.cpp b/tests/VulkanUnitTests/BasicTests.cpp
index 9629212..b9e0767 100644
--- a/tests/VulkanUnitTests/BasicTests.cpp
+++ b/tests/VulkanUnitTests/BasicTests.cpp
@@ -62,7 +62,7 @@
 TEST_F(BasicTest, Version)
 {
 	uint32_t apiVersion = 0;
-	uint32_t expectedVersion = static_cast<uint32_t>(VK_API_VERSION_1_2);
+	uint32_t expectedVersion = static_cast<uint32_t>(VK_API_VERSION_1_3);
 	VkResult result = driver.vkEnumerateInstanceVersion(&apiVersion);
 	EXPECT_EQ(apiVersion, expectedVersion);
 
