Post subject: BizHawk 1.11.2 doesn't support shaders?
Joined: 7/24/2015
Posts: 20
Weird thing - can't use my shaders with new version of BH (1.11.2). For example this one (5xbr-v3.8a - http://www.u-sm.ru/downloads/5xbr-v3.8a.rar) works perfectly with previous version (1.11.1) but crashes new version in startup, here it screenshot:
Challenge the Legend
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
shaders must now be .cg, not .glsl
Joined: 7/24/2015
Posts: 20
So it's new for this version of BH... :( Will be good if someone will upload archieve withh all existed shaders compatible with new BH. I made shaders myself not so long ago (source from here - https://github.com/reedolph/common-shaders-glsl) and now do not know where i can get same quality (my favourite is 5xbr-v3.8a) shaders instead them.
Challenge the Legend
Site Admin, Skilled player (1251)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
zeromus wrote:
shaders must now be .cg, not .glsl
I have a .cg shader that works in retroarch, but bizhawk asks for .cgp. I rename it and it tells me length must be greater than zero as an exception. http://pastebin.com/7VY0pBGc I canceled the dialog and closed the emu, and now it gives this exception on launch, not allowing to actually launch bizhawk. I have to remove the DispUserFilterPath value, but once this exception happens, this value can't be removed the normal way. Switching between d3d and ogl doesn't affect the problem.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 7/17/2012
Posts: 543
Location: Switzerland
Sorry for the stupid question, but how to load shaders? I didn't find documentation about this for BizHawk. Thanks.
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Site Admin, Skilled player (1251)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 7/17/2012
Posts: 543
Location: Switzerland
Thanks feos :)
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
feos wrote:
zeromus wrote:
shaders must now be .cg, not .glsl
I have a .cg shader that works in retroarch, but bizhawk asks for .cgp. I rename it and it tells me length must be greater than zero as an exception.
.cgp and .cg are completely separate things. Create a .cgp which references the .cg. In principle it is impossible to load a .cg without a .cgp but I suppose a built-in boilerplate .cgp can be used in case a .cg is referenced directly. That must be what retroarch is doing, I just have to figure out the correct boilerplate. I'll do that eventually. Here's a .cgp I tested with:
shaders = 1
shader0 = feos.cg
scale_type = viewport
There are problems with your .cg: 1. There's garbage near the first call to sin which breaks compilation 2. the sampler must be named s_p. It's not possible to generally make a retroarch shader without using the correct uniform names. I might could add an exception for the sampler, but I don't see why I should, when the other uniforms still need to be named correctly. I'm not sure whether retroarch is violating it's own spec here as I don't think the specs are all that well written and it's not covering this question precisely. Note that many of the shaders in retroarch's shader library are broken. You can't always rely on them for examples. Retroarch may also be lax in its implementation of its ambiguous specs. You can see the results of compilation in the console log window, but the line numbers are a little bit off.