• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Nintendo joins Khronos Group as a contributor member.

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
SPIR-V isn't binary at all. It is a immediate language (like e.g. Java). This is deliberate change from Mantle to allow better hardware vendor compatibility.
SPIR-V is an intermediate language - an IR, and is heavily, erm, based*, on llvm's IR, AKA SSA. In its machine form it's completely binary. It can be represented in text, for human readability, like assembly. Once passed to the driver it's further compiled to the native target, whatever that might be.

* largely borrowed.
 

Spladam

Member
seems like pretty much everyone is in it

Open standards are the future, something that Silicon Graphics foresaw many years ago, as they are the original creators of OpenGL. This is a far cry from the Nintendo I grew up with that stubbornly stuck with cartridges just so they could maintain proprietary formats.
 
The SPIR-V language is saved in a binary format, but it is not a binary executable.
You are correct saying that it is a intermediate (and most importantly platform-independent) language and cannot be executed directly like a compiled binary (.exe). It is not like assembler, because you wouldn't write it by yourself except for very simple testcases. From the SPIR-V whitepaper:

https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf


SPIR-V is generated for example from OpenCL sources or GLSL sources. The binary (but not yet executable) output can then be interpreted by the graphics driver independent of the graphics card itself. So it's not like java, but a little bit more like Java bytecode.

SPIR-V is an intermediate language - an IR, and is heavily, erm, based*, on llvm's IR, AKA SSA. In its machine form it's completely binary. It can be represented in text, for human readability, like assembly. Once passed to the driver it's further compiled to the native target, whatever that might be.

* largely borrowed.

Yep. The idea is to have programming languages compile to SPIR-V to allow for custom shader languages and some degree of future proofing.

It helps too that you're not bound to the limitations of GLSL or common C-like shader languages, and can instead define logic that's closer to what hardware can do, can be optimized at compile time instead of at run time, and remains human readable. Which today's high-level approaches to shader languages are very not good at. (RIP ARB Assembly Language)

C# to SPIR is possible and has already been proven, the same goes for C++ to SPIR.
 

LordOfChaos

Member
That picture just makes me hope more that Apple adopts Vulkan. They're 5 freakin years behind on OpenGL.

They have Metal, sure, but Vulkan would be huge for cross platform development.
 

FyreWulff

Member
It means Nintendo might have finally seen the light.

They don't gain anything by developing proprietary APIs for their consoles anymore, because they don't aim at a technological advantage. Instead they alienate third parties, because it requires additional effort to port from e.g. OpenGL to a proprietary API.

My bet: NX will support Vulkan and OpenCL and maybe maybe webgl, but no full blown OpenGL spec.

Nintendo has been using a variant of OpenGL since the GameCube. The last time they had a proprietary API was the N64.

Only Microsoft is using a proprietary API, DirectX.
 
Nintendo has been using a variant of OpenGL since the GameCube. The last time they had a proprietary API was the N64.

Only Microsoft is using a proprietary API, DirectX.

I dunno, doesn't PS4 use a couple proprietary APIs? I've not ascertained what, if anything, they're based on.
 

LordOfChaos

Member
I dunno, doesn't PS4 use a couple proprietary APIs? I've not ascertained what, if anything, they're based on.

A low level API named GNM and a high level (OpenGL based) API named GNMX.

Similar to how the PS3 used LibGCM and PSGL. So in both platforms you had the option of going low level, or getting shittier but easier performance out of the OpenGL wrapper.

LibGCM really was the unspoken hero that kickstarted modern low level languages IMO, people tend to forget it when talking about where the modern ones started.
 

Thraktor

Member
As already mentioned, Nintendo are free to use OpenGL, Vulkan, SPIR, etc. or derivatives thereof without being members of Khronos, which is what makes them open standards. A company only benefits from being a contributing member of a standards-setting organisation like this if they're concerned about interoperability between their hardware/software and that of other platforms. For example, Nintendo could either add features to a Vulkan-based API for NX, which would then only work on Nintendo platforms, or they could convince the Khronos group to add the features to Vulkan itself, meaning they'd work on any platform which supports Vulkan.

Now, the question is why would Nintendo want this interoperability, and with which of Khronos's APIs?

The obvious answer here would be OpenGL ES, as Nintendo move into mobile app development it would be advantageous for them to use a single API across iOS, Android and their own hardware. Being able to contribute to OpenGL ES (and Vulkan when it supersedes ES) may allow Nintendo to work in features which allow them to make more effective use of both their own hardware and others' when developing cross-platform apps.

Another possibility is WebGL, for much the same reason, as Nintendo may use it as a means to share content across mobile devices and their own hardware.

Another less likely prospect, although one which shouldn't necessarily be dismissed out of hand, is that Nintendo is moving away from custom APIs and plan on using vanilla Vulkan as the graphics API on NX, either as a means to make porting to the console as straight-forward as possible, or to allow them to switch hardware partners in future while still retaining forward-compatibility. If they were to do this, they'd want to make damn sure that Vulkan could do everything they need it to, which would necessitate becoming a contributor to the standard.
 
I think the biggest thing that can be taken from this is that Nintendo, who for years has been all about doing their own thing and keeping to themselves, is finally willing to recognize that they are a part of the global economy. Admittedly, it's a small step to fixing the many, Many, MANY, MANY things wrong with the company, but it's a start.
 

Vinland

Banned
I see them wanting to have a place at the table and to possibly interact with some of the Japanese talent in the group already for possible poaching. It also probably means that we will see a amd x86 or arm (possibly amd arm) APU in the next Nintendo platform.
 
SPIR-V isn't binary at all. It is a immediate language (like e.g. Java). This is deliberate change from Mantle to allow better hardware vendor compatibility.

Whoops, I am still learning this stuff myself. Thanks.


Whoa. Is this legit?

Yeah, more than likely. Phoronix is a Linux heavy site, and mostly focuses on benchmarking new hardware and drivers in OpenGL and other open source API's. The owner of the site gets to see a lot of behind the scenes things that gets locked under NDA,
 
Nintendo has been using a variant of OpenGL since the GameCube. The last time they had a proprietary API was the N64.

Only Microsoft is using a proprietary API, DirectX.

Patently false...

I worked on both the Wii and 3DS and I can categorically state that both had proprietary APIs which nobody in their right mind would refuse to use if they cared about performance or framerate.

They supported an OpenGL [subset] but the overwhelming vast majority of developers did not use it.

Same can be said of Sony with the PS2 (eventually supporting a rubbish OGL library), PS3, VITA and I suspect the PS4.
 
OahU0f7.png


https://www.khronos.org/members/contributors/nintendo-co.-ltd

I'm surprised there isn't a press note about this. I noticed it today watching a conference at Linaro Connection, but it seems it is known since September 6th according to Archive.org first register.

I see I'm not the only one at linaro connect on GAF, hah.
 
Top Bottom