AMD Mantle API 是否已经可供开发人员使用?我们在哪里可以得到它?不能再等了。
阅读链接:
目前没有可用的官方 Mantle SDK,但有一个 beta 驱动程序(AMD Catalyst™ 14.1 Beta Driver for Windows)。Beta 驱动程序包含一个 mantle64.dll 和一个 mantleaxl64.dll 库。Dependency walker 提供了以下函数定义:
******** mantle64.dll ********
IcdDbgMessage
DllMain
grAllocMemory
grAttachImageViewDescriptors
grAttachMemoryViewDescriptors
grAttachNestedDescriptors
grAttachSamplerDescriptors
grBeginCommandBuffer
grBeginDescriptorSetUpdate
grBindObjectMemory
grClearDescriptorSetSlots
grCmdBeginQuery
grCmdBindDescriptorSet
grCmdBindDynamicMemoryView
grCmdBindIndexData
grCmdBindPipeline
grCmdBindStateObject
grCmdBindTargets
grCmdClearColorImage
grCmdClearColorImageRaw
grCmdClearDepthStencil
grCmdCloneImageData
grCmdCopyImage
grCmdCopyImageToMemory
grCmdCopyMemory
grCmdCopyMemoryToImage
grCmdDbgMarkerBegin
grCmdDbgMarkerEnd
grCmdDispatch
grCmdDispatchIndirect
grCmdDraw
grCmdDrawIndexed
grCmdDrawIndexedIndirect
grCmdDrawIndirect
grCmdEndQuery
grCmdFillMemory
grCmdInitAtomicCounters
grCmdLoadAtomicCounters
grCmdMemoryAtomic
grCmdPrepareImages
grCmdPrepareMemoryRegions
grCmdResetEvent
grCmdResetQueryPool
grCmdResolveImage
grCmdSaveAtomicCounters
grCmdSetEvent
grCmdUpdateMemory
grCmdWriteTimestamp
grCreateColorBlendState
grCreateColorTargetView
grCreateCommandBuffer
grCreateComputePipeline
grCreateDepthStencilState
grCreateDepthStencilView
grCreateDescriptorSet
grCreateDevice
grCreateEvent
grCreateFence
grCreateGraphicsPipeline
grCreateImage
grCreateImageView
grCreateMsaaState
grCreateQueryPool
grCreateQueueSemaphore
grCreateRasterState
grCreateSampler
grCreateShader
grCreateViewportState
grDbgRegisterMsgCallback
grDbgSetDeviceOption
grDbgSetGlobalOption
grDbgSetMessageFilter
grDbgSetObjectTag
grDbgSetValidationLevel
grDbgUnregisterMsgCallback
grDestroyDevice
grDestroyObject
grDeviceWaitIdle
grEndCommandBuffer
grEndDescriptorSetUpdate
grFreeMemory
grGetDeviceQueue
grGetEventStatus
grGetExtensionSupport
grGetFenceStatus
grGetFormatInfo
grGetGpuInfo
grGetImageSubresourceInfo
grGetMemoryHeapCount
grGetMemoryHeapInfo
grGetMultiGpuCompatibility
grGetObjectInfo
grGetQueryPoolResults
grInitAndEnumerateGpus
grLoadPipeline
grMapMemory
grOpenPeerImage
grOpenPeerMemory
grOpenSharedMemory
grOpenSharedQueueSemaphore
grPinSystemMemory
grQueueSetGlobalMemReferences
grQueueSubmit
grQueueWaitIdle
grRemapVirtualMemoryPages
grResetCommandBuffer
grResetEvent
grSetEvent
grSetMemoryPriority
grSignalQueueSemaphore
grStorePipeline
grUnmapMemory
grWaitForFences
grWaitQueueSemaphore
grWsiWinCreatePresentableImage
grWsiWinGetDisplayModeList
grWsiWinGetDisplays
grWsiWinGetScanLine
grWsiWinQueuePresent
grWsiWinReleaseFullscreenOwnership
grWsiWinSetGammaRamp
grWsiWinSetMaxQueuedFrames
grWsiWinTakeFullscreenOwnership
grWsiWinWaitForVerticalBlank
******** mantleaxl64.dll ********
DllMain
grAddPerfExperimentCounter
grAddPerfExperimentTrace
grCmdBeginPerfExperiment
grCmdBindBorderColorPalette
grCmdCopyOcclusionData
grCmdElse
grCmdEndIf
grCmdEndPerfExperiment
grCmdEndWhile
grCmdIf
grCmdInsertTraceMarker
grCmdResetMemoryPredication
grCmdResetOcclusionPredication
grCmdSetMemoryPredication
grCmdSetOcclusionPredication
grCmdWhile
grCreateAdvancedMsaaState
grCreateBorderColorPalette
grCreateFmaskImageView
grCreatePerfExperiment
grFinalizePerfExperiment
grGetExtensionLibraryVersion
grQueueDelay
grUpdateBorderColorPalette
一些假设:要初始化 Mantle,需要调用 grCreateDevice。使用渲染管道时,还需要调用 grCreateGraphicsPipeline。关闭应用程序时,需要通过 grDestroyDevice 销毁设备。图形管线对象需要通过 grDestroyObject 销毁。