> > I get the same result here. It seems the same behavior also occurs in cvaniau > > [Castlevania - Bloodlines (USA)] > > Bloodlines has problems with GLSL in general, which I don't entirely understand. The > only functional OpenGL debugger out there[1] currently requires Ubuntu on hardware > (not virtualized) with an accelerated card, which puts a crimp in my ability to see > what's going on. > > [1] Valve's VOGL. AMD offers a Windows OGL debugger which does nothing worthwhile > when you run it against MAME, possibly because I have an NVidia card.
Dullaron is right. Don't know how he figured this out!, but touching the brightness slider (and only that one!) fixes the graphical corruption in both of these games.
EDIT: Earthworm Jim is also a (the same) general GLSL shader error. CRT-geom does exactly the same thing. I was initially worried that it was a problem with this specific shader because I had a similar (same?) issue when I started porting the shader. If I recall correctly, it was an issue between using the "color_texture_sz" or "color_texture_pow2_sz" uniforms. I had to use one when I thought it should have been the other.
EDIT AGAIN: Before touching brightness, MESS says that the video resolution is 256x224 and after touching brightness (with MESS paused so the system didn't change resolutions) it says 320x224.
I feel like MESS is initially copying a 320x224 texture into a 256x224 texture and then giving that to the GLSL system. And so we get missing columns. And here's what you get with "mess -v" if you don't touch the brightness:
The EDITS never stop! If you resample the 320x256 screenshot to 256x224 with point resizing, then you get exactly the same missing columns that are missing in the screen below. So I think my last edit is pretty close to what is going on.
Code:
GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 512,256/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 320x224 320x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,320/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 320x224 320x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,320/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,256/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,256/16384], bytes/pix 4
Touch the brightness and you get a new 320x224 texture and the corruption is gone:
Code:
GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 512,256/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 320x224 320x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,320/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 320x224 320x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,320/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,256/16384], bytes/pix 4 GL texture: copy 0, shader 1, dynamic 0, 256x224 256x224 [RGB32, Equal: 1, Palet te: 0, scale 1x1, border 0, pitch 480,256/16384], bytes/pix 4 GL texture: copy 1, shader 1, dynamic 0, 320x224 320x224 [RGB32_PALETTED, Equal: 1, Palette: 1, scale 1x1, border 0, pitch 480,320/16384], bytes/pix 4
Didn't there used to be a problem with changing resolutions and GLSL? Was it fixed for all texture types?
[ATTACHED IMAGE - CLICK FOR FULL SIZE]
|