Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4366799

colormap sometimes wrong in 8-bit display mode (win32 only)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 1.4.0
    • client-libs
    • None
    • 2d
    • beta
    • x86
    • windows_nt

      Run VolatileDuke in 16 or 32-bit mode. Switch the display depth to 8-bit.
      Note that the Duke image is now all black.

      Note that the application runs correctly when you start in 8-bit mode,
      even if you switch to another depth and then return to 8-bit mode. So
      I suspect there is some colormap initialization that is happening when
      starting in 8-bit mode but is not happening when we switch to that mode.

      -----------------


      I had originally thought that this problem was confined to VolatileImage
      objects, such as are used in VolatileDuke. Also, it seemed that the problem
      only resulted when the display mode switched into 8-bit mode from some
      other mode.

      However, the problem is much more far-reaching than that. The problem
      can be reproduced by a simple app that draws text directly to the onscreen
      window. In 8-bit mode, simply toggle between that app and some other
      app that has its own palette (such as IE or Netscape); you should see
      wrong colors being used in various drawing primitives, such as text.

      I will attach a simple test program that shows off this bug fairly well.
      The test is VImageColors. It consists of one onscreen window with
      three sections. The left thrid is drawn using a VolatileImage back buffer.
      The middle pane uses a BufferedImage back buffer. And the right pane
      is drawn directly to the screen. All three panes use the same image,
      same text color, and same fill color, so they should all look the same
      (modulo some dithering differences in some situations).

      The first problem noticeable is that the right panel uses the wrong
      color for the fill and the text. This is an unrelated problem that I have
      filed as 4425895.

      The second problem is noticeable when toggling
      the app with some other palettized app; it is clear there are various rendering
      bugs preventing the colors from being correct when the app is in the
      background. (the fill color is wrong in some panels, the duke image is
      either badly dithered or simply wrong, and the text color is wrong in
      some panels).

      A third problem is seen when you start the app in the background
      (run the program and then immediately bring a palettized app to the
      foreground. When the window eventually comes up, it should be in the
      background.) Now the colors look wrong in some of the panels both when
      the app is in the background and in the foreground.

            chaasesunw Chet Haase (Inactive)
            chaasesunw Chet Haase (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: