የወይን ፕሮጀክቱ Vkd3d 1.2 ከ Direct3D 12 ትግበራ ጋር ለቋል

የወይን ፕሮጀክት የታተመ ጥቅል መለቀቅ vkd3d 1.2 ወደ ቮልካን ግራፊክስ ኤፒአይ ጥሪዎችን በማሰራጨት በሚሰራ Direct3D 12 ትግበራ። ፓኬጁ የ 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 ውክልና መተርጎም ተተግብሯል። ቬርቴክስ፣ ፒክሴል፣ ቴሴሌሽን፣ ስሌት እና ቀላል የጂኦሜትሪ ጥላዎች፣ የስር ፊርማ ተከታታይነት እና መለያየት ይደገፋሉ። የሻደር መመሪያዎች የሒሳብ፣ የአቶሚክ እና የቢት ኦፕሬሽኖች፣ የንፅፅር እና የውሂብ ፍሰት መቆጣጠሪያ ኦፕሬተሮች፣ ናሙና፣ የመሰብሰብ እና የመጫን መመሪያዎችን፣ ያልታዘዙ የመዳረሻ ስራዎችን (UAV፣ Unordered Access View) ያካትታሉ።

በጣም ጉልህ ከሆኑት መካከል ፈጠራዎች በ Vkd3d 1.2 ውስጥ የሚከተሉት ተደምቀዋል።

  • የlibvkd3d-shader ቤተ-መጽሐፍት በሶስተኛ ወገን ፕሮጀክቶች ውስጥ ለመጠቀም ዝግጁ ነው።
  • Tessellation shader ድጋፍ.
  • የስር ፊርማዎችን ለመለወጥ ፣ ተከታታይነት እና መለያየትን ይደግፋል (vkd3d_serialize_versioned_root_signature() እና vkd3d_create_versioned_root_signature_deserializer())።
  • ለዥረት ውፅዓት ድጋፍ።
  • የብዙ ናሙናዎችን ድጋፍን ጨምሮ ከዚህ ቀደም የማይገኙ የDirect3D 12 ባህሪያትን መተግበር፣ ሃብት ማስያዝ፣
    በተዘዋዋሪ ኢንዴክስ የተደረገ አተረጓጎም ፣ ያለ ፒክስል ሼዶች ጥልቀት ማሳየት ፣ ከተለያዩ የትዕዛዝ ወረፋዎች ሀብቶችን በአንድ ጊዜ ማግኘት ፣ Null-views።

  • የአካባቢ ተለዋዋጮች ታክለዋል፡ VKD3D_CONFIG libvkd3d ባህሪን ለመለወጥ አማራጮችን ለማዘጋጀት እና VKD3D_VULKAN_DEVICE ለVulkan API መሳሪያውን ለመሻር።
  • ለ bufinfo shader መመሪያዎች ተጨማሪ ድጋፍ ፣
    ኢቫል_ሴንትሮይድ፣
    ኢቫል_ናሙና_ኢንዴክስ፣
    ld2ms,
    ናሙና_ቢ፣
    ናሙና_ዲ፣
    የናሙና_መረጃ፣
    samplepos.

ምንጭ: opennet.ru

አስተያየት ያክሉ