pub unsafe extern "C" fn validator_options_set_scalar_block_layout(
opts: *mut ValidatorOptions,
toggle: bool
)
Expand description
Records whether the validator should use “scalar” block layout rules. Scalar layout rules are more permissive than relaxed block layout.
See Vulkan extnesion VK_EXT_scalar_block_layout. The scalar alignment is defined as follows:
- scalar alignment of a scalar is the scalar size
- scalar alignment of a vector is the scalar alignment of its component
- scalar alignment of a matrix is the scalar alignment of its component
- scalar alignment of an array is the scalar alignment of its element
- scalar alignment of a struct is the max scalar alignment among its members
For a struct in Uniform, StorageClass, or PushConstant:
- a member Offset must be a multiple of the member’s scalar alignment
- ArrayStride or MatrixStride must be a multiple of the array or matrix scalar alignment