Chuẩn đồ họa Vulkan 1.2 được công bố

Tập đoàn Khronos, nơi phát triển các tiêu chuẩn đồ họa,
công bố sự chỉ rõ Vulkan 1.2, xác định API để truy cập khả năng đồ họa và tính toán của GPU. Thông số kỹ thuật mới kết hợp các chỉnh sửa được tích lũy trong hai năm và tiện ích mở rộng. Đã có sẵn các driver hỗ trợ phiên bản Vulkan mới phát hành Công ty Intel, AMD, ARM, Công nghệ tưởng tượng và NVIDIA. Mesa cung cấp hỗ trợ Vulkan 1.2 cho trình điều khiển RADV (thẻ AMD) và ANV (Intel). Hỗ trợ Vulkan 1.2 cũng được triển khai trong trình gỡ lỗi RenderDoc 1.6, SDK Vulkan của LunarG và một tập hợp các ví dụ Mẫu Vulkan.

Chính đổi mới:

  • Mang đến cho bạn triển khai ngôn ngữ lập trình đổ bóng cho đến khi sẵn sàng sử dụng rộng rãi HLSL, được phát triển bởi Microsoft cho DirectX. Hỗ trợ HLSL trong Vulkan giúp bạn có thể sử dụng cùng bộ đổ bóng HLSL trong các ứng dụng dựa trên Vulkan và DirectX, đồng thời đơn giản hóa việc dịch từ HLSL sang SPIR-V. Để biên dịch shader, nên sử dụng trình biên dịch tiêu chuẩn
    DXC, được Microsoft mở vào năm 2017 và dựa trên công nghệ LLVM. Hỗ trợ Vulkan được triển khai thông qua một chương trình phụ trợ riêng biệt, cho phép bạn dịch HLSL thành bản trình bày trung gian của trình tạo bóng SPIR-V. Việc triển khai không chỉ bao gồm tất cả các khả năng tích hợp
    HLSL, bao gồm các loại toán học, luồng điều khiển, hàm, bộ, loại tài nguyên, không gian tên, Shader Model 6.2, cấu trúc và phương thức, nhưng cũng cho phép sử dụng các tiện ích mở rộng dành riêng cho Vulkan như VKRay của NVIDIA. Ở chế độ HLSL trên Vulkan, có thể tổ chức công việc của các trò chơi như Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey và Tomb Raider.

    Chuẩn đồ họa Vulkan 1.2 được công bố

  • Đã cập nhật thông số kỹ thuật SPIR-V 1.5, xác định cách biểu diễn trung gian của các shader phổ biến cho tất cả các nền tảng và có thể được sử dụng cho cả đồ họa và tính toán song song.
    SPIR-V liên quan đến việc tách giai đoạn biên dịch đổ bóng riêng biệt thành một biểu diễn trung gian, cho phép bạn tạo giao diện người dùng cho nhiều ngôn ngữ cấp cao khác nhau. Dựa trên nhiều triển khai cấp cao khác nhau, một mã trung gian duy nhất được tạo riêng, mã này có thể được trình điều khiển OpenGL, Vulkan và OpenCL sử dụng mà không cần sử dụng trình biên dịch đổ bóng tích hợp sẵn.

    Chuẩn đồ họa Vulkan 1.2 được công bố

  • API Vulkan cốt lõi bao gồm 23 tiện ích mở rộng giúp tăng hiệu suất, cải thiện chất lượng kết xuất và đơn giản hóa quá trình phát triển. Trong số các tiện ích mở rộng được thêm vào:
    • Ngữ nghĩa theo trình tự thời gian (Semaphore dòng thời gian), thống nhất đồng bộ hóa với hàng đợi máy chủ và thiết bị (cho phép bạn sử dụng một nguyên thủy để đồng bộ hóa đa hướng giữa thiết bị và máy chủ mà không cần sử dụng các nguyên hàm VkFence và VkSemaphore riêng biệt). Các ngữ nghĩa mới được biểu thị bằng giá trị 64-bit tăng dần, có thể được theo dõi và cập nhật trên nhiều luồng.
      Chuẩn đồ họa Vulkan 1.2 được công bố

    • Khả năng sử dụng các loại số với độ chính xác giảm trong trình đổ bóng;
    • Tùy chọn bố trí bộ nhớ tương thích HLSL;
    • Tài nguyên không liên kết (bindless), loại bỏ giới hạn về số lượng tài nguyên có sẵn cho trình đổ bóng bằng cách sử dụng không gian ảo chung của bộ nhớ hệ thống và bộ nhớ GPU;
    • Mô hình bộ nhớ chính thức, xác định cách các luồng đồng thời có thể truy cập dữ liệu được chia sẻ và các hoạt động đồng bộ hóa;
    • Lập chỉ mục mô tả để sử dụng lại các bộ mô tả bố cục trên nhiều trình đổ bóng;
    • Liên kết đệm.

    Danh sách đầy đủ các tiện ích mở rộng được thêm vào:

  • Thêm bởi hơn 50 công trình mới và 13 chức năng;
  • Các phiên bản rút gọn của thông số kỹ thuật đã được chuẩn bị cho các nền tảng mục tiêu điển hình, đơn giản hóa công việc trên các nền tảng mà tất cả các tiện ích mở rộng chưa được hỗ trợ và cho phép một người thực hiện mà không cần kích hoạt có chọn lọc các khả năng cơ bản của API Vulkan.
  • Dự án vẫn tiếp tục làm việc để đảm bảo tính di động với các API đồ họa khác. Ví dụ: Vulkan cung cấp các tiện ích mở rộng cho phép dịch OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (GĂNG TAY, Góc) và DirectX (phần mở rộng DXVK, vkd3d) thông qua API Vulkan và ngược lại, để cho phép Vulkan hoạt động trên các nền tảng mà không cần sự hỗ trợ riêng của nó (gfx-rs и Ashes để làm việc trên OpenGL và DirectX, nóng chảyVK và gfx-rs để làm việc trên Metal).
    Đã thêm tiện ích mở rộng để cải thiện khả năng tương thích với DirectX và HLSL
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_deep_stencil_layouts và SPIR-V triển khai các khả năng HLSL cụ thể.

Các kế hoạch cho tương lai bao gồm phát triển các tiện ích mở rộng cho máy học, dò tia, mã hóa và giải mã video, hỗ trợ VRS (tạo bóng theo tốc độ thay đổi) và trình tạo bóng lưới.

Hãy nhớ lại rằng API Vulkan đáng chú ý đơn giản hóa triệt để các trình điều khiển, chuyển việc tạo lệnh GPU sang phía ứng dụng, khả năng kết nối các lớp gỡ lỗi, thống nhất API cho các nền tảng khác nhau và sử dụng biểu diễn mã trung gian được biên dịch sẵn để thực thi ở phía GPU. Để đảm bảo hiệu suất cao và khả năng dự đoán, Vulkan cung cấp cho các ứng dụng khả năng kiểm soát trực tiếp các hoạt động của GPU và hỗ trợ riêng cho đa luồng GPU, giúp giảm thiểu chi phí hoạt động của trình điều khiển và giúp các chức năng phía trình điều khiển trở nên đơn giản và dễ dự đoán hơn nhiều. Ví dụ: các hoạt động như quản lý bộ nhớ và xử lý lỗi, được triển khai trong OpenGL ở phía trình điều khiển, sẽ được chuyển sang cấp ứng dụng trong Vulkan.

Vulkan mở rộng trên tất cả các nền tảng có sẵn và cung cấp một API duy nhất cho máy tính để bàn, thiết bị di động và web, cho phép sử dụng một API chung trên nhiều GPU và ứng dụng. Nhờ kiến ​​trúc nhiều lớp của Vulkan, nghĩa là các công cụ hoạt động với mọi GPU, OEM có thể sử dụng các công cụ tiêu chuẩn ngành để xem xét, gỡ lỗi và lập hồ sơ mã trong quá trình phát triển. Để tạo các trình đổ bóng, một biểu diễn trung gian di động mới, SPIR-V, được đề xuất, dựa trên LLVM và chia sẻ các công nghệ cốt lõi với OpenCL. Để điều khiển các thiết bị và màn hình, Vulkan cung cấp giao diện WSI (Tích hợp hệ thống cửa sổ), giải quyết gần như các vấn đề tương tự như EGL trong OpenGL ES. Hỗ trợ WSI có sẵn trong Wayland - tất cả các ứng dụng sử dụng Vulkan có thể chạy trong môi trường máy chủ Wayland chưa sửa đổi. Khả năng hoạt động thông qua WSI cũng được cung cấp cho Android, X11 (với DRI3), Windows, Tizen, macOS và iOS.

Nguồn: opennet.ru

Thêm một lời nhận xét