radv: expose VK_EXT_scalar_block_layout
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 5 Dec 2018 12:48:36 +0000 (13:48 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 5 Dec 2018 16:38:20 +0000 (17:38 +0100)
Nothing to do, the compiler already handles that.

All new dEQP.VK.ubo.* and dEQP.VK.ssbo.* pass, except some
16-bit tests that are quite related to fdo bug #108114.

Only enable the extension on CIK+ because it might not work on SI.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_extensions.py

index ad057a875090935f59b8c1e7cb59c53df621c622..c4f0a42f5fa28e80e1bcb05dc00830e4418ee1f5 100644 (file)
@@ -848,6 +848,12 @@ void radv_GetPhysicalDeviceFeatures2(
                        features->geometryStreams = true;
                        break;
                }
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: {
+                       VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *features =
+                               (VkPhysicalDeviceScalarBlockLayoutFeaturesEXT *)ext;
+                       features->scalarBlockLayout = pdevice->rad_info.chip_class >= CIK;
+                       break;
+               }
                default:
                        break;
                }
index 6bdf988d117eb38cb3fc6308232acc87cab17e58..075e0698ccafe42ab7631b6fe226ba0cac7b8912 100644 (file)
@@ -107,6 +107,7 @@ EXTENSIONS = [
     Extension('VK_EXT_global_priority',                   1, 'device->rad_info.has_ctx_priority'),
     Extension('VK_EXT_pci_bus_info',                      1, True),
     Extension('VK_EXT_sampler_filter_minmax',             1, 'device->rad_info.chip_class >= CIK'),
+    Extension('VK_EXT_scalar_block_layout',               1, 'device->rad_info.chip_class >= CIK'),
     Extension('VK_EXT_shader_viewport_index_layer',       1, True),
     Extension('VK_EXT_shader_stencil_export',             1, True),
     Extension('VK_EXT_transform_feedback',                1, True),