تم نشر معيار الرسومات Vulkan 1.2

اتحاد Khronos، الذي يقوم بتطوير معايير الرسومات،
نشرت تخصيص فولكان إكسنومكس، والذي يحدد واجهة برمجة التطبيقات (API) للوصول إلى إمكانيات الرسومات والحوسبة الخاصة بوحدة معالجة الرسومات. تتضمن المواصفات الجديدة التصحيحات المتراكمة على مدى عامين و توسع. برامج التشغيل التي تدعم الإصدار الجديد من Vulkan موجودة بالفعل صدر شركة إنتل, AMD، ARM، تقنيات الخيال و NVIDIA. تقدم Mesa دعم Vulkan 1.2 للسائقين رادف (بطاقات AMD) و ANV (شركة انتل). يتم أيضًا تطبيق دعم Vulkan 1.2 في مصحح الأخطاء رندر دوك 1.6, LunarG فولكان SDK ومجموعة من الأمثلة عينات فولكان.

رئيسي الابتكارات:

  • جلبت لك تنفيذ لغة برمجة التظليل حتى تصبح جاهزة للاستخدام على نطاق واسع HLSL، تم تطويره بواسطة Microsoft لـ DirectX. يتيح دعم HLSL في Vulkan إمكانية استخدام نفس تظليل HLSL في التطبيقات المستندة إلى Vulkan وDirectX، كما يبسط أيضًا الترجمة من HLSL إلى SPIR-V. لتجميع التظليل، يقترح استخدام مترجم قياسي
    DXCوالذي افتتحته شركة مايكروسوفت عام 2017 ويعتمد على تقنية LLVM. يتم تنفيذ دعم Vulkan من خلال واجهة خلفية منفصلة، ​​مما يسمح لك بترجمة HLSL إلى تمثيل وسيط لتظليل SPIR-V. لا يغطي التنفيذ جميع القدرات المضمنة فقط
    HLSL، بما في ذلك الأنواع الرياضية، وتدفقات التحكم، والوظائف، والمجموعات، وأنواع الموارد، ومساحات الأسماء، وShader Model 6.2، والهياكل والأساليب، ولكنه يسمح أيضًا باستخدام الامتدادات الخاصة بـ Vulkan مثل VKRay من NVIDIA. وفي وضع HLSL أعلى Vulkan، كان من الممكن تنظيم عمل ألعاب مثل Destiny 2 وRed Dead Redemption II وAssassin’s Creed Odyssey وTomb Raider.

    تم نشر معيار الرسومات Vulkan 1.2

  • تم تحديث المواصفات سبير-V 1.5، والذي يحدد تمثيلًا وسيطًا للتظليل وهو عالمي لجميع الأنظمة الأساسية ويمكن استخدامه لكل من الرسومات والحوسبة المتوازية.
    يتضمن SPIR-V فصل مرحلة تجميع تظليل منفصلة إلى تمثيل متوسط، مما يسمح لك بإنشاء واجهات أمامية للعديد من اللغات عالية المستوى. استنادًا إلى العديد من التطبيقات عالية المستوى، يتم إنشاء رمز وسيط واحد بشكل منفصل، والذي يمكن استخدامه بواسطة برامج تشغيل OpenGL وVulkan وOpenCL دون استخدام مترجم التظليل المدمج.

    تم نشر معيار الرسومات Vulkan 1.2

  • تتضمن واجهة برمجة تطبيقات Vulkan الأساسية 23 امتدادًا تعمل على زيادة الأداء وتحسين جودة العرض وتبسيط عملية التطوير. من بين الإضافات المضافة:
    • الإشارات الزمنية (إشارة الخط الزمني)، وتوحيد المزامنة مع قوائم انتظار المضيف والجهاز (مما يسمح لك باستخدام بدائي واحد للمزامنة شاملة الاتجاهات بين الجهاز والمضيف، دون استخدام بدايات VkFence وVkSemaphore المنفصلة). يتم تمثيل الإشارات الجديدة بقيمة 64 بت متزايدة بشكل رتيب والتي يمكن تتبعها وتحديثها عبر سلاسل رسائل متعددة.
      تم نشر معيار الرسومات Vulkan 1.2

    • القدرة على استخدام الأنواع الرقمية بدقة منخفضة في التظليل؛
    • خيار تخطيط الذاكرة المتوافق مع HLSL؛
    • الموارد غير المرتبطة (غير المرتبطة)، والتي تزيل القيود المفروضة على عدد الموارد المتاحة للتظليل باستخدام المساحة الافتراضية المشتركة لذاكرة النظام وذاكرة وحدة معالجة الرسومات؛
    • نموذج الذاكرة الرسميةالذي يحدد كيف يمكن للخيوط المتزامنة الوصول إلى البيانات المشتركة وعمليات المزامنة؛
    • فهرسة الواصفات لإعادة استخدام واصفات التخطيط عبر تظليلات متعددة؛
    • روابط المخزن المؤقت.

    القائمة الكاملة للإضافات المضافة:

  • تمت الإضافة أكثر من 50 هيكلًا جديدًا و13 وظيفة؛
  • تم إعداد إصدارات مختصرة من المواصفات لمنصات مستهدفة نموذجية، مما يبسط العمل على الأنظمة الأساسية التي لم يتم دعم جميع امتداداتها بعد، ويسمح للمرء بالاستغناء عن التنشيط الانتقائي للقدرات الأساسية لواجهة برمجة تطبيقات Vulkan.
  • يستمر العمل في المشروع لضمان إمكانية النقل مع واجهات برمجة التطبيقات الرسومية الأخرى. على سبيل المثال، يقدم Vulkan امتدادات تسمح بترجمة OpenGL (الزنك)، أوبنكل (com.clspv, com.clvk) وOpenGL ES (القفاز والزاوية) وDirectX (دكسفك, vkd3d) من خلال Vulkan API، وأيضًا، على العكس من ذلك، لتمكين Vulkan من العمل على الأنظمة الأساسية دون دعمه الأصلي (gfx-rs и رماد للعمل على OpenGL وDirectX، MoltenVK و gfx-rs للعمل على الجزء العلوي من المعدن).
    تمت إضافة ملحقات لتحسين التوافق مع DirectX وHLSL
    يقوم VK_KHR_host_query_reset وVK_KHR_uniform_buffer_standard_layout وVK_EXT_scalar_block_layout وVK_KHR_separate_stencil_usage وVK_KHR_separate_ Deep_stencil_layouts وSPIR-V بتنفيذ إمكانات HLSL محددة.

