NVIDIA đã hỗ trợ Vulkan API

Trong phiên bản driver card màn hình NVIDIA GeForce 358.66 Beta thì chúng tôi phát hiện ra rằng NVIDIA đã hỗ trợ Vulkan API cũng như GPU Pascal và Volta đã xuất hiện trong danh sách hỗ trợ của driver

Tags: card màn hình NVIDIA

NVIDIA đã hỗ trợ Vulkan API

NVIDIA đã hỗ trợ Vulkan API

Thật sự với phiên bản driver 358.66 Beta nầy cho chúng tôi quá nhiều bất ngờ, đầu tiên là việc NVIDIA đã hỗ trợ Vulkan API của Khronos cũng như OpenCL đã hỗ trợ cho GPU Pascal và Volta. Nên nhớ rằng Vulkan là dựa trên Mantle của AMD và nó đang âm mưu chiếm vị trí của DirectX 12. Quay trở lại 1 tí, chúng tôi biết rằng thật sự NVIDIA đang rất khó khăn trong việc chuẩn bị giới thiệu GPU Pascal và Volta vào năm 2016 và 2017 tới đây.

Phân tích OpenCL trong driver nầy, chúng tôi thấy có vài hàm mới:
++ -D__CUDA_ARCH__=700
++ -D__CUDA_ARCH__=600
++ -D__CUDA_ARCH__=610
++ -D__CUDA_ARCH__=620
++ -D__CUDA_ARCH__=500
++ -D__CUDA_ARCH__=300
++ -D__CUDA_ARCH__=210
++ -D__CUDA_ARCH__=200/100

500 là Maxwell, 700 chính là GPU Volta còn 6xx chính là Pascal. 300 chính là Kepler, 210 là Fermi còn 200/100 lại là Tesla.

Phân tích tiếp OpenCL thấy có chứa các thành phần mở rộng và chức năng sau:
++ VK_EXT_KHR_device_swapchain
++ VK_EXT_KHR_swapchain
++ vkCreateInstance
++ vkEnumerateInstanceExtensionProperties
++ vkGetDeviceProcAddr
++ vkGetInstanceProcAddr
++ vkGetProcAddressNV

Trong driver nầy có thêm file nv-vk32.dll mà có các chức năng sau:
++ vkAcquireNextImageKHR
++ vkCreateDevice
++ vkCreateSwapchainKHR
++ vkDestroySwapchainKHR
++ vkEnumerateDeviceExtensionProperties
++ vkGetDeviceProcAddr
++ vkGetPhysicalDeviceSurfaceSupportKHR
++ vkGetSurfaceFormatsKHR
++ vkGetSurfacePresentModesKHR
++ vkGetSurfacePropertiesKHR
++ vkGetSwapchainImagesKHR
++ vkQueuePresentKHR
++ vkCreateInstance
++ vkEnumerateInstanceExtensionProperties
++ vkGetPhysicalDeviceMemoryProperties
++ vkGetInstanceProcAddr
++ vkEnumeratePhysicalDevices
++ vkCreateImage
++ vkDestroyImage
++ vkAllocMemory
++ vkFreeMemory
++ vkBindImageMemory
++ vkGetImageMemoryRequirements
++ vkQueuePresentNV

Nhìn thì thấy rõ: vk là Vulkan chứ là gì nữa. Thôi kết thúc bài vì viết thêm bắt đầu khó dịch và khó hiểu rồi