vkd3d 1.3의 새 버전이 이미 릴리스되었습니다.

XNUMX년 반의 개발 끝에그는 Wine 프로젝트의 출시를 발표했습니다. 패키지의 새 버전 «vkd3d 1.3″ Vulkan 그래픽 API에 대한 호출 변환을 통해 작동하는 Direct3D 12 구현으로.

이 버전에는 다양한 개선 사항이 포함되어 있으며 이 새 버전의 하이라이트는 초기 HLS 빌드 지원L 뿐만 아니라 셰이더 모델 5.1 설명자 배열 지원, Direct3D 셰이더 마운트 해제 지원 등.

패키지에 대해 잘 모르시는 분들은 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에 대한 모든 호출이 구현되는 것은 아닙니다. 테스트는 주로 일련의 데모 애플리케이션에서 수행되었습니다.

Vkd3d 1.3의 주요 새로운 기능

이 새 버전의 vkd3d 1.3에서는 다음이 강조 표시됩니다. HLSL에서 셰이더 컴파일 및 사전 렌더링에 대한 초기 지원 추가 (고급 셰이더 언어), DirectX 9.0부터 제공됩니다.

이 새 버전에서 눈에 띄는 또 다른 변경 사항은 셰이더에서 배정밀도 부동 소수점 연산 지원, 테셀레이션 셰이더에 대한 간접 참조, 셰이더에서 템플릿 내보내기, "정확한" 셰이더 수정자, 메모리 내 리소스에 대한 전역 장벽.

우리는 또한 찾을 수 있습니다 코드에서 Direct3D 셰이더를 분해하는 기능 어셈블러 표현에 대한 바이트 수와 Direct3D 3, 1 및 2 셰이더 모델에 사용된 이전 Direct3D 바이트코드 형식의 구문 분석 지원이 추가되었습니다.

libvkd3d에 Direct3D 12 기능이 추가되었습니다., 루트 서명, 정렬되지 않은 조회 카운터, 출력 병합 부울, mirror_once 텍스처 주소 지정 모드 및 추가된 vkd3d_host_time_domain_info 구조.

다른 변경 사항 중 이 새 버전에서 눈에 띄는 :

  • vkd3d_shader_preprocess_info는 vkd3d_shader_compile_info 구조를 확장하고 전처리기 매크로 정의와 같은 전처리 매개변수를 지정하는 데 사용할 수 있습니다.
  • vkd3d_shader_hlsl_source_info는 vkd3d_shader_compile_info 구조를 확장하고 HLSL을 지정하고 대상 프로필 및 진입점과 같은 매개변수를 빌드하는 데 사용할 수 있습니다.
  • Direct3D 12 및 Vulkan 모델 연결
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION을 사용하여 애플리케이션이 대상으로 하는 libvkd3d-shader API 버전을 지정할 수 있습니다. 지정하지 않으면 VKD3D_SHADER_API_VERSION_1_2가 사용됩니다.
  • vkd3d-compiler는 다음을 결정할 수 있는 경우 기본적으로 컬러 출력으로 설정합니다.
    출력은 컬러 지원 텔레프린터입니다.
  • 셰이더 모델 5.1에 정의된 설명자 배열에 대한 지원이 추가되었습니다.

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

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. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.