@Capehill Awesome news. Can you please give some extra context about SDL_PROP_IOSTREAM_AMIGAOS4_USE_BUFFERED and if this is something we have to enable in our apps?
According to dos.library documentation, "Buffered I/O is more efficient for small reads and writes". If you use SDL_IOStreams, you may need to test both to see.
According to dos.library documentation, "Buffered I/O is more efficient for small reads and writes".
Compared to unbuffered dos.library (IDOS->Open(), IDOS->Read(), IDOS->Write(), IDOS->Close(), etc.) and unbuffered POSIX low level I/O (open64(), read(), write(), close(), etc.): Yes. Compared to C library buffered I/O (fopen64(), fread(), fwrite(), fclose(), etc.): No, using buffered C library I/O is often faster than using buffered dos.library I/O (IDOS->FOpen(), IDOS->FRead(), IDOS->FWrite(), IDOS->FClose(), etc.). At least in case of newlib and ixemul, no idea about libnix, clib2, clib4 and vclib.
Maybe a little off topic, I was asking myself to which SDL versions should the links point to in the SOBJs: folder after having freshly installed AmigaOS 4.1.9.1 (or whatever confusing name the latest available public version has).
e.g. should libSDL.so point to libSDL-1.2 or libSDL2-2.3.so or the even newer libSDL3-3.xx.so?
@Capehill Thank you very much for your work on SDL* for AOS4. I checked out your latest version of SDL3, the ioq3 fork with the SDL3 patch, and SDL2. It works very well and plays great. Thanks!!!
Cool. I noticed that GL2 renderer can be now started with minor modifications, but unfortunately, there seem to be some texture coordinate issues and crashes later.
Not that I am aware of. I tried to set a different driver with SDL3 prefs, but the test program failed with the same error regardless of the selected driver (compositing, opengles2, software).
EDIT 9.12.2025: A small correction. I made a mistake because the video shows the sdl2 version from os4depot (3.2.24). I have now checked with version 3.2.28 on GitHub (link 4 posts above).
It works fine for me. Versions 3.2.24 and 3.2.28. The test was done in the same way.
I was expecting to see GetVar on Snoopy log but there wasn't one. When renderer is created, it should check the given hints.
In any case, this example seems to work differently for me, it defaults to compositing as expected. And setting different drivers from SDL3 prefs works correctly here. Checked also using testsprite --info render.