1

ok, j'aime m'entendre parler wink , mais j'vous le dit kan meme:

- evitez la scrutation de sémaphores entre le GPU et le DSP, ça bouffe le bus et ça fait tout merder, vaut mieux utiliser 2 sémaphores :

j'faisais ça :

prog GPU :
- semaphore=0 ==> attendre
- semaphore =1 ==> tracer le polygone dont les parametres ont été passés par le DSP
prog DSP:
- semaphore GPU = 1 ==> tant que le semaphore est à 1, on la jusqu'à ce qu'elle passe à 0
- semaphore GPU= 0 ==> passage des parametres du polygone au GPU et mise a 1 de la semaphore..


le soucis, c'est que la lecture par le DSP de la sémaphore du DSP bouffe le BUS a donf'

donc: vaut mieux passer par 2 sémaphore:

prog GPU:
- semaphoreGPU = 0; on lit la semaphore jusqu'a ce qu'elle passe a 1
- semaphoreGPU = 1 ==> on trace le polygone dont les parametres ont été passés par le DSP, une fois fini, mettre la semaphoreDSP à 1
prog DSP:
- semaphore DSP=0; on attend qu'elle soit à 1
- semaphore DSP=1 --> on passe les parametres du poly au GPU, puis on met la semaphore GPU à 1


bon...je sais que c'est pas clair pour tout le monde mais c'est HYPER important !

mon moteur 3D plantait passke le DSP faisait accès à la sémaphore du GPU (donc via le bus) en boucle en attendant qu'elle passe à 0 (pour savoir quand demander au GPU de dessinner un nou veau polygone)...donc trop de communication DSP->GPU nuit énormémment à la stabilité de nos programmes...




qu'on se le dise !!!

(si vous voulez une traduction, demandez-moi wink )

2

une tradiuction SVP table 64
avatar
"Baissez les yeux mon divin père, je ne suis qu'un grain de poussière" La Fille d'Octobre - Sur ma Lune

Vous chercher d'un hôtel de charme à Paris ? Les Hôtels du Pré

Association Retro-gaming Connexion : http://www.retro-gc.fr Retrouvez nous aussi sur FaceBook!
Mes achats et mes ventes.

3

grin

4

Yep !

J'ai compris car j'ai utilisé les sémaphores à l'IUT en programmation système sous UNIX. Ce forum va devenir une référence pour tous les développeurs Jaguar français wink
Florian M.

5

Bref une réferencepour Fredifredo et cts rotfl
avatar
"Baissez les yeux mon divin père, je ne suis qu'un grain de poussière" La Fille d'Octobre - Sur ma Lune

Vous chercher d'un hôtel de charme à Paris ? Les Hôtels du Pré

Association Retro-gaming Connexion : http://www.retro-gc.fr Retrouvez nous aussi sur FaceBook!
Mes achats et mes ventes.

6

on dirait ouaip...


mais bon, le but du message est que si "un jour " "quelqu'un" tombe sur le "problème" ben y'aura une référence quelque part...smile


On sait jamais ! smilesmile

En tout cas, ce problème étant réglé, j'peux passer à quelque chose de + intéressant...


...to be continued...

7

Et tu gagnes combien en temps en utilisant deux sémaphores ? C de l'ordre de combien en gain de temps ?
Florian M.

8

j'ai pas mesuré, mais chaque proc ne scrutant que le semaphore dans sa memoire perso, y'a plus d'accès au bus.
J'ai pas eu le choix, j'l'ai pas fait pour gagner des cycles mais pour que ça plante plus ! (c'est ça ou mettre pleins de nop entre chaque lecture semaphore ==> gaspillage de cycles pour rien !)

J'dis pas, dans un VRAI jeu ou le DSP fait autre chose entre chaque poly, pitet qu'une semaphore suffit. Là mon code c'est juste un truc bourrin qui demande au GPU d'afficher des poly en serie...

9

Ptit rectificatif:

je parle de sémaphores mais c'est juste des flags en fait, exès de language wink

en résumé, les risc (DSP/GPU) s'ils font de la scrutation, ça doit etre dans leur ram locale...

10

hello ! fredifredo il sait même pas ce qu'est une sémaphore...alors..c'est pour dire !

I'm stay alive smile
Atari Jaguar :
http://perso.orange.fr/jaguar-64bit/

! Jagware !

11

comme j'disais, c'est un abus de language...


c'est plutot un flag qui quand il est monté, indique aux autres procs qu'une certaine tâche est en cours d'execution.

Dans mon cas, le flag dis que le GPU dessine un polygone, donc le DSP sait qu'il doit patienter un peu avant de lui redemander un autre poly.

12

c'est une instruction qui demande une interruption un peu comme une IRQ sur pc ?
Atari Jaguar :
http://perso.orange.fr/jaguar-64bit/

! Jagware !

13

pas du tout justement wink
J'ai utilisé ça pour etre plus simple...


C'est juste un mot en memoire dans lequel tu ecris ou que tu lis...