Handling the Creation of Multisampled Surfaces

When a multisampled surface is being created, the number of samples can be found in the ddsCapsEx.dwCaps3 of the DD_SURFACE_MORE structure. This field holds one of the values of the enumerated type D3DMULTISAMPLE_TYPE. It is not a bitfield like wFlipMSTypes or wBltMSTypes. If a surface is not multisampled, dwCaps3 has the value D3DMULTISAMPLE_NONE (0).

When determining whether a creation request for a multisample surface can be satisfied or not, the driver should not take into account the current value of the D3DRS_MULTISAMPLEANTIALIAS render state. It is not permissible for a driver to fail a request to set D3DRS_MULTISAMPLEANTIALIAS FALSE. Therefore, any restriction that affects the ability to perform multisample rendering should be enforced at context create time even if D3DRS_MULTISAMPLEANTIALIAS is FALSE at that time.