
- 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
