RobertBeckebans / RBDOOM-3-BFG

Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features
https://www.moddb.com/mods/rbdoom-3-bfg
GNU General Public License v3.0
1.38k stars 247 forks source link

Vulkan Support #287

Closed RobertBeckebans closed 3 years ago

RobertBeckebans commented 8 years ago

I hope we will get rid of most performance issues and OpenGL driver bugs with this.

ghost commented 8 years ago

I hope so too. There is a Vulkan group on Github, I remember them having some links to tutorials and news. I believe that it will also sort out some issues on Linux and run quite well with HSA hardware.

Dota 2 has Vulkan if I understand correctly, however I think devs need to ask Valve for that version.

romulus2k4 commented 8 years ago

+1 for Vulkan!

aFoxNamedMorris commented 8 years ago

This is a must for efficient rendering on non-Windows platforms.

BielBdeLuna commented 8 years ago

@aFoxNamedMorris let's see first how the drivers come out, it seems for AMD users there is no Vulkan without the latest graphic cards, and I don't know about Nvidia or Intel. but I bet they will use Vulkan to sell more GPUs so I bet they will banish old cards from it at the beginning, let's see how long before Mesa has support for Vulkan. Which is very unfortunate!

ghost commented 8 years ago

I read somewhere that Vulkan will work with cards that has OpenGL 3.3 and up.

DanielGibson commented 8 years ago

On 01/20/2016 10:15 PM, Yetta1 wrote:

I read somewhere that Vulkan will work with cards that has OpenGL 3.3 and up.

Maybe it can, theoretically, from the minimal features it demands from hardware.

But it's up to the driver implementors (usually: GPU vendors) which GPUs will actually be supported. So if AMD decides to only support the last two generations, you're screwed with older hardware, until someone writes an open source vulkan driver for it.

ghost commented 8 years ago

Well when considering AMD's financial issues, I doubt they would go to far back in their GPU line for Vulkan support. I think Vulkan will shine on their AM1 and FM2 platforms.

DanielGibson commented 8 years ago

http://phoronix.com/scan.php?page=news_item&px=AMDGPU-Vulkan-Driver-Only

at least on Linux "I've just received confirmation from AMD that their forthcoming Vulkan driver will only work with the AMDGPU DRM kernel driver." "The AMDGPU driver is what currently supports the Radeon R9 285 "Tonga", R9 Fury "Fiji" series, Carrizo, etc. Basically, GCN 1.2 and all future GPUs."

http://www.phoronix.com/scan.php?page=news_item&px=Help-Bring-Older-GCN-To-AMDGPU says this will only change if "the community" patches support for older GPUs into the AMDGPU driver.

chasetheswift commented 8 years ago

https://www.khronos.org/assets/uploads/developers/library/overview/vulkan-overview.pdf

In Khronos' official PDF brief they state gpus that can run OpenGL ES 3.1, OpenGL 4, and up can run Vulkan. Any shortcomings on that is fault of the GPU manufacturer.

ghost commented 8 years ago

So the engine will have to have an upgrade on the OGL version?

chasetheswift commented 8 years ago

In theory, it could. Depends on the goals are when porting to Vulkan, if even that is a desire of group. It sounds like Vulkan support will be choppy for a bit on non-Intel gpus so the community may wish to stick to OpenGL for the time being.

spannerman79 commented 8 years ago

It would be something to consider but right now for cross GPU support I'd say stay with OpenGL - for now

Until there is news from Intel in regards to Vulkan support

ghost commented 8 years ago

It should have some good support for AMD at least, since Mantle was the precursor of Vulkan. The FM2 APU's already showed what mantle was capable of, though not the performance of high end, but great performance for the price range.

chasetheswift commented 8 years ago

Intel seems all in and their open source driver is their linux driver. Nvidia is talking about it but behind closed doors. AMD said that the Vulkan driver was only going to be in the closed driver and only for new gpus. The linux community is not taking the news well. On windows it's all DX12, thus I haven't seen much for windows support.

chasetheswift commented 8 years ago

I did some digging. Nvidia is all in with Vulkan but what GPUs will get support is yet to be disclosed. They have officially added a Vulkan section to their gameworks section. They say that once Vulkan is released into the wild they will update said developer page with more presentations and whatnot. As I said before, Vulkan support will be choppy for a while.

ghost commented 8 years ago

Nvidia will have Vulkan support for Geforce 600 cards and up.

BielBdeLuna commented 8 years ago

does OpenGL use the Vulkan intermediate shaders for anything? the SPIR-V, maybe adopting SPIR-V and using it in OpenGL would be the first step? so it would go CG/GLSL --> SPIR-V --> OpenGL / Vulkan

ghost commented 8 years ago

If I remember correctly there will also be support to use legacy GL with Vulkan. PowerVR and Intel really need Vulkan to improve performance for real-time application.

Here they talk about SPIR-V and Vulkan with an intermediate language. https://www.youtube.com/watch?v=qKbtrVEhaw8

BielBdeLuna commented 8 years ago

SPIR-V is an intermediate language based on GLSL that should do somewhat the same idTech does when compiling the CG to GLSL, but instead of the program doing it, the SPIR-V interface would do it. The benefit being that the output is already prepared for whatever graphics library we decide to use. in that case OpenGL or Vulkan, and IIRC CG was the first language they where looking to implement alongside GLSL.

ghost commented 8 years ago

Never heard of IIRC.

BielBdeLuna commented 8 years ago

:) IIRC "if I remember correctly"

ghost commented 8 years ago

<Derp, Lol ok, that makes sense, was wondering what you meant because I couldn't find anything on a IIRC CG.

RobertBeckebans commented 8 years ago

You can compile any language to SPIR-V byte. It would be even possible to compile C++ to SPIR-V. Khronos provides a GLSL to SPIR-V compiler that makes the integration process easy.

aFoxNamedMorris commented 8 years ago

Vulkan spec and shit just went live! Everybody hold onto your asses!

RobertBeckebans commented 8 years ago

Just in time for my birthday :dancer: :+1:

ghost commented 8 years ago

Yup saw the notification on the Github Vulkan page. Can't wait.

kortemik commented 8 years ago

https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification

Deperture commented 8 years ago

Don't mean to be off-topic, but could someone tag this as an Enhancement?

BielBdeLuna commented 8 years ago

a new renderer an enhancement? it's a feature isn't it?

Deperture commented 8 years ago

The enhancement was adding Depth of Field to the post processing suite. Back on Topic, how's Vulkan?

aFoxNamedMorris commented 7 years ago

Necropoke. (Sorry/Not sorry.)

ghost commented 7 years ago

nVidia dropped Vulkan support for Fermi based GPU's, which sucks since my Geforce is Fermi based and I have tested Vulkan on it on Linux, but no love on Windows, just crashes.

mhalano commented 6 years ago

Any news on this since vkneo is coming?