Ua hoʻokuʻu ka papahana waina i ka Vkd3d 1.2 me ka hoʻokō Direct3D 12

Papahana Waina hoolaha hoʻokuʻu pūʻolo vkd3d 1.2 me kahi hoʻokō Direct3D 12 e hana ana ma o ka hoʻolaha ʻana i nā kelepona i ka Vulkan graphics API. Aia i loko o ka pūʻolo nā hale waihona puke libvkd3d me nā hoʻokō o Direct3D 12, libvkd3d-shader me kahi unuhi o nā hiʻohiʻona shader 4 a me 5 a me libvkd3d-utils me nā hana no ka hoʻomaʻamaʻa ʻana i ka porting o nā noi Direct3D 12, a me kahi hoʻonohonoho o nā hiʻohiʻona demo, me kahi awa. o nā glxgears i Direct3D 12. Code papahana mahele ʻia e laikini ma lalo o LGPLv2.1.

hale waihona puke libvkd3d kākoʻo ʻO ka hapa nui o nā hiʻohiʻona o Direct3D 12, me nā kiʻi kiʻi a me nā lako kamepiula, nā queues a me nā papa kauoha, nā lima a me nā puʻu puʻu, nā pūlima aʻa, ke komo ʻana i waho o ke kauoha, nā Samplers, nā pūlima kauoha, nā aʻa mau, ka hoʻoheheʻe pololei ʻole, nā ʻano Clear*(). a me Kope*().

Ma libvkd3d-shader, ua hoʻokō ʻia ka unuhi ʻana o ka bytecode o nā hiʻohiʻona shader 4 a me 5 i loko o kahi hōʻike SPIR-V waena. Kākoʻo ʻia ʻo Vertex, pixel, tessellation, compute a me geometry maʻalahi, serialization pūlima kumu a me ka deserialization. Aia nā ʻōlelo aʻo Shader i ka helu helu, atomic a me nā hana bit, hoʻohālikelike a me nā mea hoʻokele kahe o ka ʻikepili, hāpana, hōʻiliʻili a hoʻouka i nā ʻōlelo aʻoaʻo, nā hana komo ʻole (UAV, Unordered Access View).

Ma waena o nā mea nui loa nā mea hou i Vkd3d 1.2 ua hoʻohālikelike ʻia kēia mau mea:

  • Ua mākaukau ka waihona libvkd3d-shader no ka hoʻohana ʻana i nā papahana ʻaoʻao ʻekolu.
  • Kākoʻo ʻo Tessellation shader.
  • Kākoʻo no ka hoʻololi, serialization a me ka deserialization o nā pūlima kumu (vkd3d_serialize_versioned_root_signature() a me vkd3d_create_versioned_root_signature_deserializer()).
  • Kākoʻo no ka hoʻoheheʻe ʻana.
  • Ka hoʻokō ʻana i nā hiʻohiʻona Direct3D 12 i loaʻa ʻole ma mua, me ke kākoʻo no ka multisampling, mālama waiwai,
    ʻO ka hāʻawi ʻana i kuhikuhi ʻole ʻia, ka hōʻike hohonu me ka ʻole o nā shaders pixel, ke komo like ʻana i nā kumuwaiwai mai nā queues kauoha like ʻole, Null-views.

  • Nā hoʻololi kaiapuni i hoʻohui ʻia: VKD3D_CONFIG e hoʻonohonoho i nā koho e hoʻololi i ka ʻano libvkd3d a me VKD3D_VULKAN_DEVICE e hoʻopau i ka hāmeʻa no ka Vulkan API.
  • Hoʻohui kākoʻo no nā ʻōlelo aʻoaʻo shader bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka