Khronos کنسورشیم، جو گرافکس کے معیارات تیار کرتا ہے،
تفصیلات ، جو GPU کے گرافکس اور کمپیوٹنگ کی صلاحیتوں تک رسائی کے لیے ایک API کی وضاحت کرتا ہے۔ نئی تفصیلات میں دو سال کی جمع شدہ اصلاحات شامل ہیں۔ Vulkan کے نئے ورژن کو سپورٹ کرنے والے ڈرائیور پہلے ہی دستیاب ہیں۔ انٹیل کمپنی، ، ARM، امیجنیشن ٹیکنالوجیز اور Vulkan 1.2 سپورٹ میسا ڈرائیوروں کے لیے پیش کی جاتی ہے۔ (AMD کارڈز) اور (انٹیل)۔ Vulkan 1.2 سپورٹ ڈیبگر میں بھی لاگو ہوتی ہے۔ , اور مثالوں کا ایک سیٹ .
اہم :
- شیڈر پروگرامنگ زبان کا نفاذ جب تک کہ یہ وسیع پیمانے پر استعمال کے لیے تیار نہ ہو۔ , Microsoft کی طرف سے DirectX کے لیے تیار کیا گیا ہے۔ Vulkan میں HLSL سپورٹ Vulkan- اور DirectX پر مبنی ایپلی کیشنز میں اسی HLSL شیڈرز کے استعمال کی اجازت دیتا ہے، اور HLSL سے SPIR-V میں ترجمہ کو بھی آسان بناتا ہے۔ شیڈر کمپائلیشن کے لیے بلٹ ان کمپائلر استعمال کرنے کی سفارش کی جاتی ہے۔
2017 میں مائیکروسافٹ کے ذریعہ اوپن سورس کیا گیا تھا اور یہ LLVM ٹیکنالوجی پر مبنی ہے۔ ولکن سپورٹ کو ایک علیحدہ بیک اینڈ کے ذریعے لاگو کیا جاتا ہے جو HLSL کا ترجمہ شیڈرز کی SPIR-V انٹرمیڈیٹ نمائندگی میں قابل بناتا ہے۔ نفاذ نہ صرف تمام بلٹ ان صلاحیتوں کا احاطہ کرتا ہے۔
HLSL، بشمول ریاضی کی اقسام، کنٹرول کے بہاؤ، افعال، سیٹ، وسائل کی اقسام، نام کی جگہ، شیڈر ماڈل 6.2، ڈھانچے، اور طریقے، Vulkan کے مخصوص ایکسٹینشنز، جیسے NVIDIA's VKRay کے استعمال کو بھی قابل بناتا ہے۔ Destiny 2، Red Dead Redemption II، Assassin's Creed Odyssey، اور Tomb Raider جیسی گیمز کو Vulkan پر HLSL موڈ میں کامیابی سے لاگو کیا گیا۔ - تفصیلات کو اپ ڈیٹ کر دیا گیا۔ ، جو تمام پلیٹ فارمز میں شیڈرز کی ایک عالمگیر انٹرمیڈیٹ نمائندگی کی وضاحت کرتا ہے جو گرافکس اور متوازی کمپیوٹنگ دونوں کے لیے استعمال کیا جا سکتا ہے۔
SPIR-V شیڈرز کو درمیانی نمائندگی (IR) میں مرتب کرنے کے عمل کو الگ کرتا ہے، جس سے مختلف اعلیٰ سطحی زبانوں کے لیے فرنٹ اینڈز کی تخلیق ممکن ہوتی ہے۔ مختلف اعلیٰ سطح کے نفاذ کی بنیاد پر، ایک واحد انٹرمیڈیٹ کوڈ الگ سے تیار کیا جاتا ہے، جسے اوپن جی ایل، ولکن، اور اوپن سی ایل ڈرائیورز بغیر کسی بلٹ ان شیڈر کمپائلر کی ضرورت کے استعمال کر سکتے ہیں۔
- Vulkan core API میں 23 ایکسٹینشنز شامل ہیں جو کارکردگی کو بہتر بناتے ہیں، بصری معیار کو بڑھاتے ہیں، اور ترقی کو آسان بناتے ہیں۔ نئی توسیعات میں شامل ہیں:
- (ٹائم لائن سیمفور)، جو میزبان اور ڈیوائس کی قطاروں کے ساتھ ہم آہنگی کو یکجا کرتا ہے (آلہ اور میزبان کے درمیان ہمہ جہتی ہم آہنگی کے لیے واحد پرائمٹیو کی اجازت دیتا ہے، الگ الگ VkFence اور VkSemaphore پرائمیٹوز کی ضرورت کو ختم کرتا ہے)۔ نئے سیمفورس کی نمائندگی یک طرفہ طور پر بڑھتی ہوئی 64 بٹ ویلیو سے ہوتی ہے جس کی نگرانی اور متعدد تھریڈز میں اپ ڈیٹ کیا جا سکتا ہے۔

