News for hackers. Stuff that matters.
Re:Vulkan and OpenCL will merge into a single API by protomyth on Saturday May 20, 2017 @03:08PM (#14383820)
I wonder what the means for Apple and their desire for Metal over Vulkan?
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Saturday May 20, 2017 @03:31PM (#14383932)
Nothing.

Although they created OpenCL, they lost interest in keeping it up to date long time ago.

The future of OpenCL on Apple platforms is Metal Compute and I bet there is nothing at WWDC 2017 that will contradict this.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @03:27AM (#14386135)
Metal will die out, but it till take Apple a very long time to realize it's pointless.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @04:30AM (#14386334)
The market share of iOS is so tiny.
Re:Vulkan and OpenCL will merge into a single API by infinisil on Saturday May 20, 2017 @03:18PM (#14383858)
I really hope they'll catch that train, it may be their last chance to get onto tomorrows graphics stack
Re:Vulkan and OpenCL will merge into a single API by MBCook on Saturday May 20, 2017 @04:10PM (#14384118)
I think Apple has made it abundantly clear they don't care. They've never released terribly good or performant open GL drivers on OS X. My understanding is they've always been quite behind on features.

Apple has an API they make that will be nice and fast and do everything they want and they can update anytime they want. And because it's the same one it's going to be used on iOS and other places it will have support and people use it. There will be tooling for it.

They tried open CL and lost, along with their approach on the Mac Pro, I don't really see them going forward with it. It seems pretty clear that CUDA is what people really want right now, that's another proprietary API.

I'm not sure what the big drive for having Vulcan on Apple platforms is other than to be on the "standard". That gives Apple some benefits but they don't seem to think it's worth it. I'm not entirely sure they're wrong, especially given that Apple can make an API that fits very well with their custom chip that they put in hundreds of millions of devices. The fact that Apple operates the whole stack lets them do some of the stuff they do faster than anyone else, using Vulcan wouldn't give them that.

Re:Vulkan and OpenCL will merge into a single API by pcwalton on Saturday May 20, 2017 @04:15PM (#14384133)
> The fact that Apple operates the whole stack lets them do some of the stuff they do faster than anyone else, using Vulcan wouldn't give them that.

There isn't anything I'm aware of that Metal can do faster than Vulkan can.

The situation is simply that Apple doesn't care, since they're invested in Metal and see no reason to switch. Developers are forced to use Metal because it's the only thing Apple supports, and Apple sees no reason to make it easier to port applications to competing platforms. This decision may or may not be a conscious effort to create lock-in, but whether malicious or not, it hurts developers like me who have to develop modern cross-platform graphics applications.

Re:Vulkan and OpenCL will merge into a single API by MBCook on Saturday May 20, 2017 @05:28PM (#14384442)
What I was referring to there is that since Apple makes the chips (for iOS only, for now) and Apple makes the API and Apple makes the drivers (even on the Mac side) then Apple can implement new features they come up with faster than others. For example if Apple makes a new bit of the A23 chip that is designed to do some Neville feature that's not currently in Vulkan or Metal ( to make up something stupid, something that accelerates replacing colors of an image with their square roots) Apple can put it in the shading language and the driver extremely fast. They can have it ready for announcement.

On the other hand with Vulkan Nvidia or someone else would have to do some other process (I'm assuming it has some sort of extension support the way OpenGL did) and it would only get standardized later, if at all.

Or maybe it's not a new feature that gets exposed to developers. Maybe it's something along the lines of because Apple knows how the chips work and the shading pipeline and all that other stuff they are able to get extra information out of it to help reduce power draw where if they were using someone else's API it wouldn't be nearly as easy to glean information necessary.

> This decision may or may not be a conscious effort to create lock-in, but whether malicious or not, it hurts developers like me who have to develop modern cross-platform graphics applications.

My read on thing is that Apple doesn't really try to CREATE lock-in anymore, they just do what's best for Apple and that is often a side effect.

It seems like a lot of cross platform stuff has gone to using intermediate frameworks (at least in gaming) so I guess they're just sort of counting on that to bridge the gap. Outside of that (professional things) I'm guessing they think they either have enough market that they can get people to follow (possibly with some help from Apple) or they just don't think it's important enough to bother with.

The way Apple has been letting professionals just sort of sit there hoping for updates for a couple of years has been well documented, that may be the case here too. But like I said earlier, it's not like they ever had very good OpenGL support either. Are they treating a bad implementation of an old API for a good implementation of their own? Assuming they don't want to make a good implementation of the standard API (because obviously they don't) is that a good trade off? I don't know enough to make any reasonable guess.

Re:Vulkan and OpenCL will merge into a single API by theparanoid on Saturday May 20, 2017 @07:23PM (#14384910)
Apparently what's best for Apple is having crappy graphics drivers. Cause that's what they have right now.
Re:Vulkan and OpenCL will merge into a single API by X86BSD on Saturday May 20, 2017 @10:59PM (#14385480)
Correction, that is what they have had for 20 years. Steve ignored and refused to push graphics technology and cook is doing the exact same thing. I can't count the years growing up I wanted Apple to have the latest games. This was back in the IIc days. Steve hated games. Apple never took a lead roll here. They never supported game tech. The graphic stack especially. You don't think games when you think Mac. You never have. And games are where graphic technology is pushed the hardest. I don't see this changing with Apple ever. It wasn't even a consideration with Steve and it's not with Tim either. It is what it is. Shrug.
Re:Vulkan and OpenCL will merge into a single API by ioquatix on Sunday May 21, 2017 @01:49AM (#14385882)
You can write platform/hardware specific extensions to Vulkan, it's very easy and anyone can do it.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @07:50AM (#14386860)
Oh the fun of writing and debugging multiple execution paths in OpenGL is back!
Re:Vulkan and OpenCL will merge into a single API by pcwalton on Sunday May 21, 2017 @02:10PM (#14388356)
> But like I said earlier, it's not like they ever had very good OpenGL support either.

Around 2005 or so, Apple had one of the best implementations of OpenGL in the entire industry. Sadly, in a decade, they went from the best implementation in the industry to the worst.

Re:Vulkan and OpenCL will merge into a single API by mathnode on Saturday May 20, 2017 @07:47PM (#14384998)
Metal has been out and working for two years. And working well.

Apple have a graphics API. Microsoft have a graphics API. Sony have a graphics API. Nvidia have their own libraries and compilers and so do AMD.

Re:Vulkan and OpenCL will merge into a single API by zanny on Saturday May 20, 2017 @08:06PM (#14385065)
And developers love rewriting their graphical backends for every target platform, its the best!
Re:Vulkan and OpenCL will merge into a single API by bronxbomber92 on Saturday May 20, 2017 @11:45PM (#14385612)
In reality, for most developers, it is a non-issue to bringup a new graphics API backend. See, for example, Arseny Kapoulkine's experience porting to Metal: http://zeuxcg.org/2016/12/01/metal-retrospective
Re:Vulkan and OpenCL will merge into a single API by ioquatix on Sunday May 21, 2017 @01:04AM (#14385777)
One example is not most developers.

I'm a developer and I get paid to write hardware accelerated renderers and for the past two years I've been recommending Vulkan.. I'm exclusively using Linux these days for software development. Sometimes it's not about what you're targeting for deployment but the capabilities of the development machine. For example, I do like Xcode, but I can't use it for Vulkan development, even if my ultimate platform isn't macOS/Apple.

Apple dropped the ball on Vulkan and I do hope they support it eventually.

Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @03:17AM (#14386100)
Good luck using Vulkan on the PS, XBox or 93% of Android devices out there.
Re:Vulkan and OpenCL will merge into a single API by ioquatix on Sunday May 21, 2017 @09:11AM (#14387131)
We develop server based hardware-accelerated renderers and compositors for web applications, e.g. dynamically generated product images. None of those targets are relevant. Think ImageMagick but done on hardware + 3D geometry in many cases.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @03:16AM (#14386098)
Yes they do, just indies and FOSS devs on HN don't.

The software development culture on the games industry is to make use of the best way to squeeze the graphics performance of a given piece of hardware until the last drop of juice.

This is an industry that was born from rewriting their whole games for each type of gaming platform they wanted to sell games to, in Assembly. In many cases using a dumb hexdump editor connected over a serial cable.

Having an abstraction layer over all graphics API is a minor inconvenience that can be easily done in one month.

Plus it is something that is only written once for a specific engine.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @03:30AM (#14386145)
No, they don't. Because it's not free and wastes their time. You just keep repeating this weird idea, that developers like this balkanized landscape. They don't. No one likes it, except for lock-in freaks who created it to keep cross platform development expensive.

> Having an abstraction layer over all graphics API is a minor inconvenience that can be easily done in one month.

Quite false. Take a look how long it takes major engines (like Unreal) to implement such abstraction. And how long it takes them to iron out bugs caused by underlying differences. And then try to claim it's a good thing they need to waste all this time. I don't really understand why you personally like this mess.

Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @04:28AM (#14386327)
Because I have the experience in the games industry that you lack.

Apparently from the votes I sometimes get, others also share my life experience.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @04:36AM (#14386346)
If you have experience, you'd know it's time consuming and taxing. You either like this time wasting, or you benefit from this taxation (working for MS?).
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @05:01AM (#14386395)
Only FOSS devs see it as time consuming and taxing, professional game studios see it as an opportunity to explore hardware performance to the last drop.

For anyone with experience in graphics programming, the time to triangle is just like doing hello world or playing fizz buzz.

The last time I set my feet inside of a game studio was more than a decade ago, but it started with an S not M, and I still have contacts in the industry.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @05:12AM (#14386419)
> Only FOSS devs see it as time consuming and taxing

You don't need to see it, it's a simple fact. Engines like Unreal, Cry/Lumberyard, Unity and etc. aren't FOSS. Plus they are commercial products. Ask their developers if current balkanized mess helps them delivering features for game developers faster. The answer is no, it takes them much longer.

So please stop claiming that it's not a problem. It only shows that you aren't sincere.

Re:Vulkan and OpenCL will merge into a single API by mathnode on Sunday May 21, 2017 @05:13AM (#14386426)
The reality is, in house tooling and engines do use multiple graphics api's, and that's perfectly fine. They are not slapdash implementations; professional graphics rendering programmers know and use these API's (See the GPU Pro book series, and Real Time Rendering), it's their profession.

A commercially successful multi-platform game like skyrim, use at least 4 API's (DirectX, NVN, PSGL, and DirectX), but no OpenGL or Vulkan to be seen at all.

Anvil and Frostbite have no existing opengl driven software titles. And that's perfectly fine.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @05:16AM (#14386429)
And using those 4 APIs isn't free, don't you think? It means a lot of resources are spent on supporting them, instead of fixing actual bugs or developing better features. I.e. they pay the tax. This applies to in-house or third party engines all the same. And it's not perfectly fine by far.
Re:Vulkan and OpenCL will merge into a single API by mathnode on Sunday May 21, 2017 @07:03AM (#14386707)
I agree it's not free. But will you make return on the effort/time/money invested?

EDIT: Do you think debugging vulan/opengl is free? Software houses like valve have had to make their own tooling to debug and optimise for vulkan and opengl.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @12:23PM (#14387935)
It's not about some effort. It's about wasteful multiplication of that effort, caused by balkanized API landscape.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @03:22AM (#14386108)
Even Nintendo has their own APIs.

They added Vulkan support for Switch, but the actual main graphics API is NVN.

https://blogs.nvidia.com/blog/2016/10/20/nintendo-switch/

I bet most professional studios not using a games engine like Unreal or Unity already, will favor NVN.

Just like they did with OpenGL ES 1.0 + Cg vs Libgcm on the PS3.

Re:Vulkan and OpenCL will merge into a single API by mathnode on Sunday May 21, 2017 @05:21AM (#14386438)
It's a bet you would win. And not just for Graphic api's but asset API's.

Some engines like idtech4 (mb/ma, lwo) and anvil (max) directly use the asset formats which are created by an artsists desired application, not collada or fbx.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @03:30AM (#14386144)
Professional studios can have resources to use Vulkan proper. They don't need to waste them on non portable stuff.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @04:29AM (#14386332)
Given that they choose not to do it, says a lot.
Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @04:38AM (#14386348)
As far as I can see, they choose to do so, contrary to your claims. They prefer to save money, not to waste it on duplicating of effort.
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @04:56AM (#14386383)
Really?

93% of Android devices don't support Vulkan, PS, XBox, UWP don't support Vulkan and Nintendo Switch API is mainly NVN, in spite of having Vulkan support as well.

Also this is the list of "great" Vulkan games released thus far.

https://en.wikipedia.org/wiki/List_of_games_with_Vulkan_supp...

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @05:00AM (#14386390)
We were talking about Nintendo, So, who is using NVN and not Vulkan exactly?
Re:Vulkan and OpenCL will merge into a single API by pjmlp on Sunday May 21, 2017 @05:04AM (#14386400)
They probably did it just like Sony did with OpenGL ES 1.0 for PS3, to test waters.

For the rest of your question, sorry NDA.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @05:20AM (#14386437)
> sorry NDA

So, it means you are just speculating.

Re:Vulkan and OpenCL will merge into a single API by shmerl on Sunday May 21, 2017 @03:29AM (#14386140)
You described sick balkanized situation of incompatible APIs from lock-in freaks. It's a pretty bad picture.
Re:Vulkan and OpenCL will merge into a single API by mathnode on Sunday May 21, 2017 @05:15AM (#14386427)
API's are not lock-ins. They are API's.