11 个版本
0.1.11 | 2024年4月7日 |
---|---|
0.1.10 | 2024年4月7日 |
0.1.9 | 2024年2月12日 |
0.1.6 | 2023年10月3日 |
0.1.4 | 2023年9月28日 |
684 在 硬件支持 中排名
每月下载量 41
6.5MB
9K SLoC
为 FidelityFX Super Resolution 2 提供不安全的 Rust 绑定
Vulkan 伪代码
// Create the FSR interface
// The context created below should not out live the scratch buffer.
let mut scratch_buffer =
vec![0u8; fsr::vk::get_scratch_memory_size(&vk_instance, vk_physical_device)];
let interface = fsr::vk::get_interface(
&vk_entry,
&vk_instance,
vk_physical_device,
&mut scratch_buffer,
).unwrap();
// Create the FSR context
let context_desc = fsr::ContextDescription {
interface: fsr_interface,
device: &fsr::vk::get_device(vk_device),
display_size: [1920, 1080],
max_render_size: [1280, 720],
flags: fsr::InitializationFlagBits::ENABLE_HIGH_DYNAMIC_RANGE
message_callback: None,
};
let context = fsr::Context::new(context_desc).unwrap();
// Dispatch gpu work
let desc = fsr::DispatchDescription::new(
vk_command_list.into(),
color,
depth,
velocity,
output,
delta_time_s,
[1280, 720],
);
fsr_context.dispatch(desc).expect("Failed to dispatch fsr");
依赖项
~0.9–40MB
~585K SLoC