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

gsdx-d3d11: ICO depth HLE #2823

Merged
merged 3 commits into from Jan 22, 2019

Conversation

Projects
None yet
3 participants
@tadanokojin
Copy link
Member

commented Jan 19, 2019

Port of the ICO HLE fix and update to fb copy on slot 4

@tadanokojin tadanokojin force-pushed the tadanokojin:gsdx-d3d11-ico-hle branch from ec6cef9 to 0dd0ee4 Jan 19, 2019

@tadanokojin

This comment has been minimized.

Copy link
Member Author

commented Jan 19, 2019

@gregory38 I updated with the following

  • cache rt depth stencil ptr on m_state and update detection
  • ternary for CopyRect box (and comment about DX api)
  • throw error if copy isn't a RenderTarget/Depth
  • remove curly braces
  • rename CopyRenderTarget to CopyTexture

I also cleaned up a cast and the if statement for DrawIndexPrimitive

@gregory38

This comment has been minimized.

Copy link
Contributor

commented Jan 19, 2019

Nice now you can split it in smaller commit ;)

@tadanokojin

This comment has been minimized.

Copy link
Member Author

commented Jan 19, 2019

You want me to split it like:

  • enable depth copy for slot 4
  • ICO HLE

?

@gregory38

This comment has been minimized.

Copy link
Contributor

commented Jan 19, 2019

Please be bold !

Here a vague idea (you're the dev not me :p ).

  • Msaa fix
  • New version of copy tex
  • Save of ds pointer
  • New cmp with ds
  • Hle ico
@gregory38

This comment has been minimized.

Copy link
Contributor

commented Jan 19, 2019

Potentially an extra for format or/and cast

gsdx-d3d11: Cache rt depth stencil on m_state
Cache the depth stencil in addition to color rt.
This will allow us to check for depth stencil equality on slot 4.

@tadanokojin tadanokojin force-pushed the tadanokojin:gsdx-d3d11-ico-hle branch from 0dd0ee4 to 2c3ac15 Jan 20, 2019

@tadanokojin

This comment has been minimized.

Copy link
Member Author

commented Jan 20, 2019

Split it up.

I also boldly added the assert ;)
Let me know if the changes are good.

@tadanokojin

This comment has been minimized.

Copy link
Member Author

commented Jan 20, 2019

Also let me know if the pass by reference is okay.

tadanokojin added some commits Jan 20, 2019

gsdx-d3d11: Update texture copy method to handle depth
- Rename CopyRenderTarget to CloneTexture
- Allow copy of depth target

Also fix a small oversight from the removal of MSAA.
gsdx-d3d11: ICO depth HLE
Game reads framebuffer depth as alpha of texture.
However, this is a problem for d3d11 as a shader read on the fb is not allowed.

So let's handle it in a similar fasion to channel shuffle:
- Set depth to slot 4
- Detect when slot 4 matches depth rt
- Copy and send the copy to the shader

@tadanokojin tadanokojin force-pushed the tadanokojin:gsdx-d3d11-ico-hle branch from 2c3ac15 to f377ee0 Jan 20, 2019

@tadanokojin

This comment has been minimized.

Copy link
Member Author

commented Jan 20, 2019

Updated

@lightningterror lightningterror merged commit 8c8b1f4 into PCSX2:master Jan 22, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@tadanokojin tadanokojin deleted the tadanokojin:gsdx-d3d11-ico-hle branch Jul 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.