diff options
Diffstat (limited to 'sokol_app.h')
| -rw-r--r-- | sokol_app.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sokol_app.h b/sokol_app.h index ccfd7a84..db2e8dcb 100644 --- a/sokol_app.h +++ b/sokol_app.h @@ -4122,7 +4122,7 @@ _SOKOL_PRIVATE void _sapp_wgpu_request_device_cb(WGPURequestDeviceStatus status, _SOKOL_PRIVATE void _sapp_wgpu_create_device_and_swapchain(void) { SOKOL_ASSERT(_sapp.wgpu.adapter); size_t cur_feature_index = 1; - #define _SAPP_WGPU_MAX_REQUESTED_FEATURES (8) + #define _SAPP_WGPU_MAX_REQUESTED_FEATURES (16) WGPUFeatureName requiredFeatures[_SAPP_WGPU_MAX_REQUESTED_FEATURES] = { WGPUFeatureName_Depth32FloatStencil8, }; @@ -4143,6 +4143,10 @@ _SOKOL_PRIVATE void _sapp_wgpu_create_device_and_swapchain(void) { SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES); requiredFeatures[cur_feature_index++] = WGPUFeatureName_Float32Filterable; } + if (wgpuAdapterHasFeature(_sapp.wgpu.adapter, WGPUFeatureName_DualSourceBlending)) { + SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES); + requiredFeatures[cur_feature_index++] = WGPUFeatureName_DualSourceBlending; + } #undef _SAPP_WGPU_MAX_REQUESTED_FEATURES WGPULimits adapterLimits = WGPU_LIMITS_INIT; @@ -4515,6 +4519,7 @@ _SOKOL_PRIVATE void _sapp_vk_create_device(void) { required.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; required.pNext = &vk13_features; required.features.samplerAnisotropy = VK_TRUE; + required.features.dualSrcBlend = VK_TRUE; if (supports.features.textureCompressionBC) { required.features.textureCompressionBC = VK_TRUE; } |