Project

General

Profile

Actions

Emulator Issues #3334

closed

zfreeze not implemented in hw accelerated video backends

Added by wespipes69 about 14 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
Category:
GFX
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What steps will reproduce the problem?

  1. Launch the game and observe the gfx in the menus and in-game.

What is the expected output? What do you see instead?
There's many things cut off and polygons artifacts found everywhere - just like Mario Tennis.

Dolphin version with the problem? Other Dolphin version without the
problem?
Affects all versions.

32-bit or 64-bit and any other build parameters?
N/A

OS version and versions of tools/libraries used?
Win 7 x64

Please provide any additional information below.

  • See screenshots for some examples.
  • Also, on the 4th course you open up, there's huge graphic issues. The HUD elements look like unemulated FB effects (colored, striped boxes) and the course gfx and colors are very wrong - completely unplayable. Also, this usually leads to a crash after playing a couple holes on this course.

Related issues 8 (0 open8 closed)

Has duplicate Emulator - Emulator Issues #2145: Mario Power Tennis: Crazy polygons and music issue.Duplicate

Actions
Has duplicate Emulator - Emulator Issues #3701: Mario Power Tennis flickering and PoVDuplicate

Actions
Has duplicate Emulator - Emulator Issues #4113: Rogue Leader depth issue / Dolphin doesn't support Z compression formats.DuplicateNeoBrainX

Actions
Has duplicate Emulator - Emulator Issues #4447: minor graphic glitch- mario tennis GCDuplicate

Actions
Has duplicate Emulator - Emulator Issues #5992: Software Video Rendering Problems in Mario Power TennisDuplicate

Actions
Has duplicate Emulator - Emulator Issues #6423: Super Mario Strikers: some shadows aren't correctly renderedDuplicate

Actions
Has duplicate Emulator - Emulator Issues #6770: NHL 2003 needs zFreeze for shadows on the ice rink to render properlyDuplicate

Actions
Has duplicate Emulator - Emulator Issues #7551: zfreeze still not implemented in hardware for games that need it i.e. rogue leader, rebel strike and that mario game.Duplicate

Actions
Actions #1

Updated by frango0010 about 14 years ago

It's still better than Mario Tennis, though it seems related, so don't expect a fix... There was never a fix for Mario Tennis either... ¬¬

Actions #2

Updated by skidau about 14 years ago

Yes, the two issues are related as Mario Tennis and Mario Golf were written by the same developers. The two games probably use the same libraries. From the looks of it, I would guess it is an FPU problem. The weird thing is that the games become almost glitch free randomly.

Actions #3

Updated by wespipes69 about 14 years ago

Yeah alot of the major graphic glitches can get resolved after saving your game and reloading it from the menus, but they do come back after a couple holes. See screenshot for some the problems that become resolved when reentering a level from a save in the menus.

Actions #4

Updated by skidau about 14 years ago

  • Category set to gfx
Actions #5

Updated by skidau almost 14 years ago

Issue 2145 has been merged into this issue.

Actions #6

Updated by wespipes69 almost 14 years ago

Well looks like r6409 made the gfx even worse. :( I'm not 100% sure (mamario's site is down) - but I am positive that between r6404-r6412, some change made the gfx on some screens really bad and change from where the pokeys are coming from on the characters(and no dlist cache is not active). And looking at all the possible culprits, r6409 really stands out.

NOW, does the fact that the poly issue is different give you any clues as to how to fix Mario Golf? This commit definetely affected from where the crazy polys stem. Hopefully, some good will come out of that. But in the meantime, at least lets get this back to where it was. :)

Actions #7

Updated by wespipes69 almost 14 years ago

Can someone maybe cc rodolfoosvaldobogado as it was most likely his comment that broke the gfx... and he did want us to test and report regressions for that change. If he affected the gfx here, maybe he can figure out how to fix it once and for all! Thanks!

Actions #8

Updated by BhaaL almost 14 years ago

You say r6409 made it worse; do you know which one caused the first problems?

Actions #9

Updated by wespipes69 almost 14 years ago

I'm pretty sure Mario Golf and Mario Tennis have suffered from these triangles not being rendered with the proper boundary forever with dolphin - at least as far back as i can find revisions for (~r3000).

