D689 - The device enables what the modules declare

Status: decided Date: 2026-09-14

The device requests shaderInt16, shaderFloat16 and fragmentStoresAndAtomics where the physical device offers them, and the capability report describes the enabled set, not the physical device's. The draw path binds the guest-memory storage buffers at set 0 as the compute path does.

Why: every emitted module declares 16-bit types, and a guest pixel shader writes guest memory. A pipeline using features the device never enabled draws on one driver and is invalid on the next, and nothing in the tests would notice. Reporting the enabled set keeps downstream code from building on a feature nobody asked for.

Rejected: