一、问题描述

AMD的FSR技术是一种超分辨率游戏图像增强技术,在Github代码托管网站上以GPUopen的身份提供了开源代码和示例程序。示例程序提供Vulkan版本和DX12版本的可执行文件,仅支持DX11的显卡无法正常运行示例程序。本文提供一个从开源代码到示例程序的项目编译过程,供读者学习参考。

二、源码文件准备

1. 下载FSR源码文件(主程序源码)

  • GPUOpen-Effects的FSR源码文件下载到本地。

(Github地址:GitHub - GPUOpen-Effects/FidelityFX-FSR: FidelityFX Super Resolution)

2. 下载Cauldron库(插件源码)

  • GPUOpen-LibrariesAndSDKs的Cauldron库放到 sample\libs\Cauldron 目录里。

(Github地址:GitHub - GPUOpen-LibrariesAndSDKs/Cauldron: A simple framework for rapid prototyping on Vulkan or Direct3D 12)

3. 下载Cauldron媒体库(模型资源)

  • GPUOpen-LibrariesAndSDKs的Cauldron-Media库下载放到步骤1的sample\media\Cauldron-Media 目录里。

(Github地址:GitHub - GPUOpen-LibrariesAndSDKs/Cauldron-Media: A selection of media files needed by Cauldron samples)

三、Visual Studio 准备

1. VisualStudio 安装Cmake组件

2. Visual Studio 安装Win10 SDK组件

3. CMake环境变量配置

  • 设置CMAKE_HOME_DIRECTORY环境变量(不含bin),否则后续无法生成源码的解决方案。
  • 如果是Visual Studio自带的CMAKE就直接写bin目录到Path就行了。

(例如 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin)

四、VulkunSDK 准备

下载安装VulkanSDK,设置环境变量“VULKAN_SDK”为安装路径,一般安装完也会自动设置的。

五、CMake编译过程

1. 编译流程说明

(必读)由于FSR所依赖的Cauldron也是源码,所以先编译Cauldron的源码,得到DX12和VK版本的Cauldron,编译完后保持原位置,然后同理再编译FSR的源码(流程如下图)。

下面以FSR的DX12版本编译为例子交代源码编译的两个步骤:(1)复原项目文件(2)打开Visual Studio开始编译,这个流程适用于Cauldron的编译和后续的FSR编译。

2. 复原项目文件

  • “CMD控制台”运行build目录下的GenerateSolution.bat。注意,直接双击运行无效。

3. 打开Visual Studio解决方案

  • 运行完批处理程序会出现两个文件夹,一个是DirectX 12 版本,一个是Vulkan版本。

  • 这里以DX12版本为例子,我们打开DX12文件夹会看到以下的文件。

  • 双击运行FSRSample_DX12.sln,打开Visual Studio。

  • 直接开始执行编译就好。

六、FSR示例程序运行

大功告成!

