
Vulkan 1.1 Released - z3phyr
https://www.khronos.org/news/press/khronos-group-releases-vulkan-1-1
======
hit8run
It’s kind of sad that Apple and the Khronos Group diverted here. Apple pushes
Metal and has thus far not shown any interest in supporting Vulkan. It would
be nice for the industry to have a stable well maintained common denominator
for all platforms.

~~~
pjmlp
FOSS people like to single out Apple, when the reality is Apple, Nintendo
(Switch main API is NVN), Sony and Microsoft (Vulkan is desktop only).

And game devs don't care because they already have their own middleware.

~~~
vetinari
FOSS people like to single out Apple, because it is the only company that
ships desktop and mobile OSes that ignore Vulkan.

You won't find much FOSS software on Nintendo, Playstation or Xbox, and for
the respective middlewares porting to their respective 3d apis is cost of
business.

~~~
pjmlp
Microsoft ships also desktop and mobile OSes that ignore Vulkan.

Vulkan works only on desktop thanks to the same ICD model as OpenGL, which
isn't currently supported on UWP.

~~~
vetinari
Microsoft doesn't make the GPU drivers and the vendors are free to support any
API they want, at least under Win32.

Frankly, nobody cares about UWP and nobody cares about Microsoft mobile OSes.
Their usage is lower than deskto BSD.

~~~
pjmlp
UWP is the way forward, like it or not.

One day those Windows 7/8.x licenses will expire.

Yesterday's Windows Developer day was once again all about the store, IoT and
new AI frameworks.

Surfaces and hybrid laptops are also mobile OSes in a certain way.

~~~
Strom
> _UWP is the way forward, like it or not._

In Microsoft's plans perhaps. I don't know of a single person, offline or
online, who uses UWP. I've seen some UWP apps benchmarked by magazines, that's
about it.

~~~
pjmlp
Anecdote data.

I also have anecdote data from our customers doing UWP ports.

------
loeg
Notably, radv is 1.1 conformant on launch day:
[https://airlied.blogspot.com/2018/03/radv-
vulkan-11-coforman...](https://airlied.blogspot.com/2018/03/radv-
vulkan-11-coformant-on-launch-day.html)

~~~
vetinari
RADV (Mesa-developed driver for AMD), ANV (Intel), AMDVLK (AMD-developed
driver) and Nvidia are all 1.1 conformant on launch day.

------
tracyma
YCbCr texture support is great. Not sure future Android will make
SurfaceTexture compatible with Vulkan.

[https://stackoverflow.com/questions/43507536/how-to-
connect-...](https://stackoverflow.com/questions/43507536/how-to-connect-
android-mediacodec-surface-to-vulkan/43550804)

~~~
pjmlp
Vulkan support on Android is pretty thin outside Samsung and Google flagship
phones, not even big enough to be worthy being listed on Android Dashboards.

------
antoineMoPa
Could someone tell me shortly what Vulkan brings over opengl? To me it seems
that Vulkan is raising up the barrier to entry to Graphics programming by
being even more complex than OpenGL but I hope this feeling will disappear as
more code samples come out.

~~~
gpm
My first at all substantial graphics program (a ray traced 3d pong game with
reflections, refraction, etc) was in Vulkan, not OpenGL. I don't have the most
experience in this area, but I probably have a fairly unique viewpoint on
this.

Vulkan is lowering the barrier for entry to graphics programming. It's doing
this by not having hidden state. I don't have to remember what is stored where
when I'm programming, I can follow the very fine spec as a pretty much step by
step guide and get a working program. Practically every operation is simple,
and only really cares about the arguments you pass it not some global state.
This is very friendly to someone learning how it works.

It is raising the bar for implementing the "get a triangle onto the screen"
part of the program, but that's not the hard part and never will be. It's also
only raising that bar for crazy people like me who use Vulkan directly. In the
future by the time Vulkan really takes over I expect it will lower the bar for
that, since there will be nice libraries on top of it which deal with the
"allocate everything" step for you (and maybe now, I don't know of any but I
haven't searched... AMD has something I think).

~~~
pjmlp
> Vulkan is lowering the barrier for entry to graphics programming. It's doing
> this by not having hidden state.

This is OpenGL specific, there isn't an hidden state on other 3D APIs.

~~~
rys
That's not true. Direct3Ds up to and including 11 are the same way.

~~~
pjmlp
Not really, COM instances for each 3D concept are created and passed around.

There isn't this thing of binding/copying stuff into global state.

~~~
enqk
What about this (only one example)

ID3D11DeviceContext::IASetVertexBuffers [https://msdn.microsoft.com/en-
us/library/windows/desktop/ff4...](https://msdn.microsoft.com/en-
us/library/windows/desktop/ff476456\(v=vs.85\).aspx)

It's no different from manipulating the opengl context..

Also google bindless opengl

~~~
mellinoe
It's very different in practice.

D3D11 contexts are explicit, real objects that you create, manipulate, and
pass around. They can be properly and realistically handled in multi-threaded
code. OpenGL contexts are opaque and global, and properly handling them in
multiple threads is a nightmare. Multiple OpenGL contexts is also very
different in functionality from multiple D3D11 device contexts.

------
golergka
It's kind of sad to see graphics APIs finally become significantly better
while everybody except for a couple of AAA studios uses third party engines.

~~~
craftyguy
Those third party engines have to use something. I don't think anyone expects
all game developers to write their own engines using the vulkan API..

