Who's Online |
88 user(s) are online ( 70 user(s) are browsing Forums)
Members: 0
Guests: 88
more...
|
|
Headlines |
-
arabic_console_devicepro2.lha - driver/input
May 15, 2022
-
seq.lha - audio/misc
May 12, 2022
-
oo.lha - development/library
May 12, 2022
-
hwplayer.lha - development/misc
May 9, 2022
-
amiarcadia.lha - emulation/gamesystem
May 9, 2022
-
sdl.lha - library/misc
May 9, 2022
-
sdl2.lha - library/misc
May 9, 2022
-
cubicide.lha - development/misc
May 8, 2022
-
hollywood_sdk.zip - development/misc
May 8, 2022
-
ultraedit.zip - development/misc
May 8, 2022
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 2020/1/16 19:57
#21
|
Just can't stay away 
Joined: 2006/11/30 11:30 Last Login
: Today 10:35
From Finland
Group:
Registered Users
|
@Raziel
That's about how big the stack is according to the crashlog, but it seems not to be enough.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 2020/1/16 20:07
#22
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Are you sure that stack cookie works at all in scummvm ? I tried now to run scummvm from a shell, and it always crashes, until i didn't do something like "stack 1000000", which mean, that by default there is no stack cookie seems so. Is it like this in scummvm ?: Quote: #ifdef __amigaos4__ static const char* __attribute__((used)) stackcookie = "$STACK: 2000000"; #endif
? As i see in Raner, by default its 600.000 bytes in 2.1.0, not 2.000.000. And when i set "stack 1000000" , i can see that scummvm need for start in modern theme 732.932, so default 600.000 is too low. From icon it works because you have set 1024000 stack size in, but that all mean that stack cookie didn't works, or have 600.000 only. At least in 2.1.0
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 2020/1/17 9:48
#23
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
Yes, there was a misunderstanding. Since a new update is imminent there have been some things backported which mixed up the buildbot.
Should be fixed once 2.1.1 is out.
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 2020/1/18 12:48
#24
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@all
Don't hold your breath for 2.1.1
I'm encountering more and more problems with stupids bugs showing up.
One of those is really the best. I did a new build and let it install,. After that i started the app and it showed up with an error message: No translations.dat found.
I had it installed and it was fine, ScummVM just refused to find it. I know these kind of glitches by now, so i simply created a new directory called themes (where the file resides in), copied over translation.dat, restarted ScummVM and, hell, i hate that shit, it worked!!!
Don't ask me why, but due to these problems i have to rebuild over and over again to find a suitable setup where it will work.
Another example...if i compile something from a "bad" directory structure, it will crash on start pointing to libstdc++.so (which it ALWAYS does). Of course, nothing can be done about THAT, AND i can't know beforehand that the structure is "bad", so i have to try again with a known "sane" directory structure and burn time and energy because of that, which is so stupid...if i'd to tell anyone....
Any more of this and i'll drop it
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 2020/1/20 8:23
#25
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@all Does anyone see right away what the problem could be? Stack? Anything else obvious maybe?
Crash log for task "ScummVM"
Generated by GrimReaper 53.19
Crash occured in module libstdc++.so at address 0x7EA3B064
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003
Register dump:
GPR (General Purpose Registers):
0: 00000010 373C8180 ABADCAFE 37AE3D28 37ADD904 37AE3128 FFFFFFFF 37AD8300
8: 00000008 37AE3D28 373C8188 37AE3D28 00000000 37B129DC 00000000 37B0AE90
16: 7EF18CE8 00000000 00000000 37AD57F8 02B30000 02B30000 18ADE918 00000000
24: 37468248 3746EC74 37468248 3746EF40 37AD9A68 37AD9628 37B03FE8 37AD8300
FPR (Floating Point Registers, NaN = Not a Number):
0: nan nan -4.4678e+307 nan
4: nan nan 146 104
8: 42 104 2550 4.5036e+15
12: 1 2.14748e+09 0 0
16: 0 0 0 0
20: 0 0 0 0
24: 0 -95.3894 1 -32536.7
28: -105.609 55 26 nan
FPSCR (Floating Point Status and Control Register): 0x82004000
SPRs (Special Purpose Registers):
Machine State (msr) : 0x0000B030
Condition (cr) : 0x37AD9A68
Instruction Pointer (ip) : 0x7EA3B064
Xtended Exception (xer) : 0x37AD9628
Count (ctr) : 0x37B03FE8
Link (lr) : 0x37AD8300
DSI Status (dsisr) : 0x3563BDD0
Data Address (dar) : 0x021AD048
680x0 emulated registers:
DATA: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FPU0: 0 0 0 0
FPU4: 0 0 0 0
Symbol info:
Instruction pointer 0x7EA3B064 belongs to module "libstdc++.so" (PowerPC)
Symbol: __dynamic_cast + 0x5C in section 11 offset 0x00002264
Stack trace:
RAM Disk:ScummVM/sobjs/libstdc++.so:__dynamic_cast()+0x5c (section 11 @ 0x2264)
[backends/platform/sdl/sdl.cpp:294] ScummVM:_ZN11OSystem_SDL11initBackendEv()+0x148 (section 12 @ 0x49DC)
[base/main.cpp:465] ScummVM:scummvm_main()+0x604 (section 12 @ 0x7E0C)
[backends/platform/sdl/amigaos/amigaos-main.cpp:79] ScummVM:main()+0x194 (section 12 @ 0x5AF8)
native kernel module newlib.library.kmod+0x000020a4
native kernel module newlib.library.kmod+0x00002d54
native kernel module newlib.library.kmod+0x00002ee8
ScummVM:_start()+0x170 (section 12 @ 0x1AB8)
native kernel module dos.library.kmod+0x000255c8
native kernel module kernel+0x000420ac
native kernel module kernel+0x000420f4
PPC disassembly:
7ea3b05c: 7c7f1b78 mr r31,r3
7ea3b060: 7d635b78 mr r3,r11
*7ea3b064: 8168001c lwz r11,28(r8)
7ea3b068: 7fe9fb78 mr r9,r31
7ea3b06c: 7c882378 mr r8,r4
System information:
CPU
Model: P.A. Semi PWRficient PA6T-1682M VB1
CPU speed: 1800 MHz
FSB speed: 900 MHz
Extensions: altivec
Machine
Machine name: AmigaOne X1000
Memory: 2097152 KB
Extensions: bus.pci bus.pcie
Expansion buses
PCI/AGP
00:1D.0 Vendor 0x1959 Device 0xA004
Range 0: 007F03F8 - 007F0400 (IO)
00:1D.1 Vendor 0x1959 Device 0xA004
Range 0: 007F02F8 - 007F0300 (IO)
00:1A.0 Vendor 0x1959 Device 0xA007
00:00.0 Vendor 0x1959 Device 0xA001
00:01.0 Vendor 0x1959 Device 0xA009
00:14.3 Vendor 0x1959 Device 0xA005
00:1C.0 Vendor 0x1959 Device 0xA003
Range 0: 007F0200 - 007F0240 (IO)
00:1C.1 Vendor 0x1959 Device 0xA003
Range 0: 007F0240 - 007F0280 (IO)
00:1C.2 Vendor 0x1959 Device 0xA003
Range 0: 007F0280 - 007F02C0 (IO)
00:11.3 Vendor 0x1959 Device 0xA002
00:11.2 Vendor 0x1959 Device 0xA002
00:11.1 Vendor 0x1959 Device 0xA002
00:11.0 Vendor 0x1959 Device 0xA002
00:10.2 Vendor 0x1959 Device 0xA002
00:10.0 Vendor 0x1959 Device 0xA002
00:03.0 Vendor 0x1959 Device 0xA00C
00:04.0 Vendor 0x1959 Device 0xA00A
00:05.0 Vendor 0x1959 Device 0xA00A
00:08.0 Vendor 0x1959 Device 0xA000
00:09.0 Vendor 0x1959 Device 0xA000
00:15.0 Vendor 0x1959 Device 0xA006
00:1B.0 Vendor 0x1959 Device 0xA00B
00:1E.0 Vendor 0x1959 Device 0xA008
Range 0: 007F0400 - 007F0500 (IO)
Range 1: 007F0500 - 007F0600 (IO)
0A:12.0 Vendor 0x1002 Device 0x4380
Range 0: 00001030 - 00001038 (IO)
Range 1: 00001050 - 00001054 (IO)
Range 2: 00001048 - 00001050 (IO)
Range 3: 00001058 - 0000105C (IO)
Range 4: 00001020 - 00001030 (IO)
0A:13.0 Vendor 0x1002 Device 0x4387
Range 0: A0306000 - A0307000 (MEM)
0A:13.1 Vendor 0x1002 Device 0x4388
Range 0: A0307000 - A0308000 (MEM)
0A:13.2 Vendor 0x1002 Device 0x4389
Range 0: A0308000 - A0309000 (MEM)
0A:13.3 Vendor 0x1002 Device 0x438A
Range 0: A0305000 - A0306000 (MEM)
0A:13.4 Vendor 0x1002 Device 0x438B
Range 0: A0304000 - A0305000 (MEM)
0A:13.5 Vendor 0x1002 Device 0x4386
Range 0: A0309800 - A0309900 (MEM)
0A:14.0 Vendor 0x1002 Device 0x4385
Range 0: 00001000 - 00001010 (IO)
Range 1: A0309400 - A0309800 (MEM)
0A:14.1 Vendor 0x1002 Device 0x438C
Range 0: 00001040 - 00001048 (IO)
Range 1: 00001058 - 0000105C (IO)
Range 2: 00001038 - 00001040 (IO)
Range 3: 00001050 - 00001054 (IO)
Range 4: 00001010 - 00001020 (IO)
0A:14.2 Vendor 0x1002 Device 0x4383
Range 0: A0300000 - A0304000 (MEM)
0A:14.3 Vendor 0x1002 Device 0x438D
Range 0: 00000000 - 00100000 (MEM)
0A:14.4 Vendor 0x1002 Device 0x4384
06:00.0 Vendor 0x10EC Device 0x8168
Range 0: 00003000 - 00003100 (IO)
Range 2: A0104000 - A0105000 (MEM)
Range 4: A0100000 - A0104000 (PREF.MEM)
02:00.0 Vendor 0x1002 Device 0x679A
Range 0: 90000000 - A0000000 (PREF.MEM)
Range 2: A0000000 - A0040000 (MEM)
Range 4: 00002000 - 00002100 (IO)
02:00.1 Vendor 0x1002 Device 0xAAA0
Range 0: A0060000 - A0064000 (MEM)
Libraries
0x628fe418: ISO-8859-15.charset V52.1
0x628fe398: english_ISO-8859-15.language V52.1
0x02a8b092: exec.library V53.89
0x614bede8: camdmidi.usbfd V53.5
0x6feab508: cgxvideo.library V42.1
0x525ff670: 8svx.datatype V53.2
0x5c9f6db4: amissl_v111a.library V4.3
0x6042a848: amisslmaster.library V4.3
0x4e74d548: update.library V53.18
0x5f2118f0: expat.library V53.6
0x525ff3f0: fuelgauge.gadget V53.8
0x4f047438: pthreads.library V53.11
0x60f55c48: timesync.library V53.7
0x5f382e78: X1kTemp.docky V53.10
0x5f28c338: DateTime.docky V52.11
0x5f28e4b0: datebrowser.gadget V53.7
0x5f12c7d0: texteditor.gadget V53.24
0x61a5c838: KeymapSwitcher.docky V52.3
0x5f28c160: jpeg.datatype V53.7
0x6197cdc8: Mixer.docky V52.6
0x618ee1b8: sliderbar.gadget V53.21
0x6197ccc8: NetDock.docky V51.6
0x6197c948: RAMDock.docky V50.4
0x6197c048: GFXDock.docky V50.4
0x6197c3c8: CPUDock.docky V50.5
0x6195dd28: SMARTDock.docky V53.2
0x61a5c938: Separator.docky V53.2
0x61a5c9b8: smartsubdock.docky V50.8
0x61a5c8b8: Spacer.docky V53.2
0x5c99c3a8: smartbutton.docky V50.8
0x61d46cb0: getcolor.gadget V53.10
0x619ff4a0: gradientslider.gadget V53.6
0x619ff184: colorwheel.gadget V53.7
0x61d48ab8: radiobutton.gadget V53.9
0x61e02f30: slider.gadget V53.15
0x61e02490: getfont.gadget V53.9
0x61e025d0: getfile.gadget V53.12
0x61b49360: anim.gadget V53.1
0x61d481b8: clicktab.gadget V53.44
0x61e605c8: progressbar.gadget V53.11
0x5cae0ed0: shared.image V2.1
0x628d2f20: checkbox.gadget V53.9
0x628d2e80: arexx.class V53.5
0x61d48578: speedbar.gadget V53.12
0x61ae1024: clipview.library V1.10
0x61e705f0: requester.class V53.18
0x628d2480: space.gadget V53.6
0x5cae0b28: chooser.gadget V53.21
0x628d2520: penmap.image V53.5
0x628d23e0: bitmap.image V53.9
0x628d2340: integer.gadget V53.12
0x6ff3c7f8: listbrowser.gadget V53.62
0x62b5e020: string.gadget V53.20
0x6fb29d70: scroller.gadget V53.14
0x5cae00b8: hdaudio.audio V6.23
0x60de7cd8: filesave.audio V6.5
0x6042a974: device.audio V6.2
0x612d8e00: ilbm.datatype V53.3
0x60f42cc8: wav.datatype V54.4
0x60f42db8: sound.datatype V54.6
0x60de9104: usergroup.library V4.30
0x60f42844: mpega.library V2.4
0x60ecf320: bsdsocket.library V4.307
0x61374ee8: usbhidgate.library V53.2
0x611d6f60: mathieeedoubbas.library V52.1
0x612565fc: textclip.library V53.1
0x61832f3c: hid.usbfd V53.12
0x6fc1a864: camd.library V53.6
0x610c0a5c: xadmaster.library V13.2
0x618325c4: xpkmaster.library V5.2
0x6158e0c0: button.gadget V53.21
0x6158e160: glyph.image V53.3
0x6186ccd0: window.class V54.7
0x61807ca8: popupmenu.class V53.2
0x610e6578: popupmenu.library V53.11
0x60097f50: label.image V53.13
0x60097eb0: drawlist.image V53.3
0x6feab5f8: layout.gadget V54.2
0x61807bb0: bevel.image V53.6
0x60097d70: png.datatype V53.10
0x62b8b254: picture.datatype V53.7
0x6186c274: asl.library V53.49
0x62b5e9d8: timezone.library V53.8
0x610cd408: application.library V53.12
0x610cc17c: ft2.library V53.2
0x62b15250: Picasso96API.library V54.9
0x6fef808c: workbench.library V53.53
0x628f9740: gadtools.library V53.7
0x600980cc: commodities.library V53.7
0x62b52140: datatypes.library V54.6
0x62dded74: png.iconmodule V53.1
0x6290d0cc: icon.library V53.16
0x6fdc2920: z.library V53.9
0x6ff8e118: version.library V53.15
0x62b29490: iffparse.library V53.1
0x6ffb9ccc: locale.library V54.2
0x6ff3d7ac: diskfont.library V53.9
0x6fd53e68: petunia.library V53.6
0x6fd53da8: diskcache.library V3.31
0x6fe97220: dos.library V53.158
0x6fdc20a4: usbprivate.library V53.12
0x6fef4f3c: massstorage.usbfd V53.83
0x6feabe4c: hub.usbfd V53.10
0x6fef4ea8: bootkeyboard.usbfd V52.3
0x6fef4e28: bootmouse.usbfd V53.3
0x6fef4d28: mounter.library V53.19
0x6feab7fc: usbresource.library V53.12
0x6ff8f5b8: hunk.library V53.4
0x6feab6f4: elf.library V53.27
0x6ff494d0: intuition.library V54.26
0x6ff622c0: keymap.library V53.9
0x6ff3e5a0: cybergraphics.library V43.0
0x6ff8e9a0: RadeonHD.chip V3.6
0x6ffb8420: graphics.library V54.156
0x6fffe4f0: layers.library V54.12
0x6ff34150: rtg.library V54.89
0x6ff8e824: PCIGraphics.card V53.15
0x6ff8f0e4: nonvolatile.library V53.5
0x6ffab258: newlib.library V53.30
0x6ff8d1ac: utility.library V54.1
0x6ffa8398: expansion.library V53.1
0x613731fe: rexxsyslib.library V53.4 (Legacy)
Devices
0x6193c024: netprinter.device V1.15 (Legacy)
0x6197c0d4: printer.device V53.1
0x5c99fee4: serial.device V54.1
0x5cae0c04: clipboard.device V53.3
0x5f8623f4: ahi.device V6.6
0x6042a0a8: rtl8169.device V53.4
0x615070a4: diskimage.device V53.4
0x6ff8dd10: usbsys.device V53.12
0x6ff8fb90: ehci.usbhcd V53.24
0x6ff8faf0: ohci.usbhcd V53.21
0x6ff3c664: cfide.device V53.0
0x6fef45b4: sb600sata.device V53.20
0x6ff8d448: console.device V53.99
0x6ff3c3f0: ramdrive.device V52.6
0x6ff6250c: input.device V53.5
0x6ff3d3b4: keyboard.device V53.11
0x6ff3c050: timer.device V53.2
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/22 19:33
#26
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Tried to update ScummVM to the latest from os4depot, and find out that "Misc/Themes" does not work, and contains only an inbuild one. From the console output, I also see this kind of warning: "You are missing a valid 'translations.dat' file. GUI translation will not be available!". Not sure if it's related or not. Themes files are in place the same as translations.dat.
In 2.1.0 it surely works.
EDIT: Tried to use daily build (that pre 2.6.0), and issue with themes still there. It also says "GUI Could not find gui-icons.dat" and "could not find theme 'scummremastered' failing back to builtin", while it is here, in the theme directory.
Edited by kas1e on 2021/12/22 20:16:15
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/22 22:41
#27
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Beside that bug with themes, i was able to run fully those ones from dayly build:
Sanitarium Grim Fandango Nightlong
Will check now how works those 3:
The Longest Journey Myst 3: Exile game Escape from Monkey Island
But, what i can say, everything which runs : runs correctly. Nighlong were pleased surprise :) And Sanitarium - wow. But, what is more important there : OpenGL renderer works fine in Grim Fandango at least. On my setup with NovaBridge on RadeonRX, i have with this minigl renderer about 2000 FPS in the movie scenes, but just 15-20FPS in the game itself. There for sure will help GL4ES build of ScummVM too. Not separate build for opengles2 i mean (that can be also be done later), but exactly GL4ES one, which should be really easy to do.
Want me to help you to build GL4ES build ? Or alternatively i may try to build scummvm myself, then once done i can switch to GL4ES, check, if it much faster, then can bring instructions at you, and you can supply not only minigl based binaries, but GL4ES ones too. At least with those new games that will be 100% noticable.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/22 22:53
#28
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e
I suspect that the theme directory is "broken".
Try this: Create a dir called theme next to themes, copy over everything from themes, delete themes and rename theme to themes. I know, tedious, but I get that a lot after recompiling the source.
It has to do with a broken md command which seems to f*** up newly created directories, so that they aren't accessible from within scummvm.
Strange though, I tested the archive before uploading...maybe your system suffers the same Ghost in the Machine as does mine?
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/22 23:10
#29
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Tried, nope, didn't help. I assume there can be bugs in the code that just shows ups differently on different setups.
PS. Tried "The Longest Journey demo" on daily build -> it crashes in minigl. So GL4ES is must sure there. It also wrote me in console "WARNING: Stem darkening is not available with this version of FreeType!" In software mode this game works (with the same error) but awfully slow.
PS2. Tried also Escape From Monkey Island demo: this one works the same as Grim Fandango, but FPS a little bit worse: 10 FPS in-game. So, GL4ES must and there as well :)
PS3. MYST3 is able to run, though feels a bit buggy: in the menu, in window mode, no mouse cursor visibly. Between changes of scenes, i can see some little bit of visual distortion. But in general works.
Edited by kas1e on 2021/12/22 23:37:38 Edited by kas1e on 2021/12/23 0:35:41 Edited by kas1e on 2021/12/23 6:53:04
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/22 23:43
#30
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Find out what is wrong with themes: by default (be it os4depot release, or daily build) the "default paths" have nothing in. So it probably for amigaos4 should be default like "PROGDIR:themes" for themes, and "PROGDIR:themes" for "GUI" as well (As there is placed that gui.dat file). And then all will be fine.
Btw, funny how slow MiniGL renderer is it : in Monkey Island it give just a 10 FPS, while in software rendering 5 FPS. Mean that not much of acceleration happens with MGL. But we will know for sure once can made GL4ES build.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 8:33
#31
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e Sigh  The above sigh is not because of your answers, but because of your "drive". I wish i had the same means, determination and time you have and can invest in your hobby and especially into 3D stuff lately. Of course, please do, test and compile to your heart's content. I'd love to get some help and pointers, but i also have to up front tell you that i will not be able to answer, test or give feedback to anything you do right away, so sorry. Work melts away my sparce free time enormously (and i'm often days away from my setup). But please, don't let me stop you wrt themes yes, that is "intended" behaviour for the release version (as it doesn't hold a default .ini file). You can also simply set the paths to "themes/" and "extras/", if you left the installation intact. I refrained from adding a default .ini file in the package, as it would overwrite the users one and since everyone uses a different setup it will break many times, as the pathes would always be incorrect. I also didn't use PROGDIR: since that doesn't seem to work on my setup (at least not with ScummVM) If you used the provided installer, it will copy a default .ini file, called scummvm.ini_default (iirc) wrt MiniGL The renderer never passed the 8-9 FPS barrier in-game on my setup in Grim Fandango (but the game itself runs fluid nonetheless, not sure what's going on, maybe the fps counter is buggy). You can try Wintermute games (Bickadoodle i.e.), they feature a FPS counter as well and those games had quite a nice speedup since 2.2.0 (i get around 40 FPS now in-game (compared to 8-9 FPS) and the games becomes "playable", though they are still perceptionally slower than Grim Fandango (that might be me all along though, since i never played Grim Fandango on another platform than through ScummVM/ResidualVM, so i might have adapted to the "speed") wrt Myst3 Yes, the game is still pretty buggy and most of the bugs are known, i have already reported some of them. Unfortunately only one of the ScummVM devs is really working on 3D stuff, so development is slow. Could you check right at the beginning of Myst3 after the intro ran and look up in the sky (where the eagle flies), do you also have what looks like a clamping bug at the edges? There is a black line visible which makes it looks you are standing in a cube. Another error is in the save/load menu/book, i don't see the font, only the underline. wrt GL4ES I already have a build of ScummVM (and i automated it, so it builds four different versions of ScummVM once i start my script - OpenGL/SDL2 release, OpenGL/SDL2 - debug, OpenGL/SDL1 - debug and GL4ES/SDL2 - debug), but it still suffers from the already reported (in the GL4ES thread) problems on running the app (white rectangle in the upper right corner, instead of the launcher and the following shader errors). Two problems though 1) I had to hack around some lines in the code because of the still mandatory GLEW dependancy (don't ask me which) to make it build properly (and which will still error later on, see below) 2) I'm still waiting on a PR which *should* fix those errors (here's hoping) see here
LIBGL: Initialising gl4es
LIBGL: v1.1.5 built on Apr 17 2021 23:02:30
LIBGL: stacktrace will be printed on crash
LIBGL: Using GLES 2.0 backend
LIBGL: Using Warp3DNova.library v1 revision 86
LIBGL: Using OGLES2.library v3 revision 1
LIBGL: OGLES2 Library and Interface open successfuly
LIBGL: Overide version string with "2.1" (should be in the form of "1.x")
LIBGL: Targeting OpenGL 2.1
LIBGL: NPOT texture handled in hardware
LIBGL: Not trying to batch small subsequent glDrawXXXX
LIBGL: try to use VBO
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done
LIBGL: Log to the console Error compiling shaders
Log to the console all shaders before and after conversion: Before After Vertex Fragment
LIBGL: Current folder is:Tools:Games/ScummVM
LIBGL: Hardware test on current Context...
LIBGL: Hardware Full NPOT detected and used
LIBGL: Extension GL_EXT_blend_minmax detected and used
LIBGL: FBO are in core, and so used
LIBGL: PointSprite are in core, and so used
LIBGL: CubeMap are in core, and so used
LIBGL: BlendColor is in core, and so used
LIBGL: Blend Substract is in core, and so used
LIBGL: Blend Function and Equation Separation is in core, and so used
LIBGL: Texture Mirrored Repeat is in core, and so used
LIBGL: Extension GL_OES_mapbuffer detected
LIBGL: Extension GL_OES_element_index_uint detected and used
LIBGL: Extension GL_OES_packed_depth_stencil detected and used
LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
LIBGL: Extension GL_OES_texture_float detected and used
LIBGL: Extension GL_AOS4_texture_format_RGB332 detected
LIBGL: Extension GL_AOS4_texture_format_RGB332REV detected
LIBGL: Extension GL_AOS4_texture_format_RGBA1555REV detected and used
LIBGL: Extension GL_AOS4_texture_format_RGBA8888 detected and used
LIBGL: Extension GL_AOS4_texture_format_RGBA8888REV detected and used
LIBGL: high precision float in fragment shader available and used
LIBGL: Extension GL_EXT_frag_depth detected and used
LIBGL: Max vertex attrib: 16
LIBGL: Max texture size: 16384
LIBGL: Max Varying Vector: 32
LIBGL: Texture Units: 16/16 (hardware: 32), Max lights: 8, Max planes: 6
LIBGL: Extension GL_EXT_texture_filter_anisotropic detected and used
LIBGL: Max Anisotropic filtering: 16
LIBGL: Max Color Attachments: 1 / Draw buffers: 1
LIBGL: Hardware vendor is A-EON Technology Ltd. Written by Daniel 'Daytona675x' Müßener @ GoldenCode.eu
LIBGL: GLSL 300 es supported
LIBGL: GLSL 310 es supported and used
Shader source#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
:
New Shader source:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
LIBGL: Error while compiling shader 256. Original source is:
#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
ShaderConv Source is:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
Compiler message is
ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
LIBGL: End of Error log
WARNING: GL ERROR: GL_INVALID_VALUE on glCompileShader(handle) (backends/graphics/opengl/shader.cpp:270)!
WARNING: Could not compile shader "attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
": "ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
"!
Shader source#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
:
New Shader source:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
LIBGL: Error while compiling shader 256. Original source is:
#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
ShaderConv Source is:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
Compiler message is
ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
LIBGL: End of Error log
WARNING: GL ERROR: GL_INVALID_VALUE on glCompileShader(handle) (backends/graphics/opengl/shader.cpp:270)!
WARNING: Could not compile shader "attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
": "ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
"!
WARNING: SearchSet::add: archive 'gui-icons.dat' already present!
Shader source// FPE_Shader generated
varying vec4 Color;
void main() {
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
Color = gl_Color;
}
:
(FPEShader generated)
New Shader source:
#version 100
precision mediump float;
precision mediump int;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
// FPE_Shader generated
varying vec4 Color;
void main() {
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
}
Shader source// FPE_Shader generated
varying vec4 Color;
void main() {
vec4 fColor = Color;
gl_FragColor = fColor;
}:
(FPEShader generated)
New Shader source:
#version 100
precision mediump float;
precision mediump int;
// FPE_Shader generated
varying vec4 Color;
void main() {
vec4 fColor = Color;
gl_FragColor = fColor;
}
Shader source#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
:
New Shader source:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
LIBGL: Error while compiling shader 256. Original source is:
#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
ShaderConv Source is:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
Compiler message is
ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
LIBGL: End of Error log
WARNING: GL ERROR: GL_INVALID_VALUE on glCompileShader(handle) (backends/graphics/opengl/shader.cpp:270)!
WARNING: Could not compile shader "attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
": "ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
"!
Shader source#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
:
New Shader source:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
LIBGL: Error while compiling shader 256. Original source is:
#version 110
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
#else
#define highp
#define mediump
#define lowp
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
ShaderConv Source is:
#version 100
precision highp float;
precision highp int;
#ifdef GL_ES
#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1
precision highp float;
#else
precision mediump float;
#endif
attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
=======
Compiler message is
ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
LIBGL: End of Error log
WARNING: GL ERROR: GL_INVALID_VALUE on glCompileShader(handle) (backends/graphics/opengl/shader.cpp:270)!
WARNING: Could not compile shader "attribute vec4 position;
attribute vec2 texCoordIn;
attribute vec4 blendColorIn;
uniform mat4 projection;
varying vec2 texCoord;
varying vec4 blendColor;
void main(void) {
texCoord = texCoordIn;
blendColor = blendColorIn;
gl_Position = projection * position;
}
": "ERROR: 24:2: '' : missing #endif
ERROR: 1 compilation errors. No code generated.
"!
Shader source// FPE_Shader generated
varying vec4 Color;
void main() {
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
Color = gl_Color;
}
:
(FPEShader generated)
New Shader source:
#version 100
precision mediump float;
precision mediump int;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
// FPE_Shader generated
varying vec4 Color;
void main() {
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
}
Shader source// FPE_Shader generated
varying vec4 Color;
void main() {
vec4 fColor = Color;
gl_FragColor = fColor;
}:
(FPEShader generated)
New Shader source:
#version 100
precision mediump float;
precision mediump int;
// FPE_Shader generated
varying vec4 Color;
void main() {
vec4 fColor = Color;
gl_FragColor = fColor;
}
Please, feel free to check, test, change and give feedback. Please also place your fixes in Pull Requests over at https://github.com/scummvm/scummvmI'll monitor this thread
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 13:55
#32
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Wait, but you need GLEW and for MiniGL as well then, and you remove it for MiniGL build too right? Because if not, then you should not have GLEW and for GL4ES too.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 14:04
#33
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e
Don't ask me, it's too complicated. Iirc GLEW is used for shaders and only The Longest Journey was absolutely relying on it. Grim Fandango (and the other 3D games) has wrappers around the shaders (I think) which uses fallback stuff (that's probably why it's slow on our MiniGL).
GLEW was only circumvented by me in my local source to get the binaries built but it never ran correctly.
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 14:10
#34
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Ok so , i just go easy route : i build scummvm without any engines, just for sake of tests pure scumm vm inbuild ones and bulid it over gl4es. There have no needs to worry about GLEW, etc (but probably as i didn't build 3d engines it skips).
Now, all i want to see is the working launcher, but instead i have the same as you : white rectangle on the top/right side and shaders errors.
Will dig in now to see what cause of the issue.
Currently i not very well understand why t wasys that error come from backends/graphics/opengl/shader.cpp file, like, shader.cpp is used in any case once we use GL4ES. While for MiniGL it surely should't be used and skipped.
Maybe when we targen anythng that more than 2.0 scummvm then automatcally use some inbuild shaders and they fail by some reassons.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 16:19
#35
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e
Please, also post your questions on the scummvm forums. It takes time, but the main devs are there and can help much more than I ever could.
Plus, you can describe the errors much better with much more background information.
I'm back st work, so cannot do much to help.
Thank you very much
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 18:08
#36
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Ok, progress a bit: in the scummvm/backends/graphics/opengl/shader.cpp they have inbuild shaders to scummvm (some basic ones). Now if i just use GL4ES headers and link against MiniGL : then shaders didn't executes and all works, launcher menu can be visibly. Then if we link with gl4es libs, then we have that error in shaders, because shaders want to be executed this time. Now, i think that probably they in code somewhere have call to check if shaders is supported, if not, then fallback to "no shaders", if yes, then they use some inbuild shaders. But that to be checked. The failing inbuild shader are small one, this one:
// Taken from: https://en.wikibooks.org/wiki/OpenGL_P ... 3#OpenGL_ES_2_portability
const char *const g_precisionDefines =
"#ifdef GL_ES\n"
"\t#if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1\n"
"\t\tprecision highp float;\n"
"\t#else\n"
"\t\tprecision mediump float;\n"
"\t#endif\n"
"#else\n"
"\t#define highp\n"
"\t#define mediump\n"
"\t#define lowp\n"
"#endif\n";
A problem that when gl4es (probably?) tried to convert this shader, it just miss some ifdefs/endifs, and fail. I manually rewrote this to set some values without IFS, and then, no errors, but, instead of a white box, i have only a black screen, no launcher visibly. So there is something else as well. It's no freeze as i can move by mouse on that black screen and choose some target. So things just didn't show because of the issue of the shader (on scummvm/gl4es side, not in ogles2/warp3dnova at this point) I wrote a mail to ptitSeb, he always of good help, will see how it going further, and if things turn out to scummvm code, will ask them on their forum
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 18:12
#37
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e
I think that "asking for shader support" in the code is the GLEW dependency.
But as I said, once GLAD is supported, this should be history
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 18:23
#38
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Not sure about GLEW, because it then should fail differently, i.e. on the linking stage for example, or on the running stage saying all kinds of fail errors like something not found, not supported, etc. But in the case with GL4ES we "load/init" all the extensions and stuff manually already so all should work without glew as well. We have in gl4es aglGetProcAddress() which is used for those purposes for which GLEW is used, so we don't need that. Quote: GLEW and others are exactly to handle that - you're not linking with GL functions directly, but instead getting function pointers after initialization phase. It allows you to check at runtime which extensions are present and which functions may be used.
But maybe i wrong of course, and in ScummVM we just need to replace some GLEW call on aglGetProcAddress() .. Will try to debug a bit more and keep you informed :) It surely something trivial, i just really want to see if we will have any kind of speed up in Grim/Monkey/Mist3 when switching to gl4es. ps. And yep, in minigl version, i also have those black dot lines when watching at sky at beginning.
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 18:54
#39
|
Home away from home 
Joined: 2007/9/11 12:31 Last Login
: Yesterday 19:58
From Russia
Group:
Registered Users
|
@Raziel Basically, if GLEW was a problem, it shouldn't work for MiniGL too, but it works for MiniGL, and from the side of "how to code use library" GL4ES is the same as MiniGL. Now, i checked how it all works, and all start to be more or less clear: In the code, they have checks on what drivers can and what can't. If i run MGL and GL4ES versions with debug, then that is what i have for MiniGL: Quote: OpenGL maximum texture size: 16384 OpenGL version: 1.3 OpenGL extensions: GL_MGL_packed_pixels GL_EXT_packed_pixels GL_EXT_bgra GL_EXT_color_table GL_EXT_vertex_array GL_NV_texgen_reflection GL_ARB_vertex_array_bgra GL_ARB_draw_elements_base_vertex GL_EXT_draw_range_elements GL_ARB_multitexture GL_EXT_compiled_vertex_arrays GL_EXT_texture_filter_anisotropic GL_ARB_texture_env_combine GL_EXT_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 GL_ARB_texture_env_add GL_EXT_texture_env_add GL_ARB_vertex_buffer_object GL_ARB_map_buffer_range OpenGL: GL context initialized OpenGL vendor: The MiniGL Team (minigl.library 2.24) OpenGL renderer: MiniGL/Warp3D Warp3D Nova Bridge OpenGL: NPOT texture support: 0 OpenGL: Shader support: 0 OpenGL: Multitexture support: 1 OpenGL: FBO support: 0 OpenGL: Packed pixels support: 1 OpenGL: Texture edge clamping support: 1
And that what we have for GL4ES build: Quote: OpenGL maximum texture size: 16384 OpenGL version: 2.1 gl4es wrapper 1.1.5 OpenGL extensions: GL_EXT_abgr GL_MGL_packed_pixels GL_EXT_packed_pixels GL_EXT_compiled_vertex_array GL_EXT_compiled_vertex_arrays GL_ARB_vertex_buffer_object GL_ARB_vertex_array_object GL_ARB_vertex_buffer GL_EXT_vertex_array GL_EXT_secondary_color GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_env_add GL_EXT_texture_env_add GL_ARB_texture_env_combine GL_EXT_texture_env_combine GL_ARB_texture_env_crossbar GL_EXT_texture_env_crossbar GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_EXT_bgra GL_ARB_texture_compression GL_EXT_texture_compression_s3tc GL_OES_texture_compression_S3TC GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_dxt3 GL_EXT_texture_compression_dxt5 GL_ARB_point_parameters GL_EXT_point_parameters GL_EXT_stencil_wrap GL_SGIS_texture_edge_clamp GL_EXT_texture_edge_clamp GL_EXT_direct_state_access GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_ARB_multisample GL_EXT_texture_object GL_EXT_polygon_offset GL_GL4ES_hint GL_ARB_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex GL_ARB_map_buffer_range GL_NV_blend_square GL_ARB_texture_rectangle GL_APPLE_texture_2D_limited_npot GL_ARB_texture_non_power_of_two GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_subtract GL_EXT_texture_filter_anisotropic GL_ARB_texture_mirrored_repeat GL_ARB_framebuffer_object GL_EXT_framebuffer_object GL_EXT_packed_depth_stencil GL_EXT_framebuffer_blit GL_ARB_draw_buffers GL_EXT_draw_buffers2 GL_ARB_point_sprite GL_ARB_texture_cube_map GL_EXT_texture_cube_map GL_EXT_texture_float GL_ARB_texture_float GL_EXT_fog_coord GL_EXT_separate_specular_color GL_EXT_rescale_normal GL_ARB_ES2_compatibility GL_ARB_fragment_shader GL_ARB_vertex_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ATI_texture_env_combine3 GL_ATIX_texture_env_route GL_NV_texture_env_combine4 GL_NV_fog_distance GL_ARB_draw_instanced GL_ARB_instanced_arrays GL_ARB_vertex_program GL_ARB_fragment_program GL_EXT_program_parameters GL_ARB_get_program_binary OpenGL: GL context initialized GLSL version: 1.20 via gl4es OpenGL vendor: ptitSeb OpenGL renderer: GL4ES wrapper OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: Multitexture support: 1 OpenGL: FBO support: 1 OpenGL: Packed pixels support: 1 OpenGL: Texture edge clamping support: 1
See, there is differences: 1). GL4ES have much more extensions than MiniGL 2). GL4ES mean opengl 2.1 , while MiniGL opengl 1.3 3). GL4ES support NPOT textures, MiniGL are not. 4). GL4ES have Shader support, MiniGL are not. 5). GL4ES have FBO support, MiniGL are not. So, when we run MiniGL version, it says that we have no shaders, not npot, no fbo, v1.3, and so didn't compile any shaders and even didn't try to do so of course, and fallback to something very trivial. With GL4ES it can npot, can fbo, can shaders and so: it tries to handle all that new stuff inside of scummvm code => fail somewhere. I do check one by one, and it wasn't NPOT, wasn't FBO, it's exactly enabling of shaders making it fail. So what i will try to do now, is set to not use shaders at all like in MiniGL (those inbuild with scummvm ones), but still will use GL4ES, with all the other stuff, and we will see if there will be any changes or not in terms of speed (shaders there didn't play too much role in terms of speed, it mostly for a better look, but all the data transfers over Warp3Dnova instead of pure MiniGL, that should make some differences). After it works, we can start digging into what is wrong with their inbuild shaders.. They compile with my fix, just black screen, so very possible it is just something trivial too, as shaders really small. At the moment I will build 2 engines: myst3 and grim (for grim and escape from monkey island). And we will see how things going on.
Edited by kas1e on 2021/12/23 19:10:55 Edited by kas1e on 2021/12/23 19:11:39 Edited by kas1e on 2021/12/23 19:14:46
|
|
|
|
Re: ScummVM and AmigaOS4.1 F.E.
|
Posted on: 12/23 19:29
#40
|
Home away from home 
Joined: 2006/11/26 21:45 Last Login
: Yesterday 17:52
From a dying planet
Group:
Registered Users
|
@kas1e
Take your time, don't stress yourself out, save something for your family and yourself.
I'm really glad you're taking a look and investing precious time, so...thank you.
|
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
|
|
Currently Active Users Viewing This Thread:
1
(
0 members
and 1 Anonymous Users
)
|
|
|