نشر مشروع Wine Vkd3d 1.7 مع تطبيق Direct3D 12

نشر مشروع Wine إصدار حزمة vkd3d 1.7 مع تطبيق Direct3D 12 الذي يعمل من خلال مكالمات البث إلى واجهة برمجة تطبيقات الرسومات Vulkan. تتضمن الحزمة مكتبات libvkd3d مع تطبيقات Direct3D 12، وlibvkd3d-shader مع مترجم لنماذج التظليل 4 و5، وlibvkd3d-utils مع وظائف لتبسيط عملية نقل تطبيقات Direct3D 12، بالإضافة إلى مجموعة من الأمثلة التجريبية، بما في ذلك المنفذ من glxgears إلى Direct3D 12. يتم توزيع كود المشروع بترخيص بموجب LGPLv2.1.

تدعم مكتبة libvkd3d معظم ميزات Direct3D 12، بما في ذلك مرافق الرسومات والحوسبة، وقوائم الانتظار وقوائم الأوامر، والمقابض ومقابض الكومة، وتوقيعات الجذر، والوصول خارج الترتيب، وأخذ العينات، وتوقيعات الأوامر، وثوابت الجذر، والعرض غير المباشر، وطرق المسح *( ) ونسخ* (). في libvkd3d-shader، يتم تنفيذ ترجمة الكود الثانوي لنماذج التظليل 4 و5 إلى تمثيل SPIR-V وسيط. يدعم التظليل الرأسي والبكسل والفسيفساء والحساب والتظليل الهندسي البسيط وتسلسل توقيع الجذر وإلغاء التسلسل. تتضمن تعليمات التظليل العمليات الحسابية والذرية والبتية، ومشغلي المقارنة والتحكم في تدفق البيانات، وأخذ العينات، وتعليمات التجميع والتحميل، وعمليات الوصول غير المرتبة (الطائرات بدون طيار، وعرض الوصول غير المرتب).

новой версии:

  • استمر العمل على تحسين مترجم التظليل في HLSL (لغة التظليل عالية المستوى):
    • تمت إضافة القدرة على استدعاء الوظائف المخصصة واستخدام المصفوفات كمعلمات للوظائف المخصصة.
    • تمت إضافة دعم لمعلمات SV_DispatchThreadID وSV_GroupID وSV_GroupThreadID.
    • تمت إضافة وظائف مدمجة all(), distance(), exp(), exp2(), frac(), lit(), Reflect(), sin(), cos(), Smoothstep(), sqrt(), rsqrt () ، خطوة ()، تبديل ().
    • تمت إضافة دعم أولي لأنواع النقاط العائمة منخفضة الدقة مثل "min16float".
  • دعم محسّن بشكل كبير لملفات تعريف نماذج التظليل Direct3D 1/2/3.
  • تمت إضافة واجهة برمجة التطبيقات العامة للتحليل (vkd3d_shader_parse_dxbc) والتسلسل (vkd3d_shader_serialize_dxbc) لبيانات DXBC الثنائية.

المصدر: opennet.ru

إضافة تعليق