Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Will MetalFX Upscaling be supported?

Discussion in 'macOS' started by alex_bussman, Jul 8, 2022.

  1. alex_bussman

    alex_bussman

    Joined:
    Aug 15, 2013
    Posts:
    5
    With all the great improvements of Metal 3 with upcoming macOS and iOS like resolution upscaling, offline shader compilation and much more.

    Are there any plans to implement these in a future Unity release?

    It could be a huge performance boost on all Apple platforms.
     
    Squize, blueivy, moo1210 and 4 others like this.
  2. Alejandro-Martinez-Chacin

    Alejandro-Martinez-Chacin

    Joined:
    Oct 15, 2013
    Posts:
    144
    Thanks for starting this thread, here's hoping that the ones that get a hand at potentially making it happen see this.

    I had started watching the WWDC vids related to this, the explain best practices (i.e. better to have a smaller but antialiased image source than a larger noisier one) for the two types of upscaling and they seem to have made it quite easy: the static upscaler (i.e. non-temporal one) looks like just one class that's fed an input image, an output place to get the results, etc.
    All the gpu command buffer encoders and trickery is handled under the hood.

    Here's the catch, it's 'easy' because it's all inside iOS/macOS land, however with Unity itself, I have no clue how to communicate to any of that, trigger the action, get the results... not to mention that Unity itself has it's own command buffer objects running. Would there be a way to send that to the Swift/Objective-C side, let it run its thing and then receive the result as a callback?

    Once it's out of Beta I might bang my head on it a bit but I have no hopes to get anywhere to be honest.

    Here's hoping for a "#if UNITY_iOS" post process step that upscale it all at the right step (has to be ideally before noisy effects like grain, dust speckles, glitchy things, vignette, etc)
     
  3. moo1210

    moo1210

    Joined:
    Sep 12, 2020
    Posts:
    3
    I just asked about this in the SRP Dev Blitz. We'll see what response that gets. I would also recommend suggesting it on the roadmap.