linuxmaster9 101 Posted February 13, 2016 The content of this brief is by Jason Ekstrand who is a i965 Mesa driver dev for Intel. All information is available on Khronos website: https://www.khronos.org/vulkan/ Who is Jason Ekstrand? Linux user since around 2000 Started playing with 3-D graphics/modeling with Blender in 2004 First started experimenting with OpenGL around 2007 Got involved in the Wayland project in December 2012 Hired by Intel in June of 2014 to work on the i965 driver in MesaBest known for NIR, the new optimizing middle-layer in Intel's shader compiler Jason will try to answer 3 questions: What is the Vulkan API? Why do we need it? What will we (open-source community) do once it gets here? What is the Vulkan API? Vulkan is a new 3-D rendering and compute api from Khronos, the same cross-industry group that maintains OpenGL. Redesigned from the ground-up; It is NOT OpenGL++ Designed for modern GPUs and software Will run on currently shipping hardware Why do we need a new 3-D API? OpenGL 1.0 was released by SGI in January of 1992 It was based on the proprietary IRIS GL API Brian Paul released MESA in August of 1993 Computers have advanced a lot in 24 years:GPUs are more powerful and flexible Memory has gotten cheaper Multi-core CPUs are common OpenGL has done amazingly well over the last 24 years! Not everything in OpenGL has stood the test of time: The OpenGL is API is a state of machine OpenGL state is tied to a single on-screen context OpenGL hides everything the GPU is doing This all made sense in 1992! Vulkan takes a different approach: Vulkan is an object-based API with no global stateAll state concepts are localized to a command buffer WSI is an extension of Vulkan, not the other way around. Vulkan is far more explicit about what the GPU is doingTexture formats, memory management, and syncing are client-controlled Enough is hidden to maintain cross-platform compatiblity Vulkan drivers do no error checking! Why should you care about Vulkan? Because it is Cool!! (JK) Because the industry is finally starting to care about open-source: Many of the tools will be open-source:glslang (a GLSL -> SPIR-V compiler) already lives on github loaders, validation layers and API tracers will be released with the spec An open-source conformance suite! Open-Source drivers:There will be an open-source driver for Intel hardware AMD plans to open-source their Vulkan driver eventually [XDC, 2015] We (the community) can write more! It provides opportunities for open-source It's a great API to target for apps and drivers Easier to integrate into toolkitsNo more thread-local context to manage Sane object model with better multithreading Easier to package and distribute May bring more apps to open platformsMost games are written for DirectX and only later ported to OpenGL If developers target Vulkan Directly, Linux isnt a hard jump It brings challenges for open-source How do we mix OpenGL and Vulkan?OpenGL will be around for a while OpenGL and Vulkan will have to live in the same toolkit Developers need to learn about Vulkan Infrastructure needs to be built It provides opportunities for education Vulkan has a sharper learning curve than OpenGL Vulkan's object model matches hardware better What happens next? The spec and initial drivers get released Distros package the loader and drivers Toolkits grow Vulkan support Apps and middleware libraries get written More free-software drivers get written The good news: Work has already begun! Khronos Group will be presenting the Vulkan API SDK on February 18th 2016 via Webinar. The Webinar will last approx. 1 hr. https://www.khronos.org/news/events/vulkan-webinar Share this post Link to post Share on other sites
lawndartleo 109 Posted February 13, 2016 I get why coders like open source (Yay, I can tweak!) but my experience at the user level is that it fractures the larger community in to smaller factions. In the end, is the result something better or just a mixed bag of mediocre variety? Share this post Link to post Share on other sites
linuxmaster9 101 Posted February 13, 2016 I get why coders like open source (Yay, I can tweak!) but my experience at the user level is that it fractures the larger community in to smaller factions. In the end, is the result something better or just a mixed bag of mediocre variety? That is not what I have experienced. I use Linux on a daily basis. Heck, Im typing this on my Lenovo running Ubuntu Gnome. The major camps in OpenSource dont necessarily fragment. Sure, someone might fork a project but that is so they can take it in a different direction for a bit. 9 times out of 10, the new code ends up being folded back into the original project if it is good enough. Forking is good for innovation. Vulkan is Open-Source but, is not so Open-source that it would be broken into tiny pieces. Vulkan is industry standard certified. Meaning, it wont change that much as it is an industry standard API. in the case of Linux, there are several major camps that each are geared towards certain user experiences. Gentoo/Slack Redhat/Fedora/CentOS Debian/Ubuntu Arch Debian/Ubuntu is for ease of use in general and newbs Gentoo/slack is for people who build their own OS from the kernel up RedHat/Fedora/CentOS are for people who are developers in general or run Servers Arch is for those who like to live dangerously as Arch repos are considered "Bleeding edge" All of these groups work together towards the goal of improving the Linux kernel and the associated software stacks. Share this post Link to post Share on other sites
dwaight 17 Posted February 13, 2016 Main reason would be to get rid of windows 10. Share this post Link to post Share on other sites
Tankbuster 1733 Posted February 13, 2016 How is this 'Arma 3 - General'? 1 Share this post Link to post Share on other sites
linuxmaster9 101 Posted February 13, 2016 How is this 'Arma 3 - General'? Vulkan is an alternative to DX12. BI has been considering DX12. There is a discussion about DX12 vs Vulkan. Hence, this post about Vulkan applies. 2 Share this post Link to post Share on other sites
R0adki11 3945 Posted February 14, 2016 Vulkan is an alternative to DX12. BI has been considering DX12. There is a discussion about DX12 vs Vulkan. Hence, this post about Vulkan applies. I hate to disagree, this thread will be moved to the offtopic section. 1 Share this post Link to post Share on other sites
the_noob 88 Posted February 16, 2016 Vulkan 1.0 released: https://www.khronos.org/vulkan/ Let's hope BI support it and there will be a notable fps increase in ArmA. Share this post Link to post Share on other sites
Ranwer135 308 Posted February 17, 2016 First time I was looking at this thread I was like cool, a review of the Star Trek planet, and now I'm like... :16_6_8: But I'd rather see Frostbite 3 get introduced into ArmA 3 than DX12. ;) Share this post Link to post Share on other sites
the_noob 88 Posted February 17, 2016 But I'd rather see Frostbite 3 get introduced into ArmA 3 than DX12. There's like zero chance for that considering FB is owned by EA and they don't license it out to other devs and I'm pretty sure BI wouldn't want to completely rewrite their code just to work on a foreign engine. Besides, why would you want to downgrade to that engine? What does it do better than Real Virtuality? More flashy graphics and scripted destruction? Can it do massive terrains, complex AI and detailed simulation models? Perhaps so, but there sure aren't any games out there demonstrating it. EA doesn't even allow modding of their titles so you'd be relegated to a super limited experience which is the opposite to what ArmA represents. A much more logical alternative to RV engine would be Outerra engine but realistically speaking, it's Enfusion. Share this post Link to post Share on other sites