Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken lines in Echochrome. #15556

Closed
3 of 5 tasks
Panderner opened this issue May 26, 2022 · 3 comments · Fixed by #15583
Closed
3 of 5 tasks

Broken lines in Echochrome. #15556

Panderner opened this issue May 26, 2022 · 3 comments · Fixed by #15583
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@Panderner
Copy link
Contributor

Panderner commented May 26, 2022

Game or games this happens in

UCES-01011 - Echochrome

What area of the game

During in-game the lines disappear when rotating the camera.

What happens

This how looks like in Latest Build:
Screenshot (54)

What should happen

This how it looks like in stable v1.12.3:
Screenshot (52)

And it looks like for Vulkan v1.12.3:
Screenshot (53)

GE frame capture

recording.zip

Platform

Windows

Mobile phone model or graphics card

NVIDIA GTX 1050Ti

PPSSPP version affected

Latest Builds

Last working version

Since v1.12.3-136-g17d807197

Graphics backend (3D API)

Other

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@anr2me
Copy link
Collaborator

anr2me commented May 26, 2022

Is this issue only occurred on vulkan or all of renderer backends?

@Panderner
Copy link
Contributor Author

Latest Build Vulkan:
Screenshot (55)

V1.12.3 Vulkan:
Screenshot (56)

Prior to v1.12.3-136-g17d807197 the lines are thicker in Vulkan than other backends.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label May 27, 2022
@hrydgard hrydgard added this to the v1.13.0 milestone May 27, 2022
@hrydgard
Copy link
Owner

hrydgard commented May 29, 2022

As mentioned in #8276, we changed the line drawing algorithm to one that gave more accurate results in some games (by splitting lines into triangles manually instead of using native GPU lines, which aren't always available in wide versions), but apparently not in this one. Might be a bug that only happens with reversed viewports, or only with certain diagonals. Will look into it.

Actually that was quick - getting good results if I do this:

		Vec2f addWidth = Vec2f(-vertical, horizontal).Normalized();
		addWidth.y *= -1.0;

instead of just

		Vec2f addWidth = Vec2f(-vertical, horizontal).Normalized();

in SoftwareTransformCommon.cpp.

So somehow the algorithm that I feel should work to get a vector perpendicular to the line gets the sign of the y component wrong, which I don't quite understand right now. Hm.

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 a pull request may close this issue.

3 participants