Ang bagong bersyon ng vkd3d 1.3 ay inilabas na

Pagkatapos ng isang taon at kalahati ng pag-unlad, athe Wine project inihayag ang paglulunsad ng ang bagong bersyon ng package «vkd3d 1.3″ na may pagpapatupad ng Direct3D 12 na gumagana sa pamamagitan ng pagsasalin ng mga tawag sa Vulkan graphics API.

Ang bersyon na ito ay naglalaman ng iba't ibang mga pagpapabuti at kung saan sa bagong bersyon na ito ang mga highlight ay ang paunang suporta sa pagbuo ng HLSL, pati na rin ang Suporta sa array ng deskriptor ng Shader Model 5.1, suporta para sa pag-unmount ng Direct3D shaders, at higit pa.

Para sa mga hindi nakakaalam ng package, dapat nilang malaman iyon kasama ang mga aklatan ng libvkd3d na may mga pagpapatupad ng Direct3D 12, libvkd3d-shader na may modelong 4 at 5 shader translator at libvkd3d-utils na may mga pagpapaandar upang gawing simple ang paglipat ng mga aplikasyon ng Direct3D 12, pati na rin ang isang hanay ng mga demo, kasama ang glxgears port sa Direct3D 12. Ang code ng proyekto ay ipinamamahagi na lisensyado sa ilalim ng LGPLv2.1.

Library Sinusuportahan ng libvkd3d ang karamihan sa mga tampok na Direct3D 12, kabilang ang mga graph at compute function, mga listahan ng command at queues, descriptor at heap descriptor, root signature, unordered access, sampler, command signature, root constants, proxy representation, atbp.

libvkd3d-shader nagpapatupad ng pagsasalin ng byte code 4 at 5 ng mga modelo ng pagtatabing sa intermediate na representasyon ng SPIR-V. Ang mga vertice, pixel, tessellation, computational at simpleng geometry shader, root signature serialization, at deserialization ay sinusuportahan.

Kasama sa mga tagubilin ng shader ang pagpapatakbo ng arithmetic, atomic at bitwise, control ng daloy ng data at paghahambing ng mga operator, pag-sample, pagkolekta at paglo-load ng mga tagubilin, hindi naayos na mga pagpapatakbo ng pag-access (UAV, pagtingin sa hindi naayos na pag-access).

Sa kasalukuyang yugto ng pag-unlad, hindi lahat ng mga tawag sa Direct3D 12 ay ipinatupad at ang mga pagsubok ay pangunahing isinagawa sa isang hanay ng mga demo application.

Pangunahing mga bagong tampok ng Vkd3d 1.3

Sa bagong bersyon na ito ng vkd3d 1.3 na ipinakita, ito ay naka-highlight na nagdagdag ng paunang suporta para sa pag-compile at pre-rendering shaders sa HLSL (high-level shader language), na ibinigay simula DirectX 9.0.

Ang isa pang mga pagbabago na namumukod-tangi sa bagong bersyon ay ang suporta para sa double precision floating point operations sa mga shader, pati na rin ang hindi direksyon para sa mga shader ng tessellation, pag-export ng template mula sa mga shader, ang "tumpak" na shader modifier, at mga pandaigdigang hadlang para sa mga mapagkukunang nasa memorya.

Mahahanap din natin na ang kakayahang i-disassemble ang Direct3D shaders mula sa code ng mga byte sa representasyon ng assembler, pati na rin ang karagdagang suporta para sa pag-parse ng lumang Direct3D bytecode na format na ginamit sa Direct3D 1, 2, at 3 shader na mga modelo.

Ang libvkd3d ay nagdagdag ng Direct3D 12 na mga tampok, gaya ng mga root signature, unordered lookup counter, output merge booleans, mirror_once texture addressing mode, at idinagdag na vkd3d_host_time_domain_info structure.

Sa iba pang mga pagbabago tumayo mula sa bagong bersyon na ito:

  • Pinapalawak ng vkd3d_shader_preprocess_info ang istraktura ng vkd3d_shader_compile_info, at maaaring gamitin upang tukuyin ang mga parameter ng preprocessing gaya ng mga macro definition ng preprocessor.
  • Pinapalawak ng vkd3d_shader_hlsl_source_info ang istraktura ng vkd3d_shader_compile_info, at maaaring gamitin upang tukuyin ang HLSL at bumuo ng mga parameter tulad ng target na profile at entry point.
  • I-link ang Direct3D 12 at mga modelo ng Vulkan
  • Maaaring gamitin ang VKD3D_SHADER_COMPILE_OPTION_API_VERSION upang tukuyin ang bersyon ng libvkd3d-shader API na tina-target ng application. Kung hindi tinukoy, VKD3D_SHADER_API_VERSION_1_2 ang gagamitin.
  • Ang vkd3d-compiler ay magiging default sa output ng kulay kung matutukoy nito na ang
    ang output ay isang color-capable na teleprinter.
  • Nagdagdag ng suporta para sa mga descriptor array na tinukoy sa Shader Model 5.1.

Sa wakas kung nais mong malaman ang tungkol dito tungkol sa bagong bersyon na ito, maaari mong konsultahin ang kumpletong listahan ng mga pagbabago Sa sumusunod na link.

Paano i-install ang vkd3d sa Linux?

Para sa mga interesadong ma-install ang vkd3d sa kanilang system, dapat nilang makuha ang source code at magpatuloy sa pagtitipon, bagaman para sa mga praktikal na layunin o para sa mga newbies, maaari nilang subukan ang library na ito nang walang labis na pagsisikap. Para sa mga ito, kailangan lamang nilang mag-install ng lutris at sa loob ng mga pagsasaayos nito.

Tulad ng para sa mga interesado sa pagtitipon, dapat silang makakuha ng code na may:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Sa wakas, dapat paganahin ang mga layer ng Vulkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.