public async Task LoadOverrideAsync([CanBeNull] byte[] data, Device device) { var id = ++_overrideId; try { var resource = data == null ? null : await Task.Run(() => ShaderResourceView.FromMemory(device, data)); if (id != _overrideId) return; Override = resource; } catch (Exception) { if (id != _overrideId) return; Override = null; } }
private async Task <bool> LoadOverrideAsync(IDeviceContextHolder contextHolder, RenderableTexture texture, string textureName) { var overrided = await GetOverridedDataAsync(textureName); if (overrided == null) { return(false); } texture.LoadOverrideAsync(contextHolder, overrided).Forget(); return(true); }