مؤخرا أعلنت شركة Khronos إطلاق الإصدار الجديد من مواصفات Vulkan 1.2 ، وهو ما يعرف باسم واجهة برمجة تطبيقات للوصول إلى إمكانات الرسومات والحوسبة لوحدة معالجة الرسومات. تم دمج التصحيحات والتمديدات المتراكمة على مدى عامين في المواصفات الجديدة.
VULKAN يتميز بتبسيط كبير للسائقين، جلب توليد أوامر GPU إلى جانب التطبيق ، والقدرة على توصيل طبقات التصحيح ، توحيد API لمنصات متعددة واستخدم تمثيل الرمز الأوسط المترجم مسبقًا للتنفيذ على جانب وحدة معالجة الرسومات.
الميزات الجديدة الرئيسية لـ Vulkan 1.2
يبرز ذلكه تنفيذ لغة برمجة HLSL shader تم تطويره بواسطة Microsoft لـ DirectX جاهز للاستخدام العام (يتيح دعم HLSL في Vulkan استخدام تظليل HLSL فقط في التطبيقات المستندة إلى Vulkan و DirectX ، كما يبسط الترجمة من HLSL إلى SPIR-V.)
يُقترح استخدام مترجم DXC القياسي لتجميع التظليل ، الذي تم افتتاحه بواسطة Microsoft في عام 2017 ويستند إلى تقنية LLVM. يتم تنفيذ دعم Vulkan من خلال خلفية منفصلة ، والتي تسمح بترجمة HLSL إلى تمثيل وسيط لتظليل SPIR-V.
لا يغطي التنفيذ فقط جميع الميزات المضمنة في HLSL ، بما في ذلك الأنواع الرياضية ، وتدفقات التحكم ، والوظائف ، والمجموعات ، وأنواع الموارد ، ومساحات الأسماء ، ونموذج Shader 6.2 ، والهياكل والطرق ، ولكنه يسمح أيضًا باستخدام امتدادات محددة من Vulkan ، مثل VKRay من NVRIA.
في وضع HLSL فوق فولكان ، كان من الممكن تنظيم عمل ألعاب مثل Destiny 2 و Red Dead Redemption II و Assassin's Creed Odyssey و Tomb Raider.
بالإضافة إلى ذلك وتجدر الإشارة إلى أنه تم تحديث مواصفات SPIR-V 1.5 ، التي تحدد تمثيلًا وسيطًا عالميًا للتظليل لجميع الأنظمة الأساسية ، والتي يمكن استخدامها لكل من الرسوميات والحوسبة المتوازية.
تتضمن Vulkan core API 23 امتدادًا لزيادة الإنتاجيةوتحسين جودة العرض وتبسيط التطوير.
يمكننا أن نجد منهم إشارة الخط الزمني: التي توحد المزامنة مع قوائم انتظار المضيف والجهاز (تسمح بالقيام بعمل بدائي للمزامنة متعددة الاتجاهات بين الجهاز والمضيف ، دون استخدام أساسيات VkFence و VkSemaphore منفصلة).
يتم تمثيلها من خلال قيمة 64 بت متزايدة بشكل رتيب يمكن تتبعها وتحديثها من خلال مؤشرات ترابط متعددة.
تم إعداد إصدارات أقصر من المواصفات للأنظمة الأساسية المستهدفة النموذجيةيعمل هذا على تبسيط العمل على الأنظمة الأساسية التي لم يتم دعم جميع الإضافات لها حتى الآن ، ويسمح لك بتجاوز التنشيط الانتقائي للقدرات الأساسية لواجهة Vulkan API.
من التغييرات الأخرى التي تبرز:
- استمر العمل في مشروع قابلية النقل باستخدام واجهات برمجة تطبيقات رسومية أخرى.
- القدرة على استخدام الأنواع الرقمية في التظليل بدقة منخفضة
- خيار تخطيط ذاكرة متوافق مع HLSL
- الموارد غير المقيدة (غير المقيدة) التي تزيل الحد من كمية الموارد المتاحة للتظليل باستخدام المساحة الافتراضية المشتركة لذاكرة النظام وذاكرة وحدة معالجة الرسومات
- نموذج ذاكرة رسمي يحدد كيفية وصول سلاسل العمليات المتوازية إلى البيانات المشتركة وعمليات المزامنة
- واصفات الفهرسة لإعادة استخدام واصفات التصميم عبر تظليلات متعددة ؛
- الارتباطات العازلة.
- قائمة كاملة من الإضافات المضافة
- تمت إضافة أكثر من 50 هيكلًا جديدًا و 13 وظيفة
أخيرًا ، فيما يتعلق بالخطط المستقبلية ، يبرز تطوير ملحقات التعلم الآلي ، وتتبع الأشعة ، وترميز الفيديو وفك تشفيره ، ودعم VRS (تظليل السرعة المتغير) والتظليل الشبكي.
أصدرت Intel و AMD و ARM و Imagination Technologies و NVIDIA برامج تشغيل بالفعل التي تدعم الإصدار الجديد من Vulkan.
في حين أن حالة طاولة (برامج تشغيل مجانية) ، بحد ذاتها يقدم دعم Vulkan 1.2 لسائقي RADV (بطاقات AMD) وبرامج تشغيل ANV (Intel). يتم تنفيذ دعم Vulkan 1.2 أيضًا في مصحح أخطاء RenderDoc 1.6 ، و LunarG Vulkan SDK ، ومجموعة من عينات Vulkan.