تتضمن الخطط المستقبلية تطوير ملحقات للتعلم الآلي، وتتبع الشعاع، وترميز الفيديو وفك تشفيره، ودعم VRS (التظليل ذو المعدل المتغير) وتظليل الشبكة.

تذكر أن Vulkan API ملحوظة تبسيط برامج التشغيل بشكل جذري، ونقل إنشاء أوامر GPU إلى جانب التطبيق، والقدرة على توصيل طبقات التصحيح، وتوحيد واجهة برمجة التطبيقات لمنصات مختلفة واستخدام تمثيل وسيط مُجمَّع مسبقًا للتعليمات البرمجية للتنفيذ على جانب GPU. لضمان الأداء العالي والقدرة على التنبؤ، يوفر Vulkan للتطبيقات تحكمًا مباشرًا في عمليات وحدة معالجة الرسومات ودعمًا أصليًا لتعدد مؤشرات الترابط لوحدة معالجة الرسومات، مما يقلل من الحمل الزائد للسائق ويجعل القدرات من جانب السائق أكثر بساطة وأكثر قابلية للتنبؤ بها. على سبيل المثال، يتم نقل العمليات، مثل إدارة الذاكرة ومعالجة الأخطاء، التي يتم تنفيذها في OpenGL من جانب برنامج التشغيل، إلى مستوى التطبيق في Vulkan.

يمتد Vulkan على جميع المنصات المتاحة ويوفر واجهة برمجة تطبيقات واحدة لسطح المكتب والهاتف المحمول والويب، مما يسمح باستخدام واجهة برمجة تطبيقات مشتركة واحدة عبر وحدات معالجة الرسومات والتطبيقات المتعددة. بفضل بنية Vulkan متعددة الطبقات، والتي تعني الأدوات التي تعمل مع أي وحدة معالجة رسومات، يمكن لمصنعي المعدات الأصلية استخدام أدوات متوافقة مع معايير الصناعة لمراجعة التعليمات البرمجية وتصحيح الأخطاء وإنشاء ملفات تعريف أثناء التطوير. لإنشاء التظليل، يُقترح تمثيل وسيط محمول جديد، SPIR-V، استنادًا إلى LLVM ومشاركة التقنيات الأساسية مع OpenCL. للتحكم في الأجهزة والشاشات، يقدم Vulkan واجهة WSI (تكامل نظام النوافذ)، والتي تحل تقريبًا نفس المشكلات التي تحلها EGL في OpenGL ES. يتوفر دعم WSI بشكل جاهز في Wayland - يمكن تشغيل جميع التطبيقات التي تستخدم Vulkan في بيئة خوادم Wayland غير المعدلة. يتم أيضًا توفير القدرة على العمل عبر WSI لأنظمة Android وX11 (مع DRI3) وWindows وTizen وmacOS وiOS.

المصدر: opennet.ru

إضافة تعليق