- شیڈروں میں کم صحت سے متعلق عددی اقسام کو استعمال کرنے کی صلاحیت؛
- HLSL ہم آہنگ میموری لے آؤٹ؛
- بغیر بندھن کے وسائل، جو سسٹم میموری اور GPU میموری کی مشترکہ ورچوئل اسپیس کا استعمال کرکے شیڈرز کے لیے دستیاب وسائل کی تعداد کی حد کو ہٹا دیتے ہیں۔
- ، جو اس بات کی وضاحت کرتا ہے کہ کس طرح بیک وقت عمل کرنے والے تھریڈز مشترکہ ڈیٹا اور ہم وقت سازی کی کارروائیوں تک رسائی حاصل کر سکتے ہیں۔
- متعدد شیڈرز پر لے آؤٹ ڈسکرپٹرز کو دوبارہ استعمال کرنے کے لیے؛
- بفر لنکس۔
شامل کردہ ایکسٹینشنز کی مکمل فہرست:
- (ٹائم لائن سیمفور)، جو میزبان اور ڈیوائس کی قطاروں کے ساتھ ہم آہنگی کو یکجا کرتا ہے (آلہ اور میزبان کے درمیان ہمہ جہتی ہم آہنگی کے لیے واحد پرائمٹیو کی اجازت دیتا ہے، الگ الگ VkFence اور VkSemaphore پرائمیٹوز کی ضرورت کو ختم کرتا ہے)۔ نئے سیمفورس کی نمائندگی یک طرفہ طور پر بڑھتی ہوئی 64 بٹ ویلیو سے ہوتی ہے جس کی نگرانی اور متعدد تھریڈز میں اپ ڈیٹ کیا جا سکتا ہے۔
- 50 سے زیادہ نئے ڈھانچے اور 13 افعال؛
- ہم نے مخصوص ٹارگٹ پلیٹ فارمز کے لیے تفصیلات کے مختصر ورژن تیار کیے ہیں، ایسے پلیٹ فارمز پر کام کو آسان بناتے ہوئے جو ابھی تک تمام ایکسٹینشنز کو سپورٹ نہیں کرتے ہیں اور بنیادی Vulkan API صلاحیتوں کو منتخب طور پر فعال کرنے کی ضرورت کو ختم کرتے ہیں۔
- دوسرے گرافکس APIs کے ساتھ پورٹیبلٹی کو یقینی بنانے کے لیے پروجیکٹ پر کام جاری رہا۔ مثال کے طور پر، ولکن نے توسیع کی تجویز پیش کی ہے جو اوپن جی ایل ترجمہ کی اجازت دیتی ہے ()، اوپن سی ایل (, )، OpenGL ES (GLOVE، Angle) اور DirectX (, Vulkan API کے ذریعے، اور اس کے برعکس، پلیٹ فارمز پر اس کی مقامی مدد کے بغیر ولکن آپریشن کو یقینی بنانے کے لیے ( и OpenGL اور DirectX کے اوپر کام کرنے کے لیے، اور میٹل کے اوپر کام کرنے کے لیے gfx-rs)۔
DirectX اور HLSL کے ساتھ مطابقت کو بہتر بنانے کے لیے ایکسٹینشنز کو شامل کیا گیا ہے۔
VK_KHR_host_query_reset، VK_KHR_uniform_buffer_standard_layout، VK_EXT_scalar_block_layou، VK_KHR_separate_stencil_usage، VK_KHR_separate_depth_stencil_layouts، اور HIRSL کی خصوصیات کو لاگو کرتا ہے۔
مستقبل کے منصوبوں میں مشین لرننگ، رے ٹریسنگ، ویڈیو انکوڈنگ اور ڈی کوڈنگ، VRS (متغیر شرح شیڈنگ) کے لیے سپورٹ، اور میش شیڈرز کے لیے ایکسٹینشنز کی ترقی شامل ہے۔
آئیے آپ کو یاد دلاتے ہیں کہ Vulkan API ڈرائیوروں کو یکسر آسان بنا کر، GPU کمانڈ جنریشن کو ایپلی کیشن سائیڈ میں منتقل کر کے، ڈیبگ لیئرز کو فعال کر کے، پلیٹ فارمز میں API کو یکجا کر کے، اور GPU پر عمل درآمد کے لیے کوڈ کی پہلے سے مرتب شدہ انٹرمیڈیٹ نمائندگی کا استعمال کر کے۔ اعلی کارکردگی اور پیشین گوئی کو یقینی بنانے کے لیے، ولکن ایپلیکیشنز کو GPU آپریشنز کو براہ راست کنٹرول کرنے اور ملٹی تھریڈڈ GPU کمانڈ پروسیسنگ کے لیے بلٹ ان سپورٹ فراہم کرتا ہے، جو ڈرائیور کے اوور ہیڈ کو کم سے کم کرتا ہے، جبکہ ڈرائیور کی طرف کی صلاحیتوں کو نمایاں طور پر آسان اور پیش گوئی کرتا ہے۔ مثال کے طور پر، میموری مینجمنٹ اور ایرر ہینڈلنگ جیسے آپریشنز، جو ڈرائیور سائیڈ پر اوپن جی ایل میں لاگو ہوتے ہیں، ولکن میں ایپلیکیشن لیئر میں منتقل ہوتے ہیں۔
Vulkan تمام دستیاب پلیٹ فارمز پر محیط ہے اور ڈیسک ٹاپ، موبائل اور ویب کے لیے ایک واحد API فراہم کرتا ہے، جس سے مختلف GPUs اور ایپلیکیشن کے علاقوں میں ایک واحد، مشترکہ API کو فعال کیا جاتا ہے۔ ولکن کا ملٹی لیئرڈ فن تعمیر، جو کسی بھی GPU کے لیے ٹولز بنانے کی اجازت دیتا ہے، ہارڈویئر مینوفیکچررز کو ترقی کے دوران کوڈ ریویو، ڈیبگنگ اور پروفائلنگ کے لیے عام ٹولز کا فائدہ اٹھانے کی اجازت دیتا ہے۔ شیڈر ڈویلپمنٹ کے لیے، SPIR-V نامی ایک نئی پورٹیبل انٹرمیڈیٹ نمائندگی (IR) پیش کی جاتی ہے، جو LLVM پر مبنی ہے اور OpenCL کے ساتھ بنیادی ٹیکنالوجیز کا اشتراک کرتی ہے۔ ڈیوائس اور ڈسپلے مینجمنٹ کے لیے، ولکن WSI (ونڈو سسٹم انٹیگریشن) انٹرفیس پیش کرتا ہے، جو OpenGL ES میں EGL کی طرح کام کرتا ہے۔ WSI سپورٹ Wayland میں باکس کے باہر دستیاب ہے — ولکن پر مبنی تمام ایپلیکیشنز غیر ترمیم شدہ Wayland سرور ماحول میں چل سکتی ہیں۔ WSI سپورٹ کے لیے بھی دستیاب ہے۔ Android، X11 (DRI3 کے ساتھ)، Windowsتزین، macOS اور iOS۔
ماخذ: opennet.ru


