Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle 2024-08 spec. rename of image copy APIs #6618

Commits on Nov 26, 2024

  1. refactor!: handle 2024-08 spec. rename of image copy APIs

    This commit was authored by running the following Nushell script, using
    the `nu` binary and the lovely `fastmod` tool:
    
    ```nushell
    # Copy-pasted from the OP in [`gpuweb`gfx-rs#4838](gpuweb/gpuweb#4838).
    let renames_table = '
    Type 	Old 	New 	Used in
    dict 	GPUImageDataLayout 	GPUTexelCopyBufferLayout 	"writeTexture,
    parent type of ↙"
    dict 	GPUImageCopyBuffer 	"GPUTexelCopyBufferInfo
    extends ↑" 	T2B, B2T
    dict 	GPUImageCopyTexture 	GPUTexelCopyTextureInfo 	T2B, B2T, T2T, writeTexture
    dict 	GPUImageCopyTextureTagged 	"GPUCopyExternalImageDestInfo
    extends ↑" 	copyExternalImageToTexture
    dict 	GPUImageCopyExternalImage 	GPUCopyExternalImageSourceInfo 	copyExternalImageToTexture
    union 	GPUImageCopyExternalImageSource 	GPUCopyExternalImageSource 	member of ↖
    '
    
    let renames_table = $renames_table
      | from tsv
      | select 'Old ' 'New '
      | rename old new
      | update new { $in | lines | get 0 } # only the first line has the renamed symbol identifier
      | update old { strip_gpu_prefix | str trim }
      | update new { strip_gpu_prefix | str trim }
      | sort-by old | reverse # Replace most specific symbol names first (some have the same "word segments" but with fewer segments)
    
    def strip_gpu_prefix []: string -> string {
      $in | str replace --regex '^GPU' ''
    }
    
    # Rename image APIs.
    for entry in $renames_table {
      fastmod --accept-all --fixed-strings $entry.old $entry.new --iglob '!CHANGELOG.md' --iglob "!xtask/src/vendor_web_sys.rs" --iglob '!wgpu/src/backend/webgpu/webgpu_sys/' --iglob '!deno_webgpu/' --iglob '!wgpu/src/backend/webgpu.rs'
    }
    cargo fmt
    ```
    
    …and cleaning up `deno_webgpu/`'s Rust compilation errors.
    ErichDonGubler committed Nov 26, 2024
    Configuration menu
    Copy the full SHA
    e7d447d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    777b02f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    748196c View commit details
    Browse the repository at this point in the history