[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Vulkan 1.0 goes official

Vulkan 1.0 goes official

Discuss programming topics that involve the OpenGL API.

Moderator: InsideQC Admins

Re: Vulkan 1.0 goes official

Postby toneddu2000 » Fri Oct 14, 2016 8:20 am

- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Vulkan 1.0 goes official

Postby toneddu2000 » Fri Oct 14, 2016 12:20 pm

no, my fault. My game directory uses shaders vulkan fte doesn't like. A simple directory with just maps and defaultwall shader works. Realtime lights don't work anyway
- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Vulkan 1.0 goes official

Postby toneddu2000 » Fri Oct 14, 2016 12:34 pm

no, my fault. My game directory uses shaders vulkan fte doesn't like. Even glsl postprocessing. A simple directory with just maps and defaultwall / rtlights shaders works.
No huge performance boost, by the way (opengl 80fps - vulkan 110fps)

r_bloom doesn't work right and r_fxaa (antialiasing) makes the texture like nintendo 8 bit pikels! :)
But it's a great start, Spike! Thanks for your hard work!!
- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Vulkan 1.0 goes official

Postby Spike » Fri Oct 14, 2016 7:56 pm

vulkan requires precompiled spirv blobs instead of glsl. fte's glsl renderer does try to take advantage of an nvidia extension to use glsl directly, but it doesn't support any permutations, so its kinda only useful for 2d stuff, like post-processing effects. shouldn't crash though. :/

I thought bloom+fxaa were working now, but I guess I screwed something up with barriers (I was a little lazy and just went with what worked for me rather than going through it in great detail, so it doesn't exactly surprise me if you get glitches).

there's also some weird performance issues with vulkan, like 1920*1080 getting only half the framerate of d3d9, despite the vulkan renderer just clearing the screen with the d3d9 renderer drawing the entire world... but oh well... vulkan copes better with lower resolutions at least.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Vulkan 1.0 goes official

Postby toneddu2000 » Wed Oct 19, 2016 6:19 am

- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Vulkan 1.0 goes official

Postby Spike » Wed Oct 19, 2016 7:19 am

I think you need to use rendertargets, and NOT the $currentrender thing (grabbing a copy of the current framebuffer isn't going to be any faster with vulkan, and probably actually a bit slower due to much lazier (ie: none) optimisations for it).
also needs 'vk_loadglsl 1' set (when doing vid_restart) in order to enable the glsl-in-vulkan extension. be sure you're not using any debug layers at the time, because they'll probably crash... yeah, loading glsl isn't really a standard thing.
the spir-v that fte normally uses is directly embedded into the engine like the default glsl shaders are. I have some script to generate a c header file with the various blobs included for each shader language, using system-specific paths to the 3rd-party vulkan tools ('glslangvalidator'), and with an outdated version of the tools in order to avoid validation errors and driver crashes... the vertex+fragment shaders are merged into a single blob with an internal fte-specific header to deal with permutations+specialisations+3rdparty bugs, which kinda makes the whole thing a mess.
so no, fte does not officially try to support custom spir-v blobs right now. I expect you can generate one anyway, but don't expect it to be easy in any way, nor still work with the next revision too.
that reminds me, I really ought to rewrite some shader stuff some time... and not just for vulkan. don't worry, I'm sure I'll forget about it again soon.

regarding fxaa, I probably hardcoded the res or something lame. I could have sworn it was working for me.
bloom seemed to cause the framerate to seriously plummet in linux. windows didn't suffer nearly as much. I've no idea what was going on there, but like I said, I skipped some barriers.

regarding fullscreen performance, if you check the pipeline cache files from nvidia implementations, you can find some fragments of a variation on pre-glsl arb programs (ie: asm). it looks like it uses streamed ubos containing indirections (read: pointers) to the actual ubos.
so that's two extra levels of indirection for each shader invocation, which isn't needed with opengl. which also kills an entire class of optimisations that mobile vendors promote quite heavily too (though I've no idea if it affects desktop gpus much with all their spare cache).
so yeah, I'm going to say its a driver issue, rather than my fault. either way I've given up on trying to optimise it.
if you've a low resolution or a thousand draw calls then vulkan is a win. if you're quake, then it'll probably have lower performance at high resolutions than d3d and probably opengl too. either way, it'll probably still average above 1000fps, so who really cares? other than pedantic obsessives, that is... alright, so half my target players... fine, you win. GAH. just stick with d3d9 (on windows) if you want silly framerates.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Vulkan 1.0 goes official

Postby toneddu2000 » Wed Oct 19, 2016 4:48 pm

- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Previous

Return to OpenGL Programming

Who is online

Users browsing this forum: No registered users and 1 guest