|
@@ -5765,22 +5765,28 @@ _SOKOL_PRIVATE void _sapp_emsc_wgpu_request_adapter_cb(WGPURequestAdapterStatus
|
|
SOKOL_ASSERT(adapter);
|
|
SOKOL_ASSERT(adapter);
|
|
_sapp.wgpu.adapter = adapter;
|
|
_sapp.wgpu.adapter = adapter;
|
|
size_t cur_feature_index = 1;
|
|
size_t cur_feature_index = 1;
|
|
- WGPUFeatureName requiredFeatures[8] = {
|
|
|
|
|
|
+ #define _SAPP_WGPU_MAX_REQUESTED_FEATURES (8)
|
|
|
|
+ WGPUFeatureName requiredFeatures[_SAPP_WGPU_MAX_REQUESTED_FEATURES] = {
|
|
WGPUFeatureName_Depth32FloatStencil8,
|
|
WGPUFeatureName_Depth32FloatStencil8,
|
|
};
|
|
};
|
|
// check for optional features we're interested in
|
|
// check for optional features we're interested in
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionBC)) {
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionBC)) {
|
|
|
|
+ SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES);
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionBC;
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionBC;
|
|
}
|
|
}
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionETC2)) {
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionETC2)) {
|
|
|
|
+ SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES);
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionETC2;
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionETC2;
|
|
}
|
|
}
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionASTC)) {
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_TextureCompressionASTC)) {
|
|
|
|
+ SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES);
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionASTC;
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_TextureCompressionASTC;
|
|
}
|
|
}
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_Float32Filterable)) {
|
|
if (wgpuAdapterHasFeature(adapter, WGPUFeatureName_Float32Filterable)) {
|
|
|
|
+ SOKOL_ASSERT(cur_feature_index < _SAPP_WGPU_MAX_REQUESTED_FEATURES);
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_Float32Filterable;
|
|
requiredFeatures[cur_feature_index++] = WGPUFeatureName_Float32Filterable;
|
|
}
|
|
}
|
|
|
|
+ #undef _SAPP_WGPU_MAX_REQUESTED_FEATURES
|
|
|
|
|
|
WGPUDeviceDescriptor dev_desc;
|
|
WGPUDeviceDescriptor dev_desc;
|
|
_sapp_clear(&dev_desc, sizeof(dev_desc));
|
|
_sapp_clear(&dev_desc, sizeof(dev_desc));
|