Nico de Poel
c2f3bb7958
Fall back to biasColorMask if reactiveMask is empty, because Unity can't seem to make up its mind what either of these textures mean.
11 months ago
Nico de Poel
3a23f8d874
Await end of frame on the CPU before destroying a context, if the GPU has a dispatch queued on the current frame. Fixes remaining crashes in D3D12 and Vulkan when enabling/disabling the plugin too rapidly.
11 months ago
Nico de Poel
2a67bef38b
Added lock guards to all exported functions that interact with the features or the graphics contexts, as well as additional validity checks. Protects against most of Unity's weird unsafe behavior when using the plugin, fixing the majority of crashes.
11 months ago
Nico de Poel
639aac06e8
Implemented remainder of DX11 support
11 months ago
Nico de Poel
686c848760
Fixed clashing helper function names in DX11 and DX12, and fixed missing linker symbol in DX11
11 months ago
Nico de Poel
112beaa592
Implemented FSR2 for Vulkan, along with some initial bits for DX11
11 months ago
Nico de Poel
048ed98d12
Added DX11 and Vulkan headers and static libraries to the project
11 months ago
Nico de Poel
f4af0819c7
Isolated DX12-specific code, so that it can easily be replaced with alternative DX11 and Vulkan code.
11 months ago
Nico de Poel
4ea19e9852
Renamed FSR3 => FSR2
11 months ago
Nico de Poel
d822598778
Reimplemented upscaling using the older FSR2 API for DX12
11 months ago
Nico de Poel
eeb43bac2a
- Added an extra render event to allow setting all textures in one go, in a way that isn't stupid and inefficient
- Reverted texture table back to using intptr_t entries, so that all structs are render API-agnostic
11 months ago
Nico de Poel
3db46ba447
Made context destruction more consistent and safe against duplicate slot freeing
11 months ago
Nico de Poel
7444ef9846
Tying up some loose ends:
- Clean up lingering contexts on shutdown
- Set UAV state on output texture. Doesn't make any real difference but it seems to be the correct thing.
- Removed some TODOs
11 months ago
Nico de Poel
f53321bd43
Use ID3D12Resource pointers in the texture table, to remove some unnecessary casts
11 months ago
Nico de Poel
dafe81d108
Fixed bugs:
- Assign colorOutput texture to output
- Texture event passes texture IDs after all, so translate those to ID3D12Resource pointers
- Assign texture in End event, perform clear in Begin event. Fixes inputColor texture entry getting cleared.
11 months ago
Nico de Poel
cfcf81e50e
Implemented what should be the rest of the FSR3 feature set. Still untested.
11 months ago
Nico de Poel
bf13cda3ca
First bits of integration of FFX upgradable API for creating an upscaler context
11 months ago
Nico de Poel
9ac431209e
Implemented D3D12 Unity interface bits
11 months ago
Nico de Poel
2d5b133833
Implemented thread-safe allocation/freeing of feature slots, plus decoding of texture userdata
11 months ago
Nico de Poel
781b062fca
Created initial skeleton of FSR3 native render plugin, with all type declarations and stubbed-out public interface functions.
11 months ago