【AMD】FSR技术的源码编译过程相关推荐

  1. [前沿技术] AMD FSR 1.0源码分析(二)

    FSR技术分析 前文:[前沿技术] AMD FSR 1.0源码分析(一) 2. EASU源码分析 2.3 FsrEasuF分析 1️⃣首先,就参数而言,主要是: void FsrEasuF(out A ...

  2. LNMP架构详解(2)——Mysql、PHP、Nginx源码编译过程

    前言 本文将介绍LNMP架构中Mysql.PHP.Nginx的源码编译过程:这时有人不仅会问:在我们使用的Linux系统中,可以从yum源中获得mysql.php,为什么要进行如此漫长复杂的过程进行编 ...

  3. 【CMake】CMake 引入 ( Android Studio 创建 Native C++ 工程 | C/C++ 源码编译过程 | Makefile 工具 | CMake 引入 )

    文章目录 一.在 Android Studio 中创建 Native C++ 工程 二.C/C++ 源码编译过程 三.Makefile 工具 四.CMake 引入 该系列博客的应用场景是 Androi ...

  4. Cesium源码编译过程

    Cesium源码编译过程 文章目录 Cesium源码编译过程 1. 操作环境 2. 主要步骤 3. 参考链接 4. 源码扩展 1. 操作环境 NodeJS V12.12.0 Git 注:不需要全局安装 ...

  5. ubuntu10.04下audacious2.4源码编译过程(解决2.3cue的bug)

    本文最新版本:ubuntu10.04下audacious2.5源码编译过程 编译最新的2.4是为了解决ubuntu源中安装的audacious播放cue时有bug,会一直重复第一首歌 听ape的时候很 ...

  6. xilinx linux内核,Xilinx-Zynq Linux内核源码编译过程

    本文内容依据http://www.wiki.xilinx.com网址编写,编译所用操作系统为ubuntu 14 1.交叉编译环境的安装配置 2.uboot的编译 1)下载uboot源代码 下载uboo ...

  7. Android 4.1 (Jelly Bean) 源码编译过程总结

    昨天google官方发布了Android 4.1 Jelly Bean的源码,本人第一时间将源码托了下来(托了一个通宵),今天又花了一早上时间编译ROM并刷到自己的Galaxy Nexus中,虽说An ...

  8. android源码编译过程

    1.下载好android源码包. 2.装好vm,ubuntu(如果能在实体机装linux更好). 3.安装所需要的deb包 在终端执行如下命令: sudo apt-get install flex b ...

  9. [前沿技术] AMD FSR 1.0源码分析(一)

    文章目录 FSR技术分析 1. SIGGRAPH课程分析 1.1 源码介绍 1.2 EASU简单介绍 2. EASU源码分析 2.1 FsrEasuCon分析 2.2 FidelityFXSuperR ...

最新文章

  1. 【Android 应用开发】Activity 任务亲和性 taskAffinity 设置 ( taskAffinity 属性 )
  2. Python:glob模块
  3. ITK:可变长度向量
  4. CSS基础「二」复合选择器 / 元素显示模式 / 背景 / 三大特性
  5. nodejs通过响应回写的方式渲染页面资源
  6. 在IDEA中安装使用Antlr
  7. 搭建Harbor docker镜像仓库
  8. Robust performance of virtual sensing methods for active noise control 翻译
  9. php 的一元二次方程_php扩展 求解一元二次方程
  10. Justinmind6.X软件及汉化包下载地址
  11. 克隆虚拟机后无法连接网络的问题
  12. 让人舒心就是领导力和内在激励
  13. c语言求标准体重答案,c语言编写一个标准身高体重自测程序
  14. linux antivir,Linux下安装和使用杀毒软件AntiVir (1)
  15. 培育企业安全基因 永信至诚召开2016年企业安全人才能力提升解决方案发布会...
  16. Redis中的连接池以及在Springboot中的使用
  17. Pyqt5 pandas matplotlib network自用操作
  18. SSR(服务端渲染)、CSR(客户端渲染)和预渲染
  19. 代谢组学文献分享:地中海饮食、血浆代谢组和心血管疾病风险
  20. XP完美模拟Vista全攻略

热门文章

  1. 因此我们并不知道“小道消息”的微信账号到底有多少追随
  2. 往事随风,爱恨随意,对于21,倾“骑”所有!
  3. 【每日早报】2019/11/19
  4. 漫谈TCP Westwood和BBR
  5. iis php 0xc0000135,Django-IIS - FastCGI意外退出
  6. MIUI升级后短信铃声消失的解决方案
  7. 积极考研自救day1之leectode24点问题+今日份学习总结
  8. 黑客比程序员高在哪里?程序员厉害还是黑客厉害?
  9. 详解vue 路由跳转四种方式(转载)
  10. android开发 听筒模式,Android开发【06-29视频贴】切换听筒模式部分手机失效,怎么解决?...