Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 178 348

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  OS4 sur A1222 »» MiniGL adapté à la Tabor

MiniGL adapté à la Tabor#2533

3Contributeur(s)
K-Lthelliercorto
3 Modérateur(s)
K-LElwoodcorto
K-L K-Licon_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.

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:
http://www.hyperion-entertainment.biz/?EUR?/branches/updates-kc/

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
thellier thelliericon_post
Tant d efforts pour que minigl arrive juste a marcher sur la tabor... :-/
Donc au final la tabor une machine pas si compatible que cela avec des softs ppc existants quand ils utilisent le fpu directement: je veut dire on ce serait attendu a ce que minigl marche directement sur la tabor ( puisque c est warp3d qui tape le hard et non pas minigl par dessus)

Je suis d ailleurs assez étonné que minigl passe les paramètres dans les registres fpu : j aurai cru que l 'interface' d'une .library était du pur C avec passage des paramètres sur la pile 

Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
K-L K-Licon_post
Et y a toujours pas de pilotes son et réseau...

On verra ce qu'il en est lorsqu'elle sera disponible (mais le pilote Radeon HD ne devra-t-il pas lui aussi être réécrit ? ).
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
corto cortoicon_post
@thellier
C?EUR(TM)est sûr que la Tabor et le choix (plus que discutable) du CPU demandent beaucoup d?EUR(TM)efforts pour s?EUR(TM)adapter à ces spécificités.
Par contre, elle est compatible avec les softs PPC et l?EUR(TM)OS émule les instructions FPU standards du PPC. Il y a malgré tout des cas où l?EUR(TM)émulation reste pénalisante : l?EUR(TM)utilisation massive du FPU, comme dans MiniGL. D?EUR(TM)où le choixde compiler certaines parties ciblées (mais ça doit s?EUR(TM)en tenir au minimum à son sens) spécialement pour le CPU de la Tabor.

Pour le passage de paramètres : c?EUR(TM)est défini dans l?EUR(TM)ABI, les paramètres sont passés par le registres, qu?EUR(TM)il s?EUR(TM)agisse d?EUR(TM)entiers ou de flottants.


Message édité par : corto / 08-05-2018 11:18
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme