AMD Mantle API 学习笔记 -- Mantle初始化

本文是作者研究AMD Mantle API的心得,作为学习Vulkan的铺垫。介绍了如何初始化Mantle,包括调用`grInitAndEnumerateGpus()`和`grGetGpuInfo()`获取GPU信息,以及创建Device和Queue的基本概念。重点讨论了Device与Queue的关系,以及在图形API中的应用,为后续的Mantle学习打下基础。
摘要由CSDN通过智能技术生成

本系列文章是笔者研究mantle的一些心得;其目的是为了学习新的图形API标准Vulkan。因为Vulkan还没有正式发布,而它事实上是基于mantle的,所以研究mantle可以让我们对新一代图形标准(Vulkan和D3D12)有一个提前认识。在Vulkan正式发布后,笔者也会写一系列的文章来介绍Vulkan。事实上,mantle的API函数都是以gr开头的;而Vulkan很多API只是简单的替换为vk开头而已。这进一步说明学习mantle的价值。

要学习一个新的API,最好就是用它来写个简单的demo。国外有位牛人已经写了个mantle版的Hello World:Implementing Hello Triangle with Mantle。这个例子的代码在:MantleHelloTriangle。笔者接下来的文章都是基于这个例子,试着把mantle的一系列基本概念剖析一下。


初始化Mantle

使用mantle首先要初始化;主要是调用“grInitAndEnumerateGpus()”来获取系统中所有GPU的handle,然后调用”grGetGpuInfo()”得到每个物理GPU的属性。另外还可以获取GPU_PERFORMANCE的特性,这样Apps可以根据这些信息来选择使用哪个GPU。

    GR_CHAR appName[] = "HelloWorld";
    GR_APPLICATION_INFO appInfo = {};
    appInfo.pAppName = appName;
    appInfo.pEngineName = appName;
    appInfo.apiVersion = GR_API_VERSION;

    // initialize 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值