vkd3d 1.2에는 호환성 개선, 음영 등이 함께 제공됩니다.

프로젝트 Wine은 vkd3d 1.2 패키지의 새 버전을 출시했습니다.Direct3D 12 구현 Vulkan 그래픽 API에 대한 호출을 번역하여 작동합니다.

vkd3d 1.2의 새 버전 다양한 개선 사항이 포함되어 있습니다. 하지만 눈에 띄는 주요 것은 libvkd3d-shader를 공공 도서관으로 사용 가능, 셰이더 지원 테셀레이션 및 흐름 출력 지원.

패키지Direct3D 3 구현이있는 libvkd12d 라이브러리, libvkd3d-shader를 포함합니다. 모델 4 및 5 셰이더 변환기와 libvkd3d-utils와 함께 Direct3D 12 응용 프로그램의 마이그레이션을 단순화하는 기능과 glxgears 포트를 포함하여 Direct3D 12 로의 데모 세트를 포함합니다. 프로젝트 코드는 LGPLv2.1에 따라 배포됩니다.

도서관 libvkd3d는 대부분의 Direct3D 12 기능을 지원합니다. 그래픽 및 계산 기능, 명령 목록 및 대기열, 힙 설명자 및 설명자, 루트 서명, 순서없는 액세스, 샘플러, 명령 서명, 루트 상수, 간접 표현 등을 포함합니다.

Libvkd3d- 셰이더 바이트 코드 4 및 5의 번역을 구현합니다. 중간 SPIR-V 표현에서 음영 패턴의. 정점, 픽셀, 테셀레이션, 계산 및 단순 지오메트리 셰이더, 루트 서명 직렬화 및 역 직렬화가 지원됩니다.

셰이더 명령에는 산술, 원자 및 비트 연산이 포함됩니다. 데이터 흐름 제어 및 비교 연산자, 샘플링, 수집 및로드 지침, 무순 액세스 작업 (UAV, 무순 액세스 뷰).

현재 개발 단계에서 Direct3D 12에 대한 모든 호출이 구현되는 것은 아닙니다. 테스트는 주로 일련의 데모 애플리케이션에서 수행되었습니다. 이 릴리스에는 복잡한 지오메트리 셰이더 및 테셀레이션 지원과 같은 개발 기능은 물론 Direct3D 12 기본 메서드 및 셰이더와 관련된 여러 개선 사항이 포함되어 있지 않습니다. 이러한 기능은 향후 릴리스에서 제공 될 예정입니다.

Vkd3d 1.2의 주요 새로운 기능

새 버전에서 제공되는 가장 중요한 변경 사항은 libvkd3d-shader 라이브러리 가용성 타사 프로젝트에서 사용하기 위해 다음과 같은 다양한 Direct3D 12 기능이 추가되었습니다.

  • 다중 샘플링.
  • 예약 된 리소스.
  • 인스턴스 데이터 전달 속도.
  • 모든 인터페이스에 대한 "개인 데이터"API.
  • 셰이더 리소스보기 구성 요소 매핑.
  • VK_KHR_draw_indirect_count 확장.
  • 술어 / 조건부 표현.
  • 픽셀 셰이더가없는 깊이 렌더링.
  • 깊이 컷 아웃. 여기에는 VK_EXT_depth_clip_enable 확장이 필요합니다.
  • 래스터 라이저를 버립니다.
  • 듀얼 소스 믹싱.
  • 배치 된 자원의 매핑.
  • ReadFromSubresource () 및 WriteToSubresource () ID3D12Resource 메서드.
  • 다중 대기열 리소스에 대한 동시 액세스.
  • 널 뷰. 즉, 기본 리소스가없는 뷰입니다.
  • 더 많은 기능 지원 문의.

이 외에도 서명 변환, 직렬화 및 역 직렬화에 대한 추가 지원도 강조 표시됩니다. 루트 (vkd3d_serialize_versioned_root_signature () 및 vkd3d_create_versioned_root_signature_deserializer () 및 스트리밍 출력 지원.

눈에 띄는 또 다른 변화는 환경 변수 구현 : VKD3D_CONFIG는 Vulkan API에 대한 장치를 재정의하기 위해 libvkd3d 및 VKD3D_VULKAN_DEVICE의 동작을 변경하는 옵션을 설정합니다.

그 외에 음영 지침에 대한 추가 지원 bufinfo, eval_centroid, eval_sample_index, ld2ms, 샘플_b, 샘플_d, 샘플_정보, 샘플포스 모델 5.1 쉐이더에 대한 예비 지원.

또한 OpenGL SPIR-V 대상 환경을 지원합니다. 이를 통해 libvkd3d-shader에서 생성 한 SPIR-V를 GL_ARB_gl_spirv와 함께 사용할 수 있습니다. 여기에는 OpenGL 원자 카운터 및 결합 된 샘플러에 대한 지원이 포함됩니다.

최종적으로 그것에 대해 더 알고 싶다면 이 새 버전에 대해 전체 변경 목록을 확인할 수 있습니다. 다음 링크에서.

Linux에 vkd3d를 설치하는 방법은 무엇입니까?

시스템에 vkd3d를 설치하는 데 관심이있는 사람들은 소스 코드를 얻고 컴파일을 진행해야합니다. 그러나 실제 목적이나 초보자를 위해 많은 노력없이이 라이브러리를 사용해 볼 수 있습니다. 이를 위해 그들은 lutris와 그 구성 내에서만 설치하면됩니다.

컴파일에 관심이있는 사람들은 다음을 사용하여 코드를 얻어야합니다.

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

마지막으로 Vulkan 레이어를 활성화해야합니다.

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


코멘트를 첫번째로 올려

코멘트를 남겨주세요

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

*

*

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