TinyGL: FBO, Shaders and futur improvements
  • MorphOS Developer
    bigfoot
    Posts: 510 from 2003/4/11
    Today I've released the tenth public TinyGL beta release.

    The main focus of this release is implementing support for framebuffer objects. However, in the course of doing that, many other related and unrelated parts of TinyGL have been improved as well, resulting in better OpenGL compliance and more features being implemented.

    Please note that the R600 driver is absent from this release, but that it will be readded in a future release once I've updated it to the current TinyGL requirements.

    For software developers, please make sure you read the included ReadMe file for important information on using new TinyGL features and fixes.

    I'd like to thank everyone who's helped test this release, but especially beworld for his tireless testing and feedback regarding framebuffer objects and my general TinyGL improvements as well as jPV for his very helpful testing in this last week that helped me fix a handful of problems that would otherwise have made it into this release undetected.
    I rarely log in to MorphZone which means that I often miss private messages sent on here. If you wish to contact me, please email me at [username]@asgaard.morphos-team.net, where [username] is my username here on MorphZone.
  • »29.09.24 - 04:48
    Profile Visit Website
  • ASiegel
    Posts: 1376 from 2003/2/15
    From: Central Europe
    Yay!
  • »29.09.24 - 05:14
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    tolkien
    Posts: 523 from 2013/5/29
    Thanks so much bigfoot, beworld and jpv! Will try right now.
    MorphOS: PowerMac G5 - PowerBook G4 - MacMini.
    Classic: Amiga 1200/060 - A500 PiStorm
  • »29.09.24 - 10:10
    Profile
  • Butterfly
    Butterfly
    waldiamiga
    Posts: 94 from 2007/7/25
    From: Krakow, Poland
    Wow! Good news!

    MorphOS.pl
    PowerBook G4 1.67GHz|2GB DDR2|ATI Radeon 9700M 128MB|SSD 80GB|TFT 17"|MorphOS 3.1x
    Core i7 Notebook|WinUAE 3.x/AmigaOS4.1x & Icaros Desktop 2.x & QEmu 6.x.x
  • »29.09.24 - 11:54
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    MoerBoer
    Posts: 230 from 2019/10/15
    Great news, thanks bigfoot, beworld and jPV!
  • »29.09.24 - 14:56
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Brumiga
    Posts: 249 from 2004/4/3
    From: France
    At every boot I have the activity indicator of debug 'on'. I do not know what/who is responsible, sdl 2 or tinygl latest releases. So here is the log that I obtain.

    20.070| 128 bytes read
    20.070| block#0 bytesum 0x0
    20.070| 0x00: 00 ff ff ff ff ff ff 00 26 cd 11 66 26 0b 00 00 .ÿÿÿÿÿÿ..Í.f....
    20.070| 0x10: 10 19 01 03 80 3c 22 78 2a 2f a5 a5 54 50 9e 27 .......x....TP..
    20.070| 0x20: 10 50 54 33 08 00 71 00 81 40 81 80 a9 40 b3 00 .PT3..q.........
    20.070| 0x30: 95 00 d1 c0 01 01 02 3a 80 18 71 38 2d 40 58 2c ..ÑÀ......q8..X.
    20.071| 0x40: 45 00 56 50 21 00 00 1e 00 00 00 ff 00 31 31 32 E.VP.......ÿ.112
    20.071| 0x50: 38 31 35 31 36 30 32 38 35 34 00 00 00 fd 00 37 8151602854...ý.7
    20.071| 0x60: 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc L.S............ü
    20.071| 0x70: 00 50 4c 58 32 37 38 33 48 0a 20 20 20 20 00 61 .PLX2783H......a
    20.071|
    20.071| ID manufacturer Name = 'IVM'
    20.071| ProductCode = 0x6611
    20.071| Serial Number 260b0000
    20.071| Week of Manufacture 16
    20.071| Year of Manufacture 2015
    20.071| EDID Structure Version 1.3
    20.071|
    20.071| Basic Display Parameters and Features
    20.071| checkDDCdata: Video input: Digital signal
    20.071| Max. Horizontal Image Size 60 cm
    20.071| Max. Vertical Image Size 34 cm
    20.071| Display Transfer Characteristic (Gamma): 2.2
    20.071|
    20.071| Feature Support (0x2a)
    20.071| Supports Active Off/Very Low Power
    20.071| RGB color display
    20.071| Preferred timing mode is indicated in the first detailed timing block
    20.071| (Note: Use of preferred timing mode is required by EDID structure version 1.3 and higher
    20.071|
    20.071| Phosphor or filter chromacity
    20.071| red_x 0.6445 red_y 0.3301
    20.071| green_x 0.3154 green_y 0.6201
    20.071| blue_x 0.1543 blue_y 0.06445
    20.071| white_x 0.2354 white_y 0.1338
    20.071|
    20.071| Established Timings
    20.072| 640 x 480 @ 60Hz (IBM, VGA)
    20.072| 640 x 480 @ 67Hz (Apple, MacII)
    20.072| 800 x 600 @ 56Hz (VESA)
    20.072| 800 x 600 @ 60Hz (VESA)
    20.072| 1024 x 768 @ 60Hz (VESA)
    20.072|
    20.072| Standard timing identification #1
    20.072| code 0x7100 (HActive 1152 Pixels VActive 720 Lines RefreshRate 60Hz Aspect 16:10)
    20.072| Standard timing identification #2
    20.072| code 0x8140 (HActive 1280 Pixels VActive 960 Lines RefreshRate 60Hz Aspect 4:3)
    20.072| Standard timing identification #3
    20.072| code 0x8180 (HActive 1280 Pixels VActive 1024 Lines RefreshRate 60Hz Aspect 5:4)
    20.072| Standard timing identification #4
    20.072| code 0xa940 (HActive 1600 Pixels VActive 1200 Lines RefreshRate 60Hz Aspect 4:3)
    20.072| Standard timing identification #5
    20.072| code 0xb300 (HActive 1680 Pixels VActive 1050 Lines RefreshRate 60Hz Aspect 16:10)
    20.072| Standard timing identification #6
    20.072| code 0x9500 (HActive 1440 Pixels VActive 900 Lines RefreshRate 60Hz Aspect 16:10)
    20.072| Standard timing identification #7
    20.072| code 0xd1c0 (HActive 1920 Pixels VActive 1080 Lines RefreshRate 60Hz Aspect 16:9)
    20.072|
    20.072| monitor descriptor 2 type 0xff
    20.072| Monitor S/N: 1128151602854
    20.072| monitor descriptor 3 type 0xfd
    20.072| Monitor range limits
    20.072| min vfreq 55 max vfreq 76
    20.073| min hfreq 30 max hfreq 83
    20.073| max pixclk 170MHz (0)
    20.073|
    20.073| monitor descriptor 4 type 0xfc
    20.073| Monitor name: PLX2783H

    I forgot to say that I obtain this debug log only with my macmini. On my amigaone x5000 I do not obtain any debug log.

    Brumiga

    [ Edité par Brumiga 29.09.2024 - 18:33 ]
  • »29.09.24 - 16:20
    Profile
  • MorphOS Developer
    jacadcaps
    Posts: 3112 from 2003/3/5
    From: Canada
    @Brumiga

    Ignore it.
  • »29.09.24 - 16:33
    Profile Visit Website
  • MorphOS Developer
    bigfoot
    Posts: 510 from 2003/4/11
    Quote:

    Brumiga wrote:
    At every boot I have the activity indicator of debug 'on'. I do not know what/who is responsible, sdl 2 or tinygl latest releases. So here is the log that I obtain.

    20.070| 128 bytes read


    This is indeed from the TinyGL update, from MOSSYS:Devs/Monitors/Radeon. It's harmless and you can ignore it. It'll be removed in the next TinyGL update I release.
    I rarely log in to MorphZone which means that I often miss private messages sent on here. If you wish to contact me, please email me at [username]@asgaard.morphos-team.net, where [username] is my username here on MorphZone.
  • »30.09.24 - 08:14
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Brumiga
    Posts: 249 from 2004/4/3
    From: France
    Thank you bigfoot for your clarification.

    Brumiga
  • »30.09.24 - 14:31
    Profile
  • Caterpillar
    Caterpillar
    Falcon_11
    Posts: 32 from 2004/2/7
    From: Slovakia
    Thank you Bigfoot for your hard work. Offcourse also others.

    Falcon_11

    [ Edited by Falcon_11 30.09.2024 - 19:29 ]
    DEAD
    MB :Pegasos-II
    CPU :G4/1GHz
    OS :MOS 2.2 reg, MOS 1.4.5, Ubuntu 8.04, MACOSX Panther on MOLk
    RAM :512MB-DDR266 Apacer
    GFX :ATI-Radeon 9200 128MB
    HDD :MAXTOR-160+80GB ATA133
    TV :Pinnacle Studio PCTV


    Powerbook G4 A1139, MOS3.18
  • »30.09.24 - 17:27
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Papiosaur
    Posts: 2240 from 2003/4/10
    From: France
    This is a new stage for MorphOS! Thanks a lot bigfoot for this new TinyGL! Many games are more speed and new games with FBO support will be ported!

    Thanks a lot to jPV and BeWorld of course too!
  • »01.10.24 - 16:01
    Profile Visit Website
  • Just looking around
    anchor
    Posts: 8 from 2014/1/1
    For me FBO is not advertised with SDL2.
    - I updated TinyGL with TinyGL-Update-2024-09-29.lha
    - I calling tglEnableNewExtensions(0) after calling SDL_GL_CreateContext(), and before listing extensions.

    but EXT_framebuffer_object is not advertised.

    tinygl1.jpg

    tinygl2.jpg

    could anyone use FBO with SDL2?
  • »20.10.24 - 08:27
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 611 from 2010/2/10
    From: FRANCE
    Quote:

    anchor a écrit :
    For me FBO is not advertised with SDL2.
    - I updated TinyGL with TinyGL-Update-2024-09-29.lha
    - I calling tglEnableNewExtensions(0) after calling SDL_GL_CreateContext(), and before listing extensions.

    but EXT_framebuffer_object is not advertised.

    tinygl1.jpg

    tinygl2.jpg

    could anyone use FBO with SDL2?


    Have you update to last SDL2 ?

    No need to call tglEnableNewExtensions, SDL2 do it: https://github.com/BeWorld2018/SDL/blob/SDL-2.30.7-release/src/video/morphos/SDL_mosopengl.c#L178

    I think you need to force OpenGL 2.0 detection, i see "OpenGL 2.0 not available".. force that. tinygl send you OpenGL 1.2...

    After i need source to check and test
    IMac G5 2.1,PowerBook G4 1.5,MacMini 1.5, PowerMac G5 2.7 died !!!
    My MOS ports
  • »20.10.24 - 09:12
    Profile Visit Website
  • Just looking around
    anchor
    Posts: 8 from 2014/1/1
    Thanks Beworld, my SDL2 was deifinitely outdated.
    I updated to SDL-2.30.7, but now i'm getting compile error:

    tinygl3.jpg
  • »20.10.24 - 10:45
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 611 from 2010/2/10
    From: FRANCE
    Quote:

    anchor a écrit :
    Thanks Beworld, my SDL2 was deifinitely outdated.
    I updated to SDL-2.30.7, but now i'm getting compile error:

    tinygl3.jpg




    ok wiht last version of SDL2, you need to put "-lGL" after -lSDL2
    IMac G5 2.1,PowerBook G4 1.5,MacMini 1.5, PowerMac G5 2.7 died !!!
    My MOS ports
  • »20.10.24 - 12:45
    Profile Visit Website
  • Just looking around
    anchor
    Posts: 8 from 2014/1/1
    Thanks for your response Beworld!

    Actually i had no -lGL in the makefile. If i put it after -lSDL2, the error is the same :/
  • »20.10.24 - 16:53
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 611 from 2010/2/10
    From: FRANCE
    so... you dont have last TinyGL SDK :-)
    IMac G5 2.1,PowerBook G4 1.5,MacMini 1.5, PowerMac G5 2.7 died !!!
    My MOS ports
  • »21.10.24 - 10:47
    Profile Visit Website
  • Just looking around
    anchor
    Posts: 8 from 2014/1/1
    Beworld: seems yes, but i ran the latest update... how can i check the installed TinyGL SDK version?
  • »21.10.24 - 11:10
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 611 from 2010/2/10
    From: FRANCE
    Into last archive: https://tinygl.molsen.co.za/TinyGL-Update-2024-09-29.lha

    You need to read "readme".... :-)

    Part SDK:

    Quote:


    delete gg:ppc-morphos/lib/libGL.a
    copy SDK/GG/#? gg: all quiet clone

    IMac G5 2.1,PowerBook G4 1.5,MacMini 1.5, PowerMac G5 2.7 died !!!
    My MOS ports
  • »21.10.24 - 12:34
    Profile Visit Website
  • Just looking around
    anchor
    Posts: 8 from 2014/1/1
    Thanks Beworld!

    Now my test project is compiling.

    The binary format geometry loader has endian problems, it's easy to modify.

    The real problem is the shader compilation:

    Image: tinygl4.png

    Would be good to know is the max uniform count, and other limits.

    Anyway, this TinyGL is promising from now :)
  • »22.10.24 - 08:55
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Tcheko
    Posts: 536 from 2003/2/25
    From: France
    Quote:

    anchor wrote:

    Would be good to know is the max uniform count, and other limits.

    Anyway, this TinyGL is promising from now :)



    Keep in mind. R300 is pretty limited to only 64 instructions. Instructions not natively supported are emulated with multiple instructions as well, which doesn't help either. :)

    Multipass is the only way to get around that. If your shader is failing, simplify until it compiles...
    Quelque soit le chemin que tu prendras dans la vie, sache que tu auras des ampoules aux pieds.
    -------
    I need to practice my Kung Fu.
  • »22.10.24 - 11:35
    Profile Visit Website