2026-04-04T07:12:56 Hello, I’m looking to get a Retroid Pocket Flip 2 and wanted to know how was the android port running without mods 2026-04-04T07:15:18 Also heard about port master is there a performance difference? 2026-04-04T07:28:00 No clue, I've only tested android 2026-04-04T14:29:51 Anyone have ideas how I can get a 256x1 map color LUT? 2026-04-04T14:29:52 https://cdn.discordapp.com/attachments/1230952265993556030/1489995422335238295/Screenshot_2026-04-04-15-27-16-298_com.alpha3.launcher.jpg?ex=69d271df&is=69d1205f&hm=f776931d9978bee539838815b0f0dbf58e412a9443abb5da06a282b80d1e5350& 2026-04-04T14:49:16 ? What are you doing? 2026-04-04T14:51:37 Idk what I'm even looking at 2026-04-04T14:52:33 It's asking for a 256x1 lookuptable for the global map color that I guess is not in my files or something 2026-04-04T14:53:23 Must be content issue, never saw that 2026-04-04T14:53:42 Yeah nobody else here seems to have had this issye 2026-04-04T14:53:56 Hmm 2026-04-04T14:54:21 Using a bunch of mods? 2026-04-04T14:54:44 I've managed to run these data files on pc and on the old openmw that was on the app store 2026-04-04T14:54:46 Vanilla 2026-04-04T14:55:13 Not sure where to even locate this lookuptable texture 2026-04-04T14:55:24 https://github.com/Sisah2/openmw/blob/eddba72f1b5d01164091158e64d77e812b802b7d/apps/openmw/mwrender/globalmap.cpp#L297 2026-04-04T14:55:53 // Load color LUT texture constexpr VFS::Path::NormalizedView colorLutPath("textures/omw_map_color_palette.dds 2026-04-04T14:56:01 Reset resources? 2026-04-04T14:56:41 My launcher automatically does it. Unless he's using some old or dev build 2026-04-04T14:56:42 How can I reset resources? 2026-04-04T14:57:18 Just delete the resources folder and relaunch the game 2026-04-04T14:58:03 The one where shaders and VFS are? 2026-04-04T14:58:20 On pc anyway 2026-04-04T14:58:23 Its in resources/vfs/textures 2026-04-04T15:00:29 Oh that explains it, I don't have a textures folder in resources/vfs 2026-04-04T15:00:34 At all 2026-04-04T15:02:15 If you delete resources folder, it will recreate it? 2026-04-04T15:03:22 I just deleted resources and relaunched 2.7.1 and it created the textures folder 2026-04-04T15:03:32 Game launched fine 2026-04-04T15:04:23 I tried copying textures from a pc copy of OpenMW into vfs and that didn't work, I'll try to delete the whole folder 2026-04-04T15:04:57 There is no difference between pc and android here 2026-04-04T15:05:15 Can add it as a mod folder in worst case 2026-04-04T15:06:24 It worked @duron27, thanks for the help 2026-04-04T15:06:39 I think I might've used an old pc file 2026-04-04T15:06:45 Like 0.49 or something 2026-04-04T15:06:48 Without checking 2026-04-04T15:07:06 It works now anyway, thanks for all the help šŸ™‚ā€ā†•ļø 2026-04-04T15:07:38 Custom lut was added not that long ago, might be it 2026-04-04T15:08:19 It's supposed to copy any file the users missing, that must be broken now. 2026-04-04T15:08:26 I'll check it out next week 2026-04-04T15:08:44 What's this for 2026-04-04T15:08:56 OpenmwSE? 2026-04-04T15:10:48 For mods that want different colors on world map, it use only 256 xolor pallete ot seems, with this it can be changed to different colors šŸ˜„ 2026-04-04T15:11:43 Like in old good quake 1 2026-04-04T15:13:14 Even half life 1 used it, bit it had different pallete for each texture, which allowed 8bpp textures variance 2026-04-04T15:13:35 I see. 2026-04-04T15:14:08 From main it sounds like you worked out a bunch more fixes for android? 2026-04-04T15:17:27 Not much, will probably remove that "force glsl version" patch 2026-04-04T15:18:21 + will do some changes to ng shaderconv, mostly just cosmetic. That render targets issue is the worst now. No clues about it 2026-04-04T15:18:45 What can you tell me about it so I can do some digging? 2026-04-04T15:19:10 About those render targets? I have no idea šŸ˜„ 2026-04-04T15:20:30 Visually is there a sign? 2026-04-04T15:20:36 Error somewhere? 2026-04-04T15:20:47 It just crash if you don't disable them? 2026-04-04T15:21:42 In omwfx they are used to render stuff to separate buffer/space/texture it allow some settings like different size or floating point format. It sometimes work sometimes dont. Result (if it dont work) is mostly that some picture get frozen on screen, like with many bloom shaders. 2026-04-04T15:22:02 Its unpredictable 2026-04-04T15:23:23 On VAIO its even more confusing, output of one render target can be read from another one šŸ˜„ 2026-04-04T15:23:40 I dont know how to describe that, can show exaples 2026-04-04T15:23:54 If you have one yea 2026-04-04T15:24:30 I have a friend that does a lot of opengl es stuff I can ask 2026-04-04T15:24:55 https://www.diffchecker.com/SDiUx3Qc/ 2026-04-04T15:25:06 This is the change in VAIO 2026-04-04T15:25:16 It somewhere around line 1600 2026-04-04T15:28:38 Thats super weird, then there is his tonemap shader, with 4 render_targets, first is set to 0.5 scale, the rest to 0.25. It dont work at all, if first is set to 0.25 too, it magically work (all of them are 0.25 at this point) changing all of them to 0.5 or 1.0 it also work, changing first one to 0.5 and the rest to 0.25 also work, but nothing in between or i didnt find it šŸ˜„ 2026-04-04T15:29:36 And there is many shaders with this issue, mostly various blooms. 2026-04-04T15:29:57 Vaio mixup is... i dont know 2026-04-04T15:31:26 Openmw bloomlinear work, it use 3 render targets, all at 0.25 scale 2026-04-04T15:33:30 Rafael godrays also have this issue, its modified version of original, but he added downscaling. Original godrays work, rafael (more optimised) doesnt. 2026-04-04T15:33:54 Thing is, there is no error 2026-04-04T15:34:41 Not speaking about undefined behaviour in desktop glsl and glsl es, like pow 2026-04-04T15:36:58 But thats not it, that can be handled with shaderconv, even thougt im not sure if x of pow cant be nagative and it is (and is somehow handled on desktop) how to handle it here? Clamp it to 0? Or make it positive with abs()/*-1.0? 2026-04-04T15:37:54 Its completly wrong on both platforms 2026-04-04T15:38:26 Its in specification, but even if undefined desktop handle it better 2026-04-04T15:38:54 This isn't some that can be fixed in spir-v right? 2026-04-04T15:39:11 Spirv dont handle it 2026-04-04T15:39:33 Ok 2026-04-04T15:40:02 Undefined behaviour mean it can do anything, its even on pc glsl specs, but it behave differently 2026-04-04T15:40:19 So 3 rendertargets are ok but 4 break everything? 2026-04-04T15:41:11 I dont know to be honest, there is something terribly wrong, i think its on gl4es side, or maybe some gles limitation 2026-04-04T15:41:58 But you can't replicate the issue on a shader with 3 renderTargets? I thought that's what I read 2026-04-04T15:42:34 3 render targets in bloom linear are all the same size, rafael bloom work with 4 if they are the same size, but by default they have different size šŸ˜„ 2026-04-04T15:43:15 You can try bloomlinear and change the width/height_ratio for them 2026-04-04T15:47:16 Ok I'll check it out when I have a chance. I'll ask the guy I know and see what he says 2026-04-04T15:47:33 I don't thunk he's ever used gl4es so that won't help lol 2026-04-04T15:47:59 Hmm tried few things and can break bloomlinear shader it seems 2026-04-04T15:48:20 So try rafael tonemap one with bloom šŸ˜„ 2026-04-04T15:49:07 I dont know, maybe the amount of render targets affect that 2026-04-04T15:49:57 This is like aon / waza stuff. Too bad we can't get them to try your android release lol 2026-04-04T15:49:58 Vaio also have 4 2026-04-04T15:50:00 Hmm 2026-04-04T15:50:20 One is broken here 2026-04-04T15:50:33 No idea how you could have an android phone and not even be curious lol 2026-04-04T15:51:16 Rafael godrays have 3, still having this issue 2026-04-04T15:53:39 So amount isn't the issue. Unless it's if there's more then 1 lol 2026-04-04T15:54:01 I really dont know šŸ˜„ 2026-04-04T15:54:40 Is there a way to have value output to some log from a shader? 2026-04-04T15:55:05 Like if it could see what gl4es thinks each value should be vs what's in the shader itself 2026-04-04T15:56:12 I know there's lots of shader output but I mean like we can output specific things 2026-04-04T15:56:27 Kinda like Log.d 2026-04-04T15:57:21 Thats hard to debug with just debug messages, actually each file in gl4es have commented out debugging, allowing it for framebuffers.c may bring some clues, but all will be logged, its a mess. 2026-04-04T15:57:22 Technically we could add it to the function in ng-gl4es that handles this 2026-04-04T15:57:51 Maybe we could add a filter 2026-04-04T15:58:13 Output .filter("something") 2026-04-04T15:59:18 The frame buffer would probably give the error though 2026-04-04T16:00:17 On opengl/es you need to check for error, and if you do it too late you get some previous unrelated error 2026-04-04T16:00:44 And even them you get just simple error which you need to investigate 2026-04-04T16:01:11 Well on alpha3 you can have the output go up on the screen in real-time. Maybe you could trigger it while watching the panel 2026-04-04T16:01:35 That will not help 2026-04-04T16:01:42 And I can definitely add a filter to that 2026-04-04T16:01:53 https://github.com/Sisah2/NG-GL4ES/blob/b5bc4268c8fafb04fc0b79d6c1306ca5ed642fa9/src/gl/framebuffers.c#L16 Try uncommenting just this 2026-04-04T16:02:07 Will print all the calls hete 2026-04-04T16:02:24 In ng-log 2026-04-04T16:03:04 Tjat filtering will be needed as each fbo have its id 2026-04-04T16:05:53 So what if I separate everything into its own ID and you can look through it that way? 2026-04-04T16:06:29 Click ID 1 and see full output for that, ID 2 and only see that. Etv 2026-04-04T16:06:59 When I get home after work I'll update my repo and enable this 2026-04-04T16:08:29 Catch is no way to detect what fbo or those calls belong to the thing you are interested in inside gl4es, until you specify some unique resolution thats attached or something 2026-04-04T16:08:53 Some unique argument to those calls 2026-04-04T16:09:25 What about matching to the values of the renderTargets? 2026-04-04T16:09:48 Idk what that debug info will look like so I'll see that first 2026-04-04T16:09:59 Can set unique width instead of width ratio probably 2026-04-04T16:10:58 Then will need to catch the fbo id to which that texture is attached to and maybe find what happening with ot. 2026-04-04T16:11:58 I can definitely do this, just may need your help with filter ideas. Or I can make that user editable 2026-04-04T16:12:00 That log is giving all of that info 2026-04-04T16:12:07 Actually I'll do that 2026-04-04T16:12:16 Is it output to a file? 2026-04-04T16:12:29 Or logcat 2026-04-04T16:12:49 It print to ng-gl4es.log or whatewer is set. 2026-04-04T16:12:59 Ok 2026-04-04T16:13:18 It print all SHUT_LOGD message 2026-04-04T16:13:59 I may add something to redirect that to a mutable list for performance 2026-04-04T16:14:33 Buffered output stream maybe 2026-04-04T16:15:12 Do you have any of those debug files around? 2026-04-04T16:15:22 Just for me to look at the structure 2026-04-04T16:16:50 Basically just check any file inside of gl4es for DBG(SHUT_LOGD.... 2026-04-04T16:17:10 Thats what will it print if you enable it, its per file. 2026-04-04T16:17:26 Ok 2026-04-04T16:17:29 Not everything, even that is too much :F 2026-04-04T16:17:53 It print arguments of each gl call to log 2026-04-04T16:18:28 But inside of openmw they are called somehow, inside of gl4es its just number 2026-04-04T16:20:44 Each of the major files have this at top // #define DEBUG #ifdef DEBUG #define DBG(a) a #else #define DBG(a) #endif 2026-04-04T16:21:03 Just uncoment it for what you need to "debug" 2026-04-04T16:21:22 This issue os on framebuffers.c i think 2026-04-04T16:21:45 We will find out. Or see something at least 2026-04-04T16:22:15 Maybe later should check that int to float function too 2026-04-04T16:22:19 Different day 2026-04-04T16:23:47 There is nothing to see in int to float. Spirv handle it, or devices with GL_EXT_shader_implicit_conversions extension, spirv os great for this, can say this is solved šŸ˜„ 2026-04-04T16:24:31 Oh nice 2026-04-04T16:25:00 There's still a bunch of openmw patches right? 2026-04-04T16:25:41 Yeah, defines patch g_viewer those are mayor 2026-04-04T16:26:25 No need for defines patch can force restart which is another patch, if you dont want crashes 2026-04-04T16:26:59 There are still things that dont work, msaa, compute shaders for water ripples 2026-04-04T16:27:51 Uniform buffer objects for postprocessing, it work for lights, with small patch, but not for postprocessing 2026-04-04T16:28:01 https://gitlab.com/duron27/openmw/-/commit/1b13f8c49c7a40dc42b4e35e7bdd54cd56b31c5c I need to finish this, it's based off what Elsid put in my last mr 2026-04-04T16:29:38 We. Wouldn't want msaa though? 2026-04-04T16:30:10 Not really, but it doesnt work šŸ˜„ 2026-04-04T16:31:01 Maybe if android don't even show the option in openmw settings window lol 2026-04-04T16:31:50 Im not showing it, as its broken, but can be fixed i think 2026-04-04T16:32:47 There are postprocessing techniques which work maybe even better, we dont need that much, even thought on 720p i see some aliasing 2026-04-04T16:33:29 Multiple antialiasing shaders exists, should work kinda everywhere with spirv 2026-04-04T16:35:13 With base game resolution dont matter much for performance, if using postprocess shaders resolution make big difference 2026-04-04T16:36:07 You get quote fast gpu bottlenecked 2026-04-04T16:36:40 But its worth it šŸ˜„ 2026-04-04T16:38:51 Lol 2026-04-04T16:41:10 With 2.7.1 I don't have the forced shader version patch and everything works with version 3 instead of 30 in the env 2026-04-04T16:41:20 Put in volumetrics soft shadows, godrays some tonemapping, pbr normal_height maps, custom water +++ 2026-04-04T16:41:21 30 or 3.0, whatever it was 2026-04-04T16:41:56 That was used to force spirv or old shaderconv 2026-04-04T16:42:29 30 or 3 was that patch that create gles context 2026-04-04T16:43:05 3 mean 3.2 without it, was extended to 30 for 3.0 31 for 3.1 32 for 3.1 2026-04-04T16:43:34 Depend which version angle give you 2026-04-04T16:44:13 You had just 20 before sandstarnger compiled with some setting. 2026-04-04T16:44:39 Its possible some older devices still get max 3.1 or 3.0 support with angle 2026-04-04T16:46:09 If angle give you just 3.0 and you try to create 3.2 you get error 2026-04-04T16:49:30 Maybe not needed if angle compiled with those flags, but still bring some customisation, safe to upstream. 2026-04-04T16:50:55 Its basically what opengl es version you want to use, but drivers cheating here 2026-04-04T16:51:42 I can create es2 context and everything works, ots somehow unified, only the max supported version matter 2026-04-04T16:58:24 Interesting 2026-04-04T16:58:37 And it only affects us so no harm 2026-04-04T16:59:36 Its under android define. 2026-04-04T17:03:09 I think at least my driver cheat and always use es 3x context even if 2 is specified, it make sense as es3 is backwards compatible, but when you had angle which gived you only 2.0 support you was forced to create es 2.0 context (you had crash later, but thats probably that ng is not made for es 2.0, a lot of checks missing) 2026-04-04T17:04:15 Makes sense 2026-04-04T17:05:09 It works really well right now 2026-04-04T17:05:25 Obviously turning on shadows kills it 2026-04-04T17:05:39 Performance I mean 2026-04-04T17:06:30 I can play with everything turned on met and rafael shader pack at 720p just fine šŸ˜„ 2026-04-04T17:07:08 With space to improve 2026-04-04T17:08:05 And the s26 ultra is even higher performance. Like 25 percent or something 2026-04-04T17:08:20 All of rafael postprocess + core at 1440p is overkill still 2026-04-04T17:09:02 But i think android perform better than steam deck šŸ˜„ 2026-04-04T17:10:01 On my s23 ultra I got the same performance as my desktop with 1080ti in it. Idk how that's possible 2026-04-04T17:13:53 I know my hrpc cpu isn't amazing, but still the phone performance is really good 2026-04-04T17:15:24 Well phones are not calculators anymore. I kniw im repeating, but i (nearly) finished doom eternal on it 2019 game on not liwest settings 2026-04-04T17:15:58 Cca medium 2026-04-04T17:17:03 Get bored, but then found samsung gamehub with its plugins have framegen option, mostly dont work but here improved fps a lot 2026-04-04T17:17:56 Missing icon of sin battle + end game and dlcs, but it was great 2026-04-04T17:18:46 Probably destroyed my battery šŸ˜„ but wasnt using passthrought charging the whole time šŸ˜„ 2026-04-04T17:20:51 There is "good lock" plugin "game booster+" which allow to add any app as a game, which enable passthrought charging and enable samsung gaming services, which contain frame gen option 2026-04-04T17:21:33 For vulkan games only i guess 2026-04-04T17:21:44 May work with angle 2026-04-04T17:22:33 I haven't used it in a long time. Too bad framgen doesn't work with openmw 2026-04-04T17:22:44 I think it's more cpu than gpu though 2026-04-04T17:25:19 Did you try it on vsgopenmw? Lol 2026-04-04T17:39:11 Nope, i just tried now with angle, which is in fact vulkan under the hood, it dont do anything it seems. 2026-04-04T17:39:44 But in eternal it had noticable impact 2026-04-04T17:40:40 Ok 2026-04-04T17:40:54 Or maybe those counters take inner fps, not that generated, but i doubt 2026-04-04T17:41:39 So angle is opengles to Vulcan? Be neat if it was also just opengl to vulkan 2026-04-04T17:44:30 Yeah, wouldnt need gl4es then, but with angle its opengl to opengl es to vulkan 2026-04-04T17:45:18 I'm just thinking people would maintain it then, with gl4es it's pretty much just you 2026-04-04T17:46:44 Angle is google thing 2026-04-04T17:47:32 It have opengl es to metal, maybe what you need for ios port. But not opengl to something 2026-04-04T17:48:06 Also es to directx 2026-04-04T17:48:14 Es to everything šŸ˜„ 2026-04-04T17:59:54 Even gles to gl es it seems šŸ˜„ 2026-04-04T18:01:15 I saw that, using old gl4es maybe es2 to es3 lol 2026-04-04T18:02:27 Ng-gl4es has the angle to metal thing, but it's broken 2026-04-04T18:02:41 I did get it to work using parts of the old gl4es 2026-04-04T18:02:48 Or some repo 2026-04-04T18:02:53 I don't remember now 2026-04-04T18:06:31 https://cdn.discordapp.com/attachments/1230952265993556030/1490049948396290239/1775325733178.jpg?ex=69d2a4a7&is=69d15327&hm=a6cd623260fbd0af95828f63d4812dd89d5dc280d8a139cdbdd703b2d5e4762d& 2026-04-04T18:07:03 How Project tamriel and Tamriel Rebuilt's map feels like 2026-04-04T18:07:39 I bet 2026-04-04T18:21:51 The BFG Edition code architecture is much better than dhwem3's, but it's still a clunky, sloppy legacy that makes me sick. Building it required a ton of code changes. The fork's author certainly didn't intend to make the code portable for handheld platforms. Rendering-wise, I probably won't need to do anything anymore, because I already rewrote the entire renderer for GLES 3.2 in one evening today. The most I'll need 2026-04-04T18:21:51 to do is fix some bugs in NG GL4ES. Without NG GL4ES, the renderer would have to be rewritten at 10-30x longer. GLES 3.2 will me minumum for bfg edition because this is modern render with tons of heavy graphics shaders And medium-precision shaders break 3D graphics on Mali. For Mali, high-precision is always the only option. 2026-04-04T19:39:48 nggl4es consumes a maximum of 2-10 percent of performance. Or even zero percent of performance. Using this translator is a rational decision in any production development. And it's just like native, the only difference is that without it, you'd have to rewrite everything it provides from scratch, rewriting the same GL 3.x renderer to GLES 3.2. Good luck and best wishes to those who like to rewrite the entire renderer 2026-04-04T19:39:48 when everything is already ready. It's just mental gymnastics, nothing more. 2026-04-04T20:26:05 20 + .so native libs in dhwem 3 vs 1 .so monolith .so lib with SDL3 in bfg edition fork. Well, I don't even know what to choose for development. I should have gone with bfg edition right away and not wasted my time on that crappy old legacy dhwem3. 2026-04-04T23:33:44 <.hyojason> Mercy doesn't seem to be working for me 2026-04-04T23:33:56 <.hyojason> Is it because I am playing on Android?