The Khronos Group released Vulkan 1.4.344 today with a new extension developed by Valve engineers Mike Blumenkrantz and Georg Lehmann. The VK_VALVE_shader_mixed_float_dot_product extension enables mixed precision dot product accumulate operations in shaders, allowing developers to perform calculations on lower precision inputs while maintaining higher precision for accumulation.
The extension builds on a new SPIR-V extension called SPV_VALVE_mixed_float_dot_product, which supports four different operation types. These include 2-component vectors of 16-bit float inputs with either 32-bit or 16-bit accumulation, 2-component vectors of bfloat16 inputs with 32-bit or bfloat16 accumulation, and 4-component vectors of 8-bit float inputs with 32-bit accumulation. This capability gives graphics programmers more flexibility in balancing performance and precision for shader calculations.
Beyond the new Valve extension, Vulkan 1.4.344 includes the usual assortment of specification fixes and clarifications. The update continues the regular maintenance cycle for the high-performance graphics and compute API.