1
0
mirror of https://github.com/deadw00d/AROS.git synced 2025-12-07 14:04:01 +00:00

SetChipRev on Amiga can now be simplified.

This commit is contained in:
Johan Gill
2025-04-27 21:24:46 +02:00
parent ee75e26b7c
commit c8087a1fbc

View File

@ -19,28 +19,6 @@
/* See rom/graphics/setchiprev.c for documentation */
struct GfxHookData
{
OOP_Object *amigavideo_driver;
};
AROS_UFH3S(BOOL, enum_cb,
AROS_UFHA(struct Hook *, hook, A0),
AROS_UFHA(OOP_Object *, obj, A2),
AROS_UFHA(APTR, data, A1))
{
AROS_USERFUNC_INIT
struct GfxHookData *_data = (struct GfxHookData *)data;
if (OOP_OCLASS(obj)->ClassNode.ln_Name && (!strcmp(OOP_OCLASS(obj)->ClassNode.ln_Name, "hidd.gfx.amigavideo"))) {
_data->amigavideo_driver = obj;
return TRUE;
}
else {
return FALSE;
}
AROS_USERFUNC_EXIT
}
AROS_LH1(ULONG, SetChipRev,
AROS_LHA(ULONG, ChipRev, D0),
struct GfxBase *, GfxBase, 148, Graphics)
@ -83,21 +61,8 @@ AROS_LH1(ULONG, SetChipRev,
// Notify the amigavideo driver if AGA is enabled
if (chipflags == best_possible_flags || chipflags == SETCHIPREV_AA) {
struct Hook enum_hook =
{
.h_Entry = enum_cb
};
struct GfxHookData hook_data =
{
.amigavideo_driver = NULL
};
APTR gfxroot = ((struct GfxBase_intern *)GfxBase)->GfxRoot;
HW_EnumDrivers(gfxroot, &enum_hook, &hook_data);
// The amigavideo HIDD should be found on this arch, but check anyway
if (hook_data.amigavideo_driver) {
OOP_MethodID HiddAmigaGfxBase = OOP_GetMethodID(IID_Hidd_AmigaGfx, 0);
HIDD_AMIGAGFX_EnableAGA(hook_data.amigavideo_driver);
}
OOP_MethodID HiddAmigaGfxBase = OOP_GetMethodID(IID_Hidd_AmigaGfx, 0);
HIDD_AMIGAGFX_EnableAGA((OOP_Object *)PrivGBase(GfxBase)->PlatformData);
}
return GfxBase->ChipRevBits0;