Actions #10

Updated by tommyhl2.SS almost 14 years ago

I'm seeing these issues as well, and it has gotten worse. Jack, I don't think it was ever right.

Actions #12

Updated by skidau almost 14 years ago

Issue 3701 has been merged into this issue.

Actions #13

Updated by wespipes69 almost 14 years ago

Looks like recently Mario Tennis got worse on DX9 - now the audience bleachers can be seen in your default view of the court. OpenGL does not have this issue.

http://img19.imageshack.us/i/23126096.png/

OpenGL also has the less noticable "pokeys" in both games so I'd recommend that plugin until they get fixed.

Actions #14

Updated by wespipes69 over 13 years ago

Not too much has changed as expected on latest revs. Still a lot of polygons with no boundries.

DX11 does now show the ball grid pretty well. With the same settings DX9 just has a few dots instead of nice solid lines like DX11 here:
http://img821.imageshack.us/i/unledsc.jpg/

Unfortunately, as you can see, the button icons are strangely upside down (only happens on DX11). Looks likes there's disadvantages and advantages to each plugin.

Hopefully, some of these things can be sorted out at some point.

Actions #15

Updated by Anonymous over 13 years ago

Has anyone said what revision actually caused this stuff? :p

Actions #16

Updated by Anonymous over 13 years ago

Issue 4447 has been merged into this issue.

Actions #17

Updated by wespipes69 over 13 years ago

I believe I've noted everything about Mario Golf. The only unknown is when the "bleacher" bug in Mario Tennis appeared. The guy in the other thread said he'd track it down. If not, I will later.

Actions #18

Updated by wespipes69 over 13 years ago

I knew I'd have to do it...anyway, the rev that broke Mario Tennis on DX plugins (bleacher bug) was r5896 (worked perfect on r5895). A ton of changes there, but I'm sure it was those z culling adjustments. Hopefully that can be corrected soon!!

Fixing the polygon spikeys in these two awesome Mario games would also be nice! ;)

Actions #19

Updated by Anonymous over 13 years ago

Well, maybe neobrain will have an idea :)

Actions #20

Updated by Anonymous over 13 years ago

  • Status changed from New to Accepted
Actions #21

Updated by NeoBrainX over 13 years ago

Is Per-Pixel Depth enabled?

Actions #22

Updated by NeoBrainX over 13 years ago

And, does this game work fine with the software video backend?

Actions #23

Updated by Anonymous over 13 years ago

Just tested per-pixel depth on dx9 (and pretty much all other options). Nothing fixes it. Toggling per-pixel depth changes what's shown very slightly, but that's it.

on ogl, the incorrect bleachers are not visible, but there is still z-fighting all over the place. again, toggling per-pixel depth changes the output only a little bit.

dx11 is the worst, most of the time the screen is covered in a solid color (the camera is even farther behind the bleachers). dunno if per-pixel depth changes anything.

software renderer: same z-fighting issues, the camera appears to be at the correct location though. Interestingly, the characters have a "water-cube" effect instead of the spikey polygon syndrome (almost like they are made of gelatin or something).

Actions #24

Updated by wespipes69 over 13 years ago

Thanks Godisgovernment! We just doubled up on checking all that I guess. :) My results were the same though.

Here's my report that I wrote up previous to seeing yours up:

I saw zero difference in both games with "per-pixel depth" enabled. And slightly better results with Software plugin.

So here's what we know and where everything stands (maybe a bug title adjustment needed?):

Mario Tennis

All revs: flickering gfx in game (court lines, shadows, etc). Present in Software plugin also.
R5896 and up: "bleacher bug" introduced on dx plugins obstructing view of court(unplayable) - not present in Software

Mario Golf:

All revs: "polygon spikeys" bug on characters - now the degree does vary between each vid "plugin" - OpenGL seems to have a slight edge on others. Present on Software plugin also.
All revs: Misc minor gfx bugs in menus (top portion of menu is just gone)
All revs: 4th course (all holes) has major gfx issues - see screenshot above
R6409 (or somewhere between r6404-r6412 for sure): Menu gfx became much worse - screenshot above (fine in Software)
All revs?: DX11 has some upside down gfx in HUD - screenshot link above.
All revs: Ball landing grid only appears correctly with DX11 plugin and Software - same screenshot as above.

I noticed that "hardware rasterazation" only shows a black screen on launching any game. Does that need a bug or am I missing something there?

Actions #25

Updated by wespipes69 about 13 years ago

Just wanted to point out 3 regressions on Mario Golf due to the new Shadercacheuids branch.

  1. DX9 shows alot of polygon spikeys in the environment (trees) now.
  2. Button icons are no longer displayed on the hit meter.
  3. The putting grid no longer shows in Dx9/Dx11. Works fine in OpenGL still though.

Note:
-Pic of 2 & 3: http://imageshack.us/photo/my-images/690/unleddwf.png/
-Using a build from just Main does not exhibit this behavior. It's definetely the changes in the branch.
-Enabling/disabling "pre-pixel lighting" makes no difference.

Actions #26

Updated by wespipes69 over 12 years ago

Any chance you guys could investigate the "bleacher bug" regression mentioned above that renders Mario Tennis unplayable with the DX backends? It's been around for a long time and it would be good to play the game once again in DX mode. Looks like a projection bug. http://imageshack.us/photo/my-images/19/23126096.png/sr=1

Can't click on the link for the revision that broke it anymore (above) so hopefully that's stored somewhere. :)

Actions #28

Updated by NeoBrainX over 12 years ago

This is fixed in zfreeze-new (Video_Software only for now, though).

Actions #29

Updated by wespipes69 over 12 years ago

Nice, glad to see some progress on this stuff!

Mario Golf in software menus look great now - nothing cut off or obstructing the view anymore! The character model spikeys still persist but that's the only issue left.

Mario Tennis in software shows the court properly. Opponent and toads in the back are missing for some reason though:
http://imageshack.us/photo/my-images/256/68241886.jpg/

Keep chipping away at it! In time, you'll get these two games looking good! Thanks!

Actions #30

Updated by NeoBrainX over 12 years ago

Implementing this should be possible using the existing software rasterizer functionality which atm is used for bbox calculations. The actual algorithm apart from that should be easy to figure out from the existing Video_Software code.
Not sure if I'll get around implementing this myself.

Actions #31

Updated by wespipes69 over 12 years ago

Just a quick update to the issue. Looks like Mario Golf regressed a bit lately. Before recent builds(currently on r730's), the shot meter button icons were flipped in DX9 but perfect on DX11. But NOW, there flipped on DX11 and don't even render on DX9/OpenGL. Checked Hashless and Master.

DX11 shot:
http://imageshack.us/photo/my-images/41/80063819.jpg/

Actions #32

Updated by NeoBrainX over 12 years ago

Maybe something with revision b4ec836aca4392 or revision 146b02615c07 ?

Actions #33

Updated by wespipes69 over 11 years ago

Not sure how to check those. If a build can be provided, I can check. That regression is still present though - buttons are worse now.

Also, another regression in DX9, the character is solid black now (even in native res.) See here: http://imageshack.us/photo/my-images/838/33964445.png/

Actions #34

Updated by wespipes69 over 11 years ago

Looks like the black character issue was a regression from the dual source blending. Now that it's reverted, characters are fine again.

The game still has the following issues on current builds:
DX9=

  1. spikies on menu items
  2. spikies on characters
  3. missing button icons on shot meter
  4. landing grid that's barely visible

DX11=

  1. spikies on menu items
  2. spikies on characters
  3. shot meter button icons are flipped

That about sums up the current gfx issues with the game.

Note: with Software plugin, issue (1) is fixed.

Actions #35

Updated by NeoBrainX over 11 years ago

Issue 4113 has been merged into this issue.

Actions #36

Updated by Billiard26 over 11 years ago

  • Issue type set to Bug
Actions #37

Updated by NeoBrainX over 11 years ago

Issue 4113 has been merged into this issue.

Actions #38

Updated by NeoBrainX over 11 years ago

  • Status changed from Accepted to Work started

Most of the issues mentioned in this report should be fixed in the zfreeze branch. Could anyone verify this, please? Note that support is only implemented in the OpenGL backend, at the moment. Support for D3D can be added trivially.

Builds available at http://ln-s.net/-h5U.

Actions #39

Updated by NeoBrainX over 11 years ago

Btw, it would also be nice if someone could check how much slower the zfreeze branch is so that I can evaluate if adding an option for this is necessary.

Actions #40

Updated by whyischris over 11 years ago

Well, I just gave it a try (3.5-1729) with Rogue Sqaudron 2 and it has made a slight difference. On the Death Star level I could see the planet Yavin popping in and out of the stars. The Death star surface itself still has the same issue.

This was a quick try as I have to go to work, but I was using the OGL backend and running a Haswell 4770k at stock and I was getting about 25% speed in menus/intros but closer to 100% in-game.

Actions #41

Updated by NeoBrainX over 11 years ago

Thanks for testing!

I already got some feedback on IRC and I guess the zfreeze implementation is conflicting with the recent zcomploc changes. After all, the impl works perfectly fine for rs2 for me.

Anyway, I'll be working on a few changes in the next days, hopefully that will clear up the remaining issues. No further testing needed for now :)

Actions #42

Updated by whyischris over 11 years ago

Awesome! You're a legend, I'm sooo looking forward to this!

Actions #43

Updated by wespipes69 over 11 years ago

I'm not seeing any changes (fixes) in Mario Golf in OpenGL. Is there a setting that would prevent seeing these improvements? I've tried messing with everything....

Actions #44

Updated by pauldacheez over 11 years ago

Fast Depth Calculation is the setting you're looking for. I forget if you need to enable or disable it, though. :P

Actions #45

Updated by wespipes69 over 11 years ago

Tried on/off but still seeing cutoff menus with spikies everywhere. Things in software mode when zfreeze was first introduced looked fine.

http://imageshack.com/scaled/large/826/r3xr.png

Actions #46

Updated by phire over 11 years ago

Wes, that's revision 3.5-1723.

Try again with the latest revision in the zfreeze branch (http://ln-s.net/-h5U) which is currently 3.5-1729

Actions #47

Updated by phire over 11 years ago

Also, you probably want Fast Depth Calculation off; Unless you are trying Rouge Squadron 2, where compressed zbuffers aren't implemented yet and turning off Fast Depth Calculation could introduce more errors.

Actions #48

Updated by wespipes69 over 11 years ago

Phi, thanks but I did try all builds previously, and all settings possible and see no changes in Mario Golf. Does anyone else see the menu fixes and stuff?

Actions #49

Updated by phire over 11 years ago

I gave this a go myself and I'm getting the same results as Wes.

I don't see any dff files, so I uploaded some: https://www.dropbox.com/sh/vx6msppjy0atr5m/vtV3im-4Fj

I highly doubt those polygon artafacts are a zfreeze issue.

Actions #50

Updated by AlfredGSx about 11 years ago

Star Wars Rogue Squadron II, GameID: GSWP64
Windows 7 Ultimate x64
Core 2 Duo E4400
Geforce Gt 640
dolphin-zfreeze-3.5-1729-x64, OpenGL plugin
Video Settings:
EFB Copies to Texture
Fast Depth Calculation Enabled on first time running
XFB Buffer: Virtual
When the game has reached to gameplay,, enable and disable per-pixel lightning. Then disable Fast Depth Calculation.
Game it's playble now, i'm happy :) greate work, boys. Thanks.
p.s. sorry for my bad english :P

Actions #53

Updated by NeoBrainX almost 11 years ago

JMC said "Shadows flicker in Super Monkey Ball 2 and Godzilla Destroy All Monsters Melee without zFreeze emulation".

Maybe that's useful to keep track of games requiring testing.

Actions #55

Updated by JMC4789 over 10 years ago

Issue 7551 has been merged into this issue.

Actions #57

Updated by JMC4789 about 10 years ago

Issue 5992 has been merged into this issue.

Actions #58

Updated by JMC4789 about 10 years ago

Issue 6770 has been merged into this issue.

Actions #59

Updated by JMC4789 about 10 years ago

Issue 6423 has been merged into this issue.

Actions #60

Updated by phire almost 10 years ago

  • Status changed from Work started to Fix pending
Actions #61

Updated by JMC4789 almost 10 years ago

  • Status changed from Fix pending to Fixed
Actions

Also available in: Atom PDF