mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-04-25 14:16:10 +03:00
[GH-ISSUE #238] Hardware T&L issues (textures/wrong lighting) #67
Labels
No labels
Atrac3+
Audio
CPU emulation
D3D11
D3D9 (removed)
Depth / Z
Feature Request
Font Atlas
GE emulation
Guardband / Range Culling
HLE/Kernel
I/O
Input/Controller
MP3
Multithreading
Needs hardware testing
Networking/adhoc/infrastructure
No Feedback / Outdated?
OpenGL
PGF / sceFont
PSMF / MPEG
Platform-specific (Android)
Platform-specific (Windows)
Platform-specific (iOS)
PowerVR GPU
SDL2
Saving issue
User Interface
Vulkan
arm64jit
armjit
armv6
x86jit
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ppsspp#67
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dbz400 on GitHub (Dec 23, 2012).
Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/238
Tested few games with hardware T&L , most of them are working prefectly and fast except few issues below
1 . Missing textures ( Saint Seyia Omega )
@hrydgard commented on GitHub (Dec 23, 2012):
Thanks for testing! Will look into these sometime after Christmas.
@dbz400 commented on GitHub (Dec 23, 2012):
Sure . everyone are hard working on ppsspp :)
@sum2012 commented on GitHub (Dec 26, 2012):
NBA2K5 -USA -UCUS98607


I use Emucr PPSSPP Git (2012/12/26) Windows x86 to test
Need press Z on the black screen first
@sum2012 commented on GitHub (Dec 26, 2012):
I do not how to output log file from log windows
@unknownbrackets commented on GitHub (Dec 26, 2012):
@sum2012 there are two ways:
PPSSPPWindows.exe --log=logsareawesome.txt-[Unknown]
@hrydgard commented on GitHub (Dec 26, 2012):
Does NBA work with hardware transform turned off?
@sum2012 commented on GitHub (Dec 26, 2012):
@ unknownbrackets
Thanks,I see the PPSSPPWindows.exe before.But the useage do not mention need add logsareawesome.txt.
And the create folder method do not mention in readme.md (Should rename readme.md to readme.txt in window version)
The log
http://www.mediafire.com/?kok2x307iv3bo22
@hrydgard
Already hardware transform turned off
@dbz400 commented on GitHub (Dec 31, 2012):
One more title screen bug in Valkyria Chronicles 2
With HW transform on

With HW transform off

@unknownbrackets commented on GitHub (Dec 31, 2012):
The colors are also off, I think, but seems to be in both cases. Same happens in Senjou no Valkyria 3 (alpha effects all wrong in mission select, etc.)
Hardware transform OFF on the left, ON on the right:
Note: blue for the unselected tab "Battle" on the options dialog is incorrect in both cases.
-[Unknown]
@hrydgard commented on GitHub (Dec 31, 2012):
Yeah, there's definitely some differences in alpha channel handling. I'll look at it next year ;)
@unknownbrackets commented on GitHub (Dec 31, 2012):
I know, figured more samples was good though. I can get a dump of the display list (next year) if you want, too.
-[Unknown]
@hrydgard commented on GitHub (Dec 31, 2012):
Definitely, more examples of differences is always good.
Don't think I'll need DL dumps for this, but I'll let you know if I do.
@hrydgard commented on GitHub (Dec 31, 2012):
BTW about the colors, red/blue confusion is really common because an RGB value might as well be RRGGBB as BBGGRR and neither the PSP nor OpenGL is really fully consistent about it :P It can sometimes be a trial/error matter to fix...
@unknownbrackets commented on GitHub (Dec 31, 2012):
Well, actually, it should be blue - it's just too bright (in both cases), for example on the options highlights/buttons.
Also, the VC2 logo should be grey not blue in raven02's shot. Anyway, it's still pretty close.
-[Unknown]
@sum2012 commented on GitHub (Jan 1, 2013):
NBA2K5 broken ( Press Z still black screen) at EmuCR-ppsspp-20121229-x86
last work in EmuCR-ppsspp-20121227-x86
EmuCR-ppsspp-20121229-x86 log
http://www.mediafire.com/?8adzpiwqxl4p5my
@dbz400 commented on GitHub (Jan 4, 2013):
One more - Super Robot Taisen OG Saga - Masou Kishin II
w/ SW T&L (Correct one)

w/ HW T&L

@unknownbrackets commented on GitHub (Jan 11, 2013):
Another good one: Final Fantasy 1. Right now, you have to hammer buttons during the intro (suspect #393), but then once you get into the game, a random (and cycling) assortment of tiles are black with hardware transform on.
-[Unknown]
@unknownbrackets commented on GitHub (Jan 12, 2013):
I messed around a bit and found that if I do this (not always having alpha be 1.0 for ambient), it fixes some alpha issues, but I don't think it's right:
It seemed like
u_matambientalpha.awas the more correct value, but that does not fix it... I'm not entirely sure wherea_color0is coming from, though (but it's used when lighting is not enabled)?-[Unknown]
@hrydgard commented on GitHub (Jan 12, 2013):
a_color0 is the vertex color passed in by the game.
The fix does indeed look a little dubious :)
I think this must be sorted by experimenting on the PSP or simply even more trial and error :P
@dbz400 commented on GitHub (Jan 13, 2013):
Would this be more consistent ? just my 2 cents and tested okay for Senjou no Valkyria 3
@dbz400 commented on GitHub (Jan 13, 2013):
Just tested this approach from @unknownbrackets , fixed Saint Seiya Omega and Super Robot Taisen OG Saga - Masou Kishin II
@unknownbrackets commented on GitHub (Jan 13, 2013):
Here's a less dubious version of the same thing:
github.com/unknownbrackets/ppsspp@2c39bc445cMy goal was to match this code in the software transform / lighting:
Which sets unlitColor to include the alpha of a_color0 / materialambientalpha (if I understand correctly.) Then the logic in
Light()does this:In other words, if
(materialUpdate_ & 1) && reader.hasColor0(), it uses color0 which I assume is a_color0. If only(materialUpdate_ & 1), it uses materialambientalpha, and otherwise it uses materialambient with a fixed 1.0 alpha, based on here:Ultimately, the result is preserving a_color0.a. That said, I don't think this is actually correct. In Senjou no Valkyria 3, it fixes all the other issues mentioned above, but it makes in game look worse: (included JPCSP since an empty fourth spot was ugly, just for comparison... also, the game's screenshot feature produces poor quality jpegs, sorry):
(the change above makes hardware and software look the same.)
So... I guess they're both wrong. Bugger. Time to work on headless screenshots.
-[Unknown]
@dbz400 commented on GitHub (Jan 31, 2013):
@hrydgard , just wonder in this case , do we still need to shift 8 and 16 for color alpha and double ?
or may be ?
@hrydgard commented on GitHub (Jan 31, 2013):
No, that would break things..
The important bits in texfunc are 0x10000, 0x100 and 0x3 (so, of the 24 bits: 0000000A 0000000B 000000CC).
What we do here is to collapse them into ABCC and put those four active bits after each other in the shader ID as ABCC00.
@dbz400 commented on GitHub (Jan 31, 2013):
I see. thanks for explanation to me as i'm trying to get rid of the following graphic bugs ( the 3 dark lines) , it appears throughout the game when spell . Besides, i think the blue fire in the pic may be wrong stencil , not quite sure .
@dbz400 commented on GitHub (Feb 3, 2013):
Last Ranker , HW mode seems to render incorrectly :( Will compare their SW/HW logic to see if can find a proper fix.
[HW]

[SW]

@dbz400 commented on GitHub (Feb 4, 2013):
fe40a27fixed Rast Ranker Alpha blending