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

Pages vues depuis 25/07/2007 : 25 337 842

  • 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 AmigaOne X1000 »» Comment forcer l'affichage sur une carte graphique ?

Comment forcer l'affichage sur une carte graphique ?#1445

6Contributeur(s)
zzd10hAmiDARKElwoodCrisotLiothellier
3 Modérateur(s)
K-LElwoodcorto
zzd10h zzd10hicon_post
Elwood,
Qu'ai-je loupé dans ton commentaire ?

Sélection d'écran ?
Non, c'est bien ça le problème.

Forcer une appl à s'ouvrir sur un écran dans Screens ?
oui, mais comment ?

Si tu sais pas, demande :
Ah, oui, ça j'ai compris et je n'hésite pas ;-)


Lio :
Je viens de tester NewMode mais il ne m'ouvre pas de Requester quand un nouvel écran s'ouvre (testé avec WarpView)

Message édité par : zzd10h / 13-01-2013 00:12
zzd10h zzd10hicon_post
Elwood :
Petit up,
Qu'ai-je loupé dans ton commentaire ?
Merci
thellier thelliericon_post
Peut être qu'un promoteur d'ecran existe et pourrait le faire mais surtout il y a un problème dans MiniGL donc dans Warp3D : car il ne devrait pas prendre un modeID qui ne marche pas avec Warp3D

Je trouve ça dans MiniGL (vieille sources mais je suppose que la dernière est idem)
GLboolean vid_OpenDisplay(GLcontext context, int width, int height, uint32 id)
{
ULONG ModeID;
int i;
int w = width, h = height;
uint32 pad;

if (!context)
return GL_FALSE;

if (id != MGL_SM_BESTMODE && id != MGL_SM_WINDOWMODE)
{
ModeID = id;
dprintf("Using given mode id = %p\n", ModeID);
}
else
{
dprintf("Trying to determine best mode id\n");
ModeID = IWarp3D->W3D_BestModeIDTags(
W3D_BMI_WIDTH, w,
W3D_BMI_HEIGHT, h,
W3D_BMI_DEPTH, context->Params.newPixelDepth,
TAG_DONE);
dprintf("Mode ID = %p\n", ModeID);
}

---------------------------------------------------
NAME
W3D_BestModeID -- Find a suitable ModeID (V3)

FUNCTION
Returns a screen mode ID that best fits the parameters
supplied in the tag list.

INPUTS
tags - a taglist, consisting of the following possible tag item:
W3D_BMI_DRIVER Must work with this driver
W3D_BMI_WIDTH Must have approximately this width
W3D_BMI_HEIGHT Must have approximately this height
W3D_BMI_DEPTH Must have at least this depth


Ca laisserait donc supposer que W3D_BestModeID peut renvoyer un mode non supporté si le champ W3D_BMI_DRIVER n'est pas fourni comme ici dans MiniGL

Faudra que je vérifie avec le debugger de Wazp3D si Turrican/MiniGL/Warp3D agit bien ainsi...

Auxquel cas faudrait que MiniGL fasse un truc du genre
W3D_Driver **drivers;
W3D_Driver *driver;

drivers = IWarp3D->W3D_GetDrivers();
driver = drivers[0];

while (drivers[0])
{
if(!driver->swdriver)
{driver=drivers[0]; break;} /* si existe driver hard c mieux */
drivers++;
}

ModeID = IWarp3D->W3D_BestModeIDTags(
W3D_BMI_DRIVER, driver,
W3D_BMI_WIDTH, w,
W3D_BMI_HEIGHT, h,
W3D_BMI_DEPTH, context->Params.newPixelDepth,
TAG_DONE);



Alain




Message édité par : thellier / 16-01-2013 10:36
zzd10h zzd10hicon_post
Merci Alain de t'être pencher sur mon pb.

J'ai ouvert un thread sur Hypérion, pour au moins voir si je suis le seul dans ce cas.

http://forum.hyperion-entertainment.biz/viewtopic.php?f=33&t=1505


Message édité par : zzd10h / 16-01-2013 12:31
thellier thelliericon_post
Hello

J'avais tort
J'ai lancé Hurrican sur la Sam440 + Wazp3D en mode debug :
le premier appel a Warp3D est W3D_CreateContexTags( blah..., bitmap, blah...)
(je suppose que la bitmap est celle de l'écran de hurrican)

donc y pas eu d'appel à W3D_BestModeIDTags() pour obtenir un mode écran
(ecran qui puisse marcher avec Warp3D)= j'avais tort

donc l ecran a du être obtenue (je suppose) avec

ModeID = BestCModeIDTags( blah blah)
screen = OpenScreenTags(
blah....
SA_DisplayID, ModeID,
blah ...
TAG_DONE);

Faut trouver un prog qui patch OpenScreenTags() ou en faire un...
(exemple de comment patcher des fonctions os4 : aminet.net/package/driver/video/PatchWarp3D)

Alain
zzd10h zzd10hicon_post
Par contre, je ne comprends pas pour WarpView (qui au contraire passe de la HD6670 à la 9250).
J'ai bien vérifié que le mode d'accélération Warp3D était désactivé dans les paramétres WarpView.
Elwood Elwoodicon_post
Citation : zzd10h?

Elwood,
Qu'ai-je loupé dans ton commentaire ?

Je disais :
Il est fort possible que tu puisses forcer une application à s'ouvrir sur le mode d'écran (et donc sur la carte graphique) que tu veux en passant par Prefs/Screens.

Tu peux utiliser cette commodité pour forcer l'ouverture d'un programme sur la configuration écran que tu veux.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
zzd10h zzd10hicon_post
Super,
Par contre je n'ai pas trouvé comment faire.
Est-ce que qq'un pourrait me faire un petit grab d'écran, svp ?

Par avance, merci
Elwood Elwoodicon_post
Je peux pas tout de suite, mais en gros tu fais comme ceci :
- tu ouvres ton logiciel/jeu
- tu bascules sur le Workbench avec Amiga-N
- tu ouvres Prefs/Screens
- tu ajoutes un "écran ouvert"
- tu le configures comme tu le souhaites
- tu enregistres les modifs
- tu quittes et relance le logiciel
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
zzd10h zzd10hicon_post
Merci pour les explications,
c'est clair que je n'aurais pas trouvé ça sans ton aide.

Et en plus ça marche avec WarpView ;)

Par contre, pour Hurrican, le problème doit être ailleurs parce qu'il ne réagit pas au Amiga-N.
D'ailleurs, même en mode fenêtré, quand je sors de la fenêtre de Hurricane pour faire du Workbench classique => l'OS freeze mais Hurricane continue de tourner...

En tout cas, merci beaucoup.

Voici ma def de screens pour WarpView.

http://zzd10h.amiga-ng.org/Divers/Screen.jpg

Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme