25 Commits (a3f7914691810d672c5bb7db9ba2921ec92713bd)

Author SHA1 Message Date
Nico de Poel 299200cb9c Ported over jitter UV fixes from Snapdragon GitHub repo 1 year ago
Nico de Poel 9971d85ce4 Changed output texture formats from half to float, fixes Metal shader compilation issues on iOS 1 year ago
Nico de Poel df58df61d6 Reorganized shader code such that standard BiRP and PPV2 can share the same common code with only some light wrappers to implement the differences 1 year ago
Nico de Poel 72df347315 Reworked 2-pass FS implementation to integrate more directly with the PPV2 framework, allowing for multi-target rendering using the fullscreen triangle blit, which eliminates the need for an extra blit at the end. 1 year ago
Nico de Poel cac783bebc Working SGSR2 2-pass FS implementation, bit dirty but good enough for testing. 1 year ago
Nico de Poel 87237bbddc Initial conversion to HLSL 1 year ago
Nico de Poel a0fa2c9e60 First import of GLSL fragment shaders plus some initial Unity shader setup 1 year ago
Nico de Poel a56f0742b5 Further tweaked motion vector processing, now the camera motion vectors from Unity produce an exact match with the auto-generated motion from the clip-delta matrix, in both D3D, Vulkan and OpenGL. It also makes sense with regards to the flipped Y-coordinate in screen space now. The final result looks good now too. 1 year ago
Nico de Poel 05989857c0 Added an untested and as of yet unused HDRP include file, just as an expression of what this file will look like for SRPs 1 year ago
Nico de Poel d354d07d81 Added scaleRatio to unify the cbuffer definition for all shaders, including the fragment shader variant. 1 year ago
Nico de Poel ed566a8beb Empirically determined the best setup for motion vectors in OpenGL, though it still doesn't make a whole lot of sense. Added opt-in debug symbols line to the upscale shaders to make analysis easier. 1 year ago
Nico de Poel 4f8cf086bf More specifically, set NDC Y-coordinate to be up when the Unity graphics API has UV's starting at the top 1 year ago
Nico de Poel 5b203e7ef5 Set normalized device coordinates Y direction to be up, which is standard in Unity, and properly detect non-zero motion vector inputs. This *seems* to be the correct recipe. 1 year ago
Nico de Poel 19b2969e58 Added macros to change nearest-depth and depth-clipping logic based on whether the Unity graphics API uses reversed Z or not 1 year ago
Nico de Poel 8635b131f6 Renamed SGSR2 compute shader resources class, to allow an easier distinction between fragment and compute variants later on 1 year ago
Nico de Poel 8d6036c91c Moved a bunch of common definitions and functions into a separate file 1 year ago
Nico de Poel 0469bb921f Reverted use of CBUFFER_ macros, as it was breaking the shaders on Vulkan 1 year ago
Nico de Poel 3285c552f4 Verified motion vector "decoding" against the auto-generated camera MVs based on the clip-space delta matrix, and made a small fix 1 year ago
Nico de Poel c43c8d11f9 Reworked SGSR2 classes, moving more logic to the base class, and implemented clip-space delta matrix as well as the is-camera-still logic. 1 year ago
Nico de Poel 9bf6a12c97 Minor optimization: use half float types wherever the original GLSL code uses mediump floats. 1 year ago
Nico de Poel 7217b0fc32 Unity-fied all SGSR2 shaders by changing all texture declarations and accesses into TextureXR-style macros, with a shared BiRP definitions file. 1 year ago
Nico de Poel 14fa1bc7d2 Initial port of SGSR2 2-pass compute shaders to HLSL (untested) 1 year ago
Nico de Poel 708e4308c5 Consolidated SGSR2 shaders into single .compute files as there's not much point in using includes, and grouped them together into a 3-pass folder. This will make it easier to add the other variants later. 1 year ago
Nico de Poel 7a259062d8 Working SGSR2 3-pass: 1 year ago
Nico de Poel 5646e0a325 Added PoC SGSR2 upscaler 1 year ago