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

Toaru Kagaku no Railgun no background since v0.9.1-1144-gf8eebdb #5087

Closed
sum2012 opened this issue Jan 12, 2014 · 14 comments · Fixed by #5141
Closed

Toaru Kagaku no Railgun no background since v0.9.1-1144-gf8eebdb #5087

sum2012 opened this issue Jan 12, 2014 · 14 comments · Fixed by #5141

Comments

@sum2012
Copy link
Collaborator

sum2012 commented Jan 12, 2014

Good
v0.9.1-1114-g36fd5df (I have compile myself to test)
1

Bad
v0.9.1-1144-gf8eebdb

2

compare v0.9.1-1114-g36fd5df...v0.9.1-1144-gf8eebdb

git bisect result
3

It is @hrydgard commit
d7ae3f8

v0.9.1-1114-g36fd5df log
https://gist.github.com/sum2012/b4fa38e617ba0053d6a4

PPSSPP v0.9.6-406-g62eb701 log (dump to next frame to log)
https://gist.github.com/sum2012/c9a594eafc2fe7922420

@Bigpet
Copy link
Collaborator

Bigpet commented Jan 12, 2014

can confirm that this happens regardless of buffer mode and also happens with the softgpu

@Bigpet
Copy link
Collaborator

Bigpet commented Jan 19, 2014

Tested a little further. It's indeed d7ae3f8

and using the now deleted hack of transformDraw_.DrawBezier(bz_ucount, bz_vcount); works while the new proper implementation transformDraw_.SubmitBezier(control_points, indices, bz_ucount, bz_vcount, patchPrim, gstate.vertType); displays black.

@dbz400
Copy link
Contributor

dbz400 commented Jan 19, 2014

May be we can mark the title as Beizer issue .

@unknownbrackets
Copy link
Collaborator

I guess it could even be using a different prim type than GE_PATCHPRIM_TRIANGLES?

-[Unknown]

@Bigpet
Copy link
Collaborator

Bigpet commented Jan 19, 2014

No, that's not it, that would return before it even got to the call, I'm digging a little deeper currently.

@Bigpet
Copy link
Collaborator

Bigpet commented Jan 19, 2014

This is how it looks in the gedebugger. Not sure how it all works but stepping though the code it definately calls "drawPrim" but I don't see it mentioned anywhere in the gedebugger but I don't know if it should be there either.

GEdebugger screen

@dbz400
Copy link
Contributor

dbz400 commented Jan 19, 2014

I did try to comment out below, didn't help

if (prim_type != GE_PATCHPRIM_TRIANGLES) {
    // Only triangles supported!
    return;
}

@sum2012
Copy link
Collaborator Author

sum2012 commented Jan 19, 2014

PPSSPP v0.9.6-466 same problem
https://gist.github.com/sum2012/5483987171632ba3a829

Bigpet added a commit to Bigpet/ppsspp that referenced this issue Jan 19, 2014
Bigpet added a commit to Bigpet/ppsspp that referenced this issue Jan 19, 2014
@Bigpet
Copy link
Collaborator

Bigpet commented Jan 19, 2014

I'm going to need people to test b49fa80 with as many games as possible that use bezier splines to figure out whether any of the them uses view matrix transformed bezier splines.

Here's a vdeo demonstrating the test with Toaru Kagaku no Railgun: http://www.youtube.com/watch?v=PjXefvWPitY

@daniel229
Copy link
Collaborator

seem to not break these games that using bezier.
03
02
01

@daniel229
Copy link
Collaborator

games that using splines still looks good with that option
04
05

@daniel229
Copy link
Collaborator

still looks good
bezier
06

splines
07

@Bigpet
Copy link
Collaborator

Bigpet commented Jan 19, 2014

That's great that they work with both. If anyone wants to test additional games please use Bigpet@2f7243b , you won't need to re-test games you already tested.

This automatically preserves the through mode bit, so no need to toggle it in the settings.

Bigpet added a commit to Bigpet/ppsspp that referenced this issue Jan 19, 2014
Don't truncate the through mode bit in the vertex type during
normalization. Normalization is used to convert different vertex types
to a singular normalized one but the through-mode bit should be preserved.

This only affects (fixes) spline and bezier draw commands. The only thing
that was broken was games that drew splines/beziers with through-mode and
have matricies that differ significantly from the identity (didn't load
identity before drawing).

This should not break anything and fix hrydgard#5087 .
@sum2012
Copy link
Collaborator Author

sum2012 commented Jan 19, 2014

Cong @Bigpet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants