h6. [[Programmer's Reference Manuals (français)|Programmer's Reference Manuals]] h6(. » [[Vectors (français)|Vectors]] h6((. » [[Software Vector Numbers (français)|Software Vector Numbers]] h6(((. » GraphicsV h2. Graphics Vector (42) <pre>Traduction en cours</pre> |_<^{width:5em}. En entrée |<^. || |/2<^. R4|<^. Bits 0-23: "Paramètre":#reason| |<^. Bits 24-31: Numéro du pilote | |\2<^. Les autres registres dépendent de l'appel | h4. Usage Cet appel est utilisé par RISC OS 5 pour communiquer avec le driver video. Les applications doivent essayer, autant que possible, de trouver l'appel SWI approprié plutôt que d'utiliser les appels GraphicsV directement. Les informations présentées ici sont principalement utiles aux responsables de systèmes d'exploitation et aux développeurs de pilotes vidéo. R4 est utilisé par tous les appels de GraphicsV pour stocker à la fois le Paramètre et pour indiquer si l'appel a été réclamé (c'est-à-dire traité par un pilote). Lors qu'un pilote réclame un appel, R4 est mis a 0. En vérifiant R4 apres l'appel, il est possible de savoir si le pilote prend en charge cet appel ou pas. h4(#reason). Reason Codes |_<^{width:5em}. # |<^. |_\2<^. Context[1] | |<^. 0|<^. Null reason code for when vector has been claimed | |<^. 1|<^. [[GraphicsV 1 (français)|VSync interrupt occurred]]| BG | SVC/IRQ | |<^. 2|<^. [[GraphicsV 2 (français)|Set mode]]| FG[2] | SVC | |<^. 3|<^. [[GraphicsV 3 (français)|Set interlace]][3]| FG | SVC | |<^. 4|<^. [[GraphicsV 4 (français)|Set blank]]| FG/BG | SVC | |<^. 5|<^. [[GraphicsV 5 (français)|Update pointer]]| FG/BG | SVC/IRQ | |<^. 6|<^. [[GraphicsV 6 (français)|Set DAG]]| FG/BG | SVC/IRQ | |<^. 7|<^. [[GraphicsV 7 (français)|Vet mode]]| FG | SVC | |<^. 8|<^. [[GraphicsV 8 (français)|Features]]| FG | SVC | |<^. 9|<^. [[GraphicsV 9 (français)|Framestore information]]| FG | SVC | |<^. 10|<^. [[GraphicsV 10 (français)|Write palette entry]]| FG/BG | SVC/IRQ | |<^. 11|<^. [[GraphicsV 11 (français)|Write palette entries]]| FG/BG | SVC/IRQ | |<^. 12|<^. [[GraphicsV 12 (français)|Read palette entry]]| FG | SVC | |<^. 13|<^. [[GraphicsV 13 (français)|Render]]| FG | SVC | |<^. 14|<^. [[GraphicsV 14 (français)|IIC op]]| FG | SVC | |<^. 15|<^. [[GraphicsV 15 (français)|Select head]]| FG | SVC | |<^. 16|<^. [[GraphicsV 16 (français)|Select startup mode]]| FG | SVC | |<^. 17|<^. [[GraphicsV 17 (français)|List pixel formats]]| FG | SVC | |<^. 18|<^. [[GraphicsV 18 (français)|Read info]]| FG | SVC | |<^. 19|<^. [[GraphicsV 19 (français)|Vet mode 2]]| FG | SVC | h4. Notes h5. Installation et désinstallation de pilote. Les pilotes vidéo basés sur GraphicsV doivent effectuer la séquence d'événements suivante au démarrage: # Appeler [[OS_ScreenMode 64 (français)|OS_ScreenMode 64]]: Demander un numéro de pilote # Stocker le numéro, afin de l'utiliser ensuite lors d'appel GraphicsV # Appeler [[OS_Claim (français)|OS_Claim]] to install their GraphicsV handler # Déclencher une [[GraphicsV 1 (français)|interruption VSync]] si cela est possible # Effectuez toute autre initialisation nécessaire pour préparer le pilote / le matériel # Appeler [[OS_ScreenMode 65 (français)|OS_ScreenMode 65]]: Démarrer le pilote graphique et informer ainsi le Système d'exploitation que le pilote est prêt. Une fois que [[OS_ScreenMode 65 (français)|OS_ScreenMode 65]] a été réalisée, le pilote peut recevoir des appels GraphicsV de la part du systèmes d'exploitation ou des application. Avant cela, aucun appel ne doit être reçu. Si c'est le cas, c'est un bug dans le code de quelqu'un d'autre et pas le vôtre. Lors de l’arrêt d'un pilote vidéo, la séquence d'événements suivante doit être effectuée: # Appeler [[OS_ScreenMode 66 (français)|OS_ScreenMode 66]]: Arrêter le pilote graphique. Une fois cet appel réalisé, le pilote ne devrait plus recevoir d'appels GraphicsV. # Arrêter la génération d'interruptions VSync # Appeler [[OS_Release (français)|OS_Release]] to release the GraphicsV handler # Appeler [[OS_ScreenMode 67 (français)|OS_ScreenMode 67]]: Libérer le numéro de pilote afin qu'il puisse éventuellement être réaffecté à un autre pilote. Note that OS_ScreenMode reasons 64-67 must only be called from the foreground. See also [[HAL Video API (français)|HAL Video API]] for details on how the OS translates GraphicsV calls to HAL calls for systems which contain a video driver in their HAL. fn1. *Calling contexts* GraphicsV drivers can be called under a variety of different situations. Consult the table above, and the list below, to determine the situations in which each entry point may be called and how the implementation is allowed to behave. * FG - These calls must only made from the foreground, with interrupts enabled. Background calls may occur while a foreground call is in progress, but no other foreground calls should occur. Foreground calls are allowed to block for long periods of time, and are allowed to enable/disable interrupts at will. * BG - These calls must only be made from the background, i.e. from within an interrupt handler. The implementation must execute quickly in a non-blocking manner. On entry, interrupt state is undefined. Drivers may disable interrupts as required, but should not enable them if they were disabled on entry. The implementation must also be fully re-entrant, as the same (or a different) background call may be made while the first is in progress. * FG/BG - These calls may be made from the foreground or the background. The same execution rules as background calls apply - the implementation must be fast, non-blocking, must not enable interrupts if they were disabled on entry, and must be re-entrant with other driver calls. * SVC - These calls are only made from supervisor mode. * SVC/IRQ - The kernel may call these entries from SVC or IRQ mode. Therefore care must be taken to preserve R14_svc around any SWI calls. fn2. *GraphicsV 2* As an addition to the above rules, drivers are free to ignore any background calls they receive while they are in the middle of processing a mode change. fn3. *GraphicsV 3* This call is deprecated. Interlace settings should be specified via the VIDC list and associated control list items given to GraphicsV 2/7. h4. Voir aussi * [[Software Vector Numbers (français)|Software Vector Numbers]] * [[OS_ScreenMode (français)|OS_ScreenMode]]: Réalise diverses opérations concernant le changement de résolution graphique de l’écran. * [[HAL Video API (français)|HAL Video API]] h5. Page d'origine [[GraphicsV|English]]