hunk.code_window: The EAS Update extension provides the ability to view and load published updates in your development client.
   It's now available for all development clients `v0.9.0` and above. In order to install it, you'll need the most recent publish of `expo-updates`:
   <Terminal cmd={['$ npx expo install expo-dev-client expo-updates']} />
   #### Configure EAS Update
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit: It's available for all development clients `v0.9.0` and above. To install it, you'll need the most recent publish of `expo-updates`:
  
hunk.file_path: docs/pages/develop/development-builds/development-workflows.mdx
hunk.type: replace
file: /*
   * Copyright 2021 Google LLC
   *
   * Use of this source code is governed by a BSD-style license that can be
   * found in the LICENSE file.
   */
  
  #ifndef skgpu_graphite_GraphiteTypes_DEFINED
  #define skgpu_graphite_GraphiteTypes_DEFINED
  
  #include "include/core/SkTypes.h"
  #include "include/gpu/GpuTypes.h"
  
  #include <memory>
  
  namespace skgpu::graphite {
  
  class Recording;
  
  using GpuFinishedContext = void*;
  using GpuFinishedProc = void (*)(GpuFinishedContext finishedContext, CallbackResult);
  
  /**
   * The fFinishedProc is called when the Recording has been submitted and finished on the GPU, or
   * when there is a failure that caused it not to be submitted. The callback will always be called
   * and the caller can use the callback to know it is safe to free any resources associated with
   * the Recording that they may be holding onto. If the Recording is successfully submitted to the
   * GPU the callback will be called with CallbackResult::kSuccess once the GPU has finished. All
   * other cases where some failure occured it will be called with CallbackResult::kFailed.
   */
  struct InsertRecordingInfo {
      Recording* fRecording = nullptr;
      GpuFinishedContext fFinishedContext = nullptr;
      GpuFinishedProc fFinishedProc = nullptr;
  };
  
  /**
   * Actually submit work to the GPU and track its completion
   */
  enum class SyncToCpu : bool {
      kYes = true,
      kNo = false
  };
  
  /**
   * Is the texture mipmapped or not
   */
  enum class Mipmapped : bool {
      kNo = false,
      kYes = true,
  };
  
  } // namespace skgpu::graphite
  
  #endif // skgpu_graphite_GraphiteTypes_DEFINED
  