+
Skip to content

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Nov 8, 2020

Followup to #13636 , implementing the fix for the yellow/blue reflection issue that surfaced after merging that. Just like that one, it's only enabled for Outrun for now, but I'll enable it wider once I gain confidence in it.

See #11358 (comment) for technical details - basically, the PSP can't just mask off the R,G,B and A channels when rendering, it can also mask off individual bits, and Outrun uses this to perform an intricate trick.

We do this masking in the shader. Note: This fix only works on Vulkan, GLES 3+ and desktop GL and D3D11. Not D3D9 and GLES 2.

ULES00262_00015

@thedax :)

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Nov 8, 2020
@hrydgard hrydgard added this to the v1.11.0 milestone Nov 8, 2020
@thedax
Copy link
Collaborator

thedax commented Nov 9, 2020

The reflections appear to be fixed in both OpenGL & Vulkan (unable to test Direct3D stuff anymore since I can't realistically compile Windows builds here without a VM, which I'm not keen on doing :P).

At any rate, here are a couple shots from Vulkan:
image

image

Nice to see another long-standing issue getting some attention :)

@hrydgard hrydgard merged commit b9dd866 into master Nov 9, 2020
@hrydgard hrydgard deleted the shader-color-write-mask branch September 5, 2022 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GE emulation Backend-independent GPU issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载