[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/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 - fteqw vulkan backend

fteqw vulkan backend

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

fteqw vulkan backend

Postby revelator » Thu Jun 29, 2017 6:30 pm

Newer got to try this out so i compiled new spirv blobs to see if it would do some difference, and it did sortoff.

The default blobs crashed on my AMD card but after compiling my own it only crashes if i try to enable extensions it does not yet support.

atm those are

./generatebuiltinsl
fixedemu: GL VK D11
altwater: GL VK
bloom_blur: GL
bloom_filter: GL
bloom_final: GL
colourtint: GL
crepuscular_opaque: GL
crepuscular_rays: GL
crepuscular_sky: GL
depthonly: GL VK D11
default2d: GL D11
defaultadditivesprite: GL
defaultskin: GL VK D9 D11
defaultsky: GL VK D9 D11
defaultfill: GL D11
defaultsprite: GL D11
defaultwall: GL VK D11
defaultwarp: GL VK D9 D11
defaultgammacb: GL VK
drawflat_wall: GL D11
wireframe: GL
itemtimer: GL
lpp_depthnorm: GL
lpp_light: GL
lpp_wall: GL
postproc_fisheye: GL VK
postproc_panorama: GL VK
postproc_laea: GL
postproc_stereographic: GL VK
postproc_equirectangular: GL
fxaa: GL VK
underwaterwarp: GL VK
menutint: GL VK D11
terrain: GL D11
rtlight: GL VK D9 D11

as you can see a lot of the extensions opengl supports are not yet supported by vulkan and will probably crash if enabled.
But if anyone wants to try and toy with the missing extensions and like me have an AMD card, id be happy to upload my recompiled blobs.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby revelator » Fri Jun 30, 2017 7:53 am

Btw also managed to persuade FTE to spit out the web build :razz: that took "some" work because of changes in emscripten, but was mostly a pain because i had to manually setup the .emscripten configuration file " it was trying to use the mingw64 clang to build stuff" :shock: well it can build some stuff but its far from prime time ready.

Not sure how to use the archives it spit out though ?, i guess PHP.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby Spike » Fri Jun 30, 2017 11:25 pm

the precompiled vulkan blobs on fte's svn were built via glslangvalidator that came with version 1.0.5.0 of lunarg's vulkan sdk.
later versions seemed to cause unexplained crashes (either with the validation layers or nvidia's drivers, not sure which now), so I never really tried to get the build system to recompile them automatically.
and because of that I missed a few extra vulkan .glsl files (I only realised when I noticed a lack of VK for your bloom). those should be committed now, at least. I assume that's what you meant by 'missing extensions'.

the emscripten stuff should generate:
ftewebgl.html (provide your own alternative if you think you can make a posher webpage for it)
ftewebgl.js (the game engine itself)
ftewebgl.js.mem (the .data section, as it were)
Place all three files on a web server and load the html file in your browser and it'll start up fte, which will attempt to also download ftewebgl.html.fmf (by default), which should tell it where to get its paks/pk3s from. You can find a few examples at http://triptohell.info/moodles/web/
Ideally you'll set up your server to use 'content-encoding: gzip' for the js+mem+pak+pk3 files, ideally cached serverside.
If you wish to connect to servers, you may need 'Access-Control-Allow-Origin: *' as another http header provided by your web server, while game servers require sv_port_tcp set to a suitable port. Note that I set up fte servers to automatically redirect to the version on triptohell if you try loading that tcp port with a web browser, which is a fun trick (indeed I used php to ensure those http headers were set correctly for this to work efficiently). Obviously, pak1.pak+copyrighted type stuff will always be a problem that can only be solved with stand-alone mods.

If you've got a linux/cygwin system, you should be able to play around with the build scripts I added to the svn. one configures (and installs dependancies like emscripten or android), the other recompiles the various (cross-)targets that you selected. That's the theory anyway.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: fteqw vulkan backend

Postby revelator » Mon Jul 03, 2017 1:03 am

Aye noticed while updating that you added some of the missing shaders thanks spike :)
Msys2/MinGW64 now has all the vulkan tools also glslangvalidator so that part was not to hard to get running :) still crashes at times with some shader error in the blobs so there seem to be some stuff in them that AMD cards dont like to much ?. Also thanks for explaining how the web backend works.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby revelator » Mon Jul 03, 2017 1:33 am

Error is Error 3 creating pipeline for default blend, just if you want to have a look at it :)
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby Spike » Mon Jul 03, 2017 2:42 am

-3 is VK_ERROR_INITIALIZATION_FAILED

vkCreateGraphicsPipelines is the most overcomplicated single function you've ever seen...
It takes about 9 different state structs in addition to the spir-v blobs along with renderpass info and pipeline cache state... There's about 300 lines dedicated to giving it the arguments that it needs, so when it just fails with 'initialisation failed' (the most generic error code it can give), its kinda frustrating...
(I really ought to thread it some time, too)
if deleting vulkan.pcache does nothing, and vk_debug 2 (or possibly just 1 if you need the driver itself to report why its failing) doesn't report anything interesting, then your guess is as good as mine.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: fteqw vulkan backend

Postby revelator » Mon Jul 03, 2017 6:00 am

Deleting pcache does not fix it, same error :/ do i set vk_debug on the command line or can i pass it through shortcut ?

edit. ok tried the vk_debug command but since it throws me back to desktop when crashing im not really getting anything usefull, should i use -condebug with the vk_debug command ?.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby Spike » Mon Jul 03, 2017 8:09 am

+set vk_debug 2 -condebug

or just start it up with the gl renderer, set the cvar then switch the renderer over. be sure you've got console logging going so that you can still read it despite sys_errors (if you're debugging with msvc, -outputdebugstring is probably easier).

basically vk_debug > 0 enables the debug hook stuff provided by vulkan, so drivers or layers or whatever can spew out various notices or debug warnings or whatever.
vk_debug 2 additionally enables the various debug layers. You'll get all sorts of warnings spewing out onto the console for each _potential_ issue that those debug layers spot. quite often it'll be boring stuff like barriers. such things are not fatal because the memory behind them should still be valid, they're just a race condition on some memory the gpu will poke.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: fteqw vulkan backend

Postby revelator » Mon Jul 03, 2017 12:47 pm

huh error creating pipeline for progs/s_bubble_red1.spr_2.tga with vk_debug 1 with vk_debug 2 it refuses to start in gui mode and throws this error in qconsole

VK_ERROR_LAYER_NOT_PRESENT: requested layer is not known/usable if i set the renderer to vk

hmm that was with the ad mod with stock quake i get the pipeline error for particles_classic
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: fteqw vulkan backend

Postby revelator » Mon Jul 03, 2017 12:53 pm

Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest