website logo
Auteur
avatar
K-L

Forum » » OS4 sur A1222 » » MiniGL adapté à la Tabor


Posté : 07-05-2018 20:36 icone du post

Daniel Muessener annonce avoir bien avancé sur la recompilation de MiniGL pour la Tabor (je ne traduis pas mais les plus aguerris comprendront de quoi il s'agit) :


I just ported the MiniGL and GLUT libraries to the A1222 Tabor.
There are two different flavours, in this video here variant (2) is shown.

=ATODZdy0nHP_TKh-xo37WNIgka1bBlzqJ5vIHzmK0isBFwnY_FRkEmCseis96LZmyp36brAslEZFfv 0uqq6wedEgW1uc8qUV7CtigWzhDPd3vPXJJAY-OA" target="_blank" class="" data-ft="{" tn":"-u"}"="" rel="nofollow" data-lynx-mode="hover" style="color: #365899; cursor: pointer; text-decoration: none; font-family: inherit;">https://youtu.be/CbO7a7sTjuo

1. compatible with programs compiled for std. PPC. To achieve this the libs contain some kind of bridge code. This is necessary because std. PPC programs pass floats by FPU registers - but the A1222 doesn't have those...
So the lib-interfaces are some kind of mixture of std. PPC and SPE code, while the whole software TCL etc. is pure SPE.

2. pure native SPE. This is meant for client programs that were compiled for SPE too. So all those demos here have been compiled for SPE.

The libs are open source, check it out here:
%2Fsvn%2FMiniGL%2Fbranches%2Fupdates-kc%2F&h=ATPb7-ntmHXECO6Q620b4JH-RJOHfB LCG8IxMk5GPsrHAeitLzTtl0yb1QmloofTJXG-4OvFdGgTIH29J22WB2icPPL0OHN1R3w3OwQzo8xNH GxmwTuBnQ" target="_blank" class="" data-ft="{" tn":"-u"}"="" rel="nofollow" data-lynx-mode="hover" style="color: #365899; cursor: pointer; text-decoration: none; font-family: inherit;">http://www.hyperion-entertainment.biz/?EUR?/branches/updates-kc/< /p>

This is what I've done in detail:

- some more simple Tabor ifdefs (replace those by asm later).
- Fix: alpha.c demo prog had wrong blend mode.
- Fix: glEvalMesh1 created wrong coordinates.
- Fix: mipmapping/closestFit eventually unitialized variable.
- Fix: const-correct in texture-converters etc.
- Fix: const-correct in eval etc.
- Fix: const-correct in glClipPlane.
- removed lots of unused variables.
- no more deprecated Create/Delete(Msg)Port usage.
- no more deprecated p96ReadPixelArray usage.
- Fix: nurbtess, eventually unitialized variables.
- got rid of almost all warnings (which hid true issues by their sheer amount).
- new config define MGL_USE_ALTIVEC to toggle compilation of altivec code.
- new config define MGL_TABOR_NO_ABI_BRIDGE to optionally disable the creation of the PPC-ABI <-> SPE-ABI bridge code. If you define MGL_TABOR and MGL_TABOR_NO_ABI_BRIDGE then you'll get a pure SPE minigl / mglut to be used by native SPE programs.
- new config define MGL_HAS_NO_SPE_NEWLIB to enabled replacement of functions like cos, sin, etc. Note: for the demo progs this also means that some printf("%f") etc. is not being compiled or has been modified to spit out ints.

- taborized for the scenario std-PPC-prog -> native-SPE-TCL-minigl/mglut with PPC<->SPE bridge.
- taborized for the scenario SPE-prog -> native-SPE-minigl/mglut.
- provided my own messy makefiles for all three variants.
- provided precompiled libs and demos for all variants.

Known issues with the SPE builds:

- glut timerfunc is not working. Use the non-SPE-mglut for now if you tap into this issue (when using the 100% native SPE variants you're lost, of course)
- some demo-progs refuse to work if compiled for SPE because of alignment problems.
- be aware! On my setup gcc's -L flag apparently has a lower priority than its built-in library path! This means that it won't link the newly created libs but the (wrong) ones that exist in the SDK! Better rename those in the SDK (libGL.a etc.) before building!

The problems with some SPE demos are most likely due to my GCC not always producing valid SPE code.

Cheers,
Daniel

--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE

Message édité par : K-L / 07-05-2018 21:14

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2533&forum=22