Opened 10 days ago

Last modified 4 days ago

#11078 new defect

WME: Blade Runner - OpenGL graphics mode produces white screen

Reported by: raziel- Owned by:
Priority: normal Component: Graphics
Keywords: Cc:
Game: Blade Runner

Description

ScummVM 2.1.0git (Aug 13 2019 10:45:13)
Features compiled in: TAINTED Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 JPEG PNG cloud (servers, local)

e86ee33999f33ad66bb7c018b4d4b7604b48badb

Regression.
With above commit the OpenGL graphics mode stopped working and only produces a complete white screen/window during the whole game (intro video and gameplay).
Reverting this, makes OpenGL graphics mode work perfectly again on AmigaOS4.

Blade Runner (Windows/English)

AmigaOS4 - SDL - BE - PPC
gcc (adtools build 8.3.0) 8.3.0

Change History (11)

comment:1 Changed 9 days ago by peterkohaut

In that commit output format was changed from 15bit rgb555 to 16bit argb1555, because android port supports only that, that might be the issue.
Please, as i dont have access to amiga with opengl can you try to change line https://github.com/scummvm/scummvm/commit/e86ee33999f33ad66bb7c018b4d4b7604b48badb#diff-f199a055d38e2201e8a040ed1e912a2eR317 from return Graphics::PixelFormat(2, 5, 5, 5, 1, 11, 6, 1, 0); to return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0);

comment:2 Changed 9 days ago by raziel-

Thank you.

Will test when I get back home (next Monday)

comment:3 Changed 9 days ago by raziel-

@peterkohaut

Is there a way I can debug/show the pixel format before it is sent and used?
We suspect a faulty input into the pixel format which causes the white.

comment:4 Changed 7 days ago by peterkohaut

Faulty input will show in other ports as well, no? For example, there were few rendering artifacts & issues with android port and when opengl was enabled on windows with wrong alpha was used (game has alpha switched 0<->1)

Last edited 7 days ago by peterkohaut (previous) (diff)

comment:5 Changed 7 days ago by raziel-

It will, yes, IF all platforms work on the same SDL version.
Since amigaos4's SDL is still being developed/ported there might be a slim chance that it causes such issues (on amigaos4).

comment:6 Changed 7 days ago by peterkohaut

maybe i just don't understand what are you asking, graphics is initialized here: https://github.com/scummvm/scummvm/blob/master/engines/bladerunner/bladerunner.cpp#L328 but conversion from internal game format to one used it done in multiple places

comment:7 Changed 6 days ago by raziel-

First of all, I'm not trying to diss your code or workaround.
If I gave that impression in one of my earlier posts I do apologise.

I'm merely trying to rule out a bug in my platforms SDL/OpenGL implementation, because the last eight issues I had with sdl apps (ScummVM and ResidualVM being amongst them) were actually down to bugs or missing features in my platforms SDL/OpenGL implementation.

But for that I'd need to get a reproducable result to send to the devs.

That's why I'm trying to understand the PixelFormat numbers and where they come from.
Maybe, since it seems that AmigaOS4 is the only target that still don't work, there is a PixelFormat that is simply not supported (yet) or produces said white screen.

If I'm able to pinpoint the PixelFormat that produces that white screen I might be able to give a reproducable case and finally help fix a potential bug.

Sorry to be such a pain.

comment:8 Changed 4 days ago by ccawley2011

If it helps, ScummVM pixel formats are mapped to OpenGL pixel formats here: https://github.com/scummvm/scummvm/blob/master/backends/graphics/opengl/opengl-graphics.cpp#L1109

The values returned there are the ones used by glTexImage2D, as documented here: https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glTexImage2D.xml

comment:9 Changed 4 days ago by peterkohaut

No worries:) I saw nothing like that... I'm just confused as I don't know exactly know what are you asking and I dont know that much about opengl backend in scummvm.
I know the bigger change I made that might broke your output is that pixel format change, if you have chance to try the older one.

comment:10 Changed 4 days ago by raziel-

@ccawley2011

I'll check it out.

Thank you

comment:11 Changed 4 days ago by raziel-

I'll test once I get home.

I got more (unplanned) days to work, so it will delay testing until after Saturday.

Sorry

Note: See TracTickets for help on using tickets.