Graphics Corruption with P96 3.3.2 RTG Library (43.399)

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • Hi,


    I upgraded from P96 3.2.1 to 3.3.2 and noticed graphics corruption. If I revert back to 42.792 of the RTG Library only (P95 3,2,1), the issue is gone. The corrupted background on the WB Clock, for example, will change at times when going back to the Workbench Screen after using other programs. Also, graphics on the same screen may get corrupted when performing other tasks (a refresh issue?).

  • Why didn't you try to resolve the version discrepancy first? The "resident" lib is different from the file you've referenced in the first picture. This sounds like the lib can be found in two of the library paths.


    Is the system the one that can be read in the second picture? Mediator/Voodoo 3DFX?

  • Jens,


    I took the screen shot during my troubleshooting, version 43.399 is the one that I have issue with. Sorry for the confusion. Yes, both are from the Mediator Workbench 3.9 system. I have attached the correct image from a fresh booted system with the RTG 43.399 Lib loaded. This image also shows the corrupted button images, the Workbench clock corruption is the same as before. As mentioned previously, there are no issues with RTG Lib 42.797 or lower of P96.

  • Talked to Thor, and we have a suspicion what is happening here:


    This may be a side effect of aperture switching, meaning, the configuration of the crossbar that's between VGA memory and the Amiga bus. Typically, this allows reversing the byte order, so switching between ARGB and BGRA (or similar) is possible. From the GPU side, both modes are identical and only differ in the Amiga-point-of-view.


    This aperture switching is used a lot more often with newer versions of P96, because P96 was updated to support keeping bitmaps with different apertures in memory at the same time. Aperture switching is done if a blit needs to take place between these different bitmaps.


    Switching of this apertures always happened on the driver side in function SetMemoryMode(), which also switches between planar and chunky modes (that's the VGA Chain-4 bit).


    For far for the preamble. The hypothesis is that the driver does not use SerMemoryMode(), but only sets the aperture when loading the video mode with SetGC(), Bitmaps with an aperture different from the current one will be blitted with the wrong aperture.


    In other words: We assume that Elbox did not work according to the P96 specs. This is a logical explanation, as Elbox never purchased the developer package back in the days, but developed against an API that wasn't documented for the public. Please point Elbox to our Wiki: When iComp took over the P96 package, I decided to make the API free for all interested developers, including those that have been in a legal grey zone prior to our takeover. I specifically made this move to improve 3rd party drivers. However, these 3rd parties need to accept the gift. We can't possibly do their work, especially given the fact that Elbox is still attempting to keep the Mediator registers a secret.


    Possible workaround: Only use video modes that make use of the VGA-default-aperture, which is BGRA, Chunky and Hi-Colour PC modes. This way, P96 does not need to make Aperture switches, likely hiding the driver bug. Again, this is just a hunch, not pointing fingers. Please try the workaround and report back.

  • Using the BGRA Screen modes has resolved the ILBM background image on the WBClock but the button GFX such as in IBrowse or other programs that use images, are still corrupted. Unfortunately Elbox has not had much activity drivers wise of late, having them to look into this may be in vain. I am curious what changed in 43,399 of the RTG Lib that has revealed the Mediator driver bug.

  • I am curious what changed in 43,399 of the RTG Lib that has revealed the Mediator driver bug.

    Like I wrote: P96 uses aperture switching a lot more often, so it requires the driver to be developed according to spec.


    The specification is now open in our Wiki, not even a registration is required. Also, I can confirm that Elbox has bought a license of P96 (though some time ago, they currently don't have access to the latest version), so there is still *someone* who is checking things every once in a while. It is probably just a matter of calling SetMemoryMode() a few more times in select places, and the bug is gone. It may be a bit more elaborate on a PCI board with Ethernet, as the Ethernet board uses the VGA memory as a trampoline to relay packet data. They might require more memory aperture settings to catch DMA'd data.

  • Given that you report that 3.2.1 is not affected, it may be a different reason - in addition to the semi-confirmation you've found with regard to the apertures. Thor is cirrently building all intermediate versions that I'd like to send you as a packet - please eMail me, or mention your order ID; so I can send the archive to you via eMail.

  • Jens,


    I have tried all versions of the P96 Libraries you sent me from 3.2.1 through 3.3.2, the issue is present in all of them. P96 3.1,2 works OK, the current version I have installed on my Mediator 3.9 OS Amiga 1200 Tower System.


    I have tried the 3.3.3 beta but the Tooltype doesn't seem to have an effect. Either I am not using it correctly or it doesn't fix my issue. Does "APERTURESWITCHINOPERABLE" require an ON or OFF qualifier?

  • Thomas,


    So far the results are the same from the latest rtg.library you sent. I have attached several screenshots and as well as the PrintCompatibleFormats output results. I am will home this week, so I will be available if you want me to test anything new. Thanks.

  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.