Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
81 user(s) are online (57 user(s) are browsing Forums)

Members: 1
Guests: 80

yoodoo2, more...

Support us!

Headlines

 
  Register To Post  

« 1 (2) 3 4 5 ... 39 »
Re: ScummVM and AmigaOS4.1 F.E.
Just can't stay away
Just can't stay away


See User information
@Raziel

That's about how big the stack is according to the crashlog, but it seems not to be enough.

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
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.

Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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

Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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?

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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/scummvm

I'll monitor this thread

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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.

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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

Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: ScummVM and AmigaOS4.1 F.E.
Home away from home
Home away from home


See User information
@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
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Anonymous
Re: ScummVM and AmigaOS4.1 F.E.
@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.

Go to top

  Register To Post
« 1 (2) 3 4 5 ... 39 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project