vkd3d 1.11은 Direct3D 바이트코드, DXIL, 개선 사항 등을 컴파일하기 위한 초기 지원과 함께 출시됩니다.

vkd3d

vkd3d는 Wine의 Direct3D 12에서 Vulkan으로의 변환 레이어입니다.

며칠 전에 발표된 Wine 프로젝트는 vkd3d 1.11 패키지의 새 버전 출시, Vulkan 확장 사용에 개선 사항이 도입되고 개선 사항, 새로운 기능 등을 지원하는 버전입니다.

Vkd3d에 대해 모르는 사람들은 이것이 다음과 같은 패키지라는 것을 알아야 합니다. Vulkan 그래픽 API 호출을 사용하여 Direct3D 12 구현을 제공합니다. 몇 가지 주요 라이브러리가 포함되어 있습니다. libvkd3d 라이브러리에는 컴퓨팅 및 그래픽, 명령 대기열 및 목록, 식별자 등과 같은 광범위한 기능을 다루는 Direct3D 12 구현이 포함되어 있습니다.

libvkd3d-shader 라이브러리도 제공됩니다 이는 셰이더 모델 4 및 5에 대한 중간 SPIR-V 표현에 대한 변환기를 제공합니다. 이 라이브러리는 꼭지점, 픽셀, 테셀레이션, 계산, 단순 기하학 셰이더는 물론 루트 서명 직렬화 및 역직렬화를 지원합니다.

vkd3d 1.11의 새로운 기능은 무엇입니까?

Vkd3d 1.11은 레거시 Direct3D 바이트코드 컴파일을 위한 초기 지원 SPIR-V 셰이더의 중간 표현과 sHLSL p 컴파일러에 대한 초기 지원효과 프로필을 컴파일합니다.

이 새 버전에서 제공되는 또 다른 개선 사항은 DXIL 컴파일을 위한 실험적 지원 (DirectX 중간 언어)는 SPIR-V 표현으로 Direct3D 애플리케이션 개발을 위한 새로운 옵션을 제공합니다. 이 기능을 사용하려면 '전처리기' 옵션을 사용하여 vkd3d를 컴파일해야 합니다.-DVKD3D_SHADER_UNSUPPORTED_DXIL' 실험적인 것으로 간주됩니다.

또한 그룹 및 설명자 세트 사용이 최적화되었습니다. 확장 기능을 사용할 수 있는 경우 VK_EXT_mutable_descriptor_type 및 VK_EXT_shader_viewport_index_layer는 설명자 풀 작업의 효율성을 향상시키고 테셀레이션 및 정점 셰이더 배열의 렌더링 속도를 높이기 위해 제공됩니다.

c가 구현되었습니다.흑백 등 표준 테두리 색상 지원 그리고 그 방법이 구현되었습니다 GetResourceAllocationInfo1() ID3D12Device4 인터페이스뿐 아니라 ID3D12Device7 및 ID3D12Resource2 인터페이스도 지원합니다.

다음을 포함하여 몇 가지 새로운 기능 쿼리가 지원됩니다. D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

구현되었습니다 새로운 빌드 옵션: VKD3D_SHADER_COMPILE_OPTION_FEATURE 사용할 수 있습니다
대상 환경에서 사용 가능한 기능을 지정하는 동시에 VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 다음과의 호환성을 나타냅니다.
SPIR 대상 환경의 64비트 정수 유형 및  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 다음과의 호환성을 나타냅니다.
SPIR-V 대상 환경의 64비트 부동 소수점 유형.

눈에 띄는 다른 변화 이 새 버전 :

  • 설명자 업데이트는 이제 내부 작업자 스레드에서 비동기적으로 발생하므로 프레임당 많은 설명자를 업데이트하는 애플리케이션의 성능이 향상됩니다.
  • 전역적으로 일관된 비순차적 액세스 뷰, 스레드 그룹 비순차적 액세스 뷰 장벽 등에 대한 지원을 포함하여 SPIR-V 대상 유형에 대한 새로운 기능이 추가되었습니다.
  • ID3D12Device7 인터페이스가 지원됩니다.
  • 이 릴리스에 필요한 Vulkan-Headers의 최소 버전은 다음과 같습니다.
    1.3.228.
  • ID3D12Resource2 인터페이스가 지원됩니다.
  • 몇 가지 새로운 기능 쿼리가 지원됩니다.
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • 내장 함수 acos(), asin(), atan() 및 atan2()는 이미 지원됩니다.
  • 'register()' 키워드를 사용한 명시적 레지스터 매핑
  • 셰이더 모델 프로필 1-3에서 정수 유형을 부동 소수점으로 변환합니다.

그것에 대해 더 자세히 알고 싶은 분들을 위해, 프로젝트 코드가 LGPL 2.1에 따라 배포된다는 점을 알아야 하며 이 새 릴리스의 세부 정보를 참조할 수 있습니다. 다음 링크에서.

vkd3d 1.11을 설치하는 방법?

vkd3d를 설치할 수 있는지에 관심이 있습니다. 그들은 소스 코드를 컴파일해야 한다는 것을 알아야 하므로 먼저 소스 코드를 얻어야 합니다. Vkd3d가 SPIRV-Headers 및 Vulkan-Headers(>= 1.3.228)에 의존한다는 점을 언급하는 것이 중요합니다.

컴파일은 매우 간단하며 이를 수행하려면 다음 명령을 입력할 터미널을 열어야 합니다.

git clone https://gitlab.winehq.org/wine/vkd3d.git

다음을 사용하여 다운로드한 폴더로 들어갑니다.

cd vkd3d

그리고 다음 명령을 실행하여 컴파일을 진행합니다.

./configure
make
make install

Si 당신은 컴파일에 대해 더 알고 싶어 vkd3d의 세부 정보를 확인할 수 있습니다. 이 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.