Changeset 105264 in vbox for trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
- Timestamp:
- Jul 10, 2024 4:37:59 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
r105118 r105264 849 849 } 850 850 851 static int dxFormatAllowMultisample(DXGI_FORMAT dxgiFormat) 852 { 853 /* Windows 11 guest does not allow multisample flag for a number of formats. 854 * D3D11 implementation on non-Windows hosts might return such flag. 855 */ 856 switch (dxgiFormat) 857 { 858 case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: 859 case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: 860 case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: 861 case DXGI_FORMAT_X24_TYPELESS_G8_UINT: 862 return false; 863 default: break; 864 } 865 return true; 866 } 867 851 868 static int vmsvgaDXCheckFormatSupport(PVMSVGA3DSTATE pState, SVGA3dSurfaceFormat enmFormat, uint32_t *pu32DevCap) 852 869 { … … 893 910 UINT NumQualityLevels; 894 911 hr = pDevice->CheckMultisampleQualityLevels(dxgiFormat, 2, &NumQualityLevels); 895 if (SUCCEEDED(hr) && NumQualityLevels != 0 )912 if (SUCCEEDED(hr) && NumQualityLevels != 0 && dxFormatAllowMultisample(dxgiFormat)) 896 913 *pu32DevCap |= SVGA3D_DXFMT_MULTISAMPLE; 897 914 }
Note:
See TracChangeset
for help on using the changeset viewer.