
نسخه 1.4.368 از API گرافیکی و محاسباتی Vulkan بهعنوان جدیدترین بهروزرسانی هفتگی مشخصات (Spec Update) این پلتفرم منتشر شد. این بهروزرسانی تنها یک هفته پس از نسخه قبلی ارائه شده و در آن شش مورد (Issue) از موارد مطرحشده داخلی حل شده است.
دو افزونه جدید در Vulkan 1.4.368
مهمترین تغییرات این نسخه معرفی دو افزونه (Extension) جدید با نامهای VK_EXT_vertex_address_binding_unrestricted و VK_NV_internal_handle است. افزونه نخست از سوی Valve و افزونه دوم از سوی NVIDIA ارائه شدهاند.
افزونه Valve برای بهینهسازی بهروزرسانی ویژگیهای رأس
افزونه VK_EXT_vertex_address_binding_unrestricted توسط Mike Blumenkrantz از تیم گرافیک لینوکس Valve و توسعهدهنده برجسته Mesa پیشنویس شده است. این افزونه به بهروزرسانی ویژگیهای رأس (Vertex Attribute Updates) مربوط میشود.
بر اساس توضیحات ارائهشده، هنگام بهینهسازی بهروزرسانی ویژگیهای رأس برای یک دستور ترسیم (Draw Command) که فقط از آفست بهروزشده میخواند، دادههای ویژگی میتوانند برای آن ترسیم به یک بافر جداگانه (Separate Buffer) منتقل شوند. در این حالت، دادههای بافر رأس (Vertex Buffer) میتوانند با vkCmdBindVertexBuffers3KHR طوری بایند شوند که فقط آفست مؤثر خواندهشده در پردازش رأس غیرمنفی باشد تا حافظه کاهش یابد؛ زیرا پارامترهای محاسبهشده در زمان ترسیم به داده معتبر دسترسی خواهند داشت. استفاده از این افزونه اعتبارسنجی آدرس (Address Validation) را برای این سناریو غیرفعال میکند.
افزونه NVIDIA برای دسترسی به هندلهای داخلی درایور
افزونه دیگر این هفته VK_NV_internal_handle نام دارد و یک افزونه اختصاصی (Vendor Extension) است. این افزونه به برنامهها و موتورهای بازی (Game Engines) اجازه میدهد هندلهای داخلی مبهم درایور (Opaque Internal Driver Handles) را برای برخی اشیای Vulkan دریافت کنند.
این هندلهای داخلی درایور NVIDIA سپس میتوانند به APIهای خارجی (External APIs) که آنها را میپذیرند برای کاربردهای مختلف متمرکز بر NVIDIA ارسال شوند.
جزئیات بیشتر
جزئیات کامل مربوط به Vulkan 1.4.368 از طریق GitHub قابل دسترسی است.