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

Ghostscript_Tiger.svg is not rendered properly on macOS #42

Closed
DanCraft99 opened this issue Nov 19, 2020 · 10 comments
Closed

Ghostscript_Tiger.svg is not rendered properly on macOS #42

DanCraft99 opened this issue Nov 19, 2020 · 10 comments

Comments

@DanCraft99
Copy link

On iMac with Radeon GPU, the image rendered from cli is blocky with sketchy outlines. Line and Circle drawing is fine. Seems like the bezier path rendering is not functioning with MoltenVK (latest 1.2.154 Vulkan SDK).

@DanCraft99 DanCraft99 changed the title Ghostscript_Tiger.svg is not rendered properly on Mac OSX with MoltenVK Ghostscript_Tiger.svg is not rendered properly on Mac OSX Nov 19, 2020
@raphlinus
Copy link
Contributor

That's interesting. Can you post a screenshot and repro steps for how to run it with MoltenVK? At this point, it could be just about anything - something I'm doing wrong in my code that just happens to work on NV+AMD+Intel, a mistranslation of the shader code into MSL (actually one of my top guesses), a bug in MoltenVK, etc. I think it would be useful to track it down.

Also, the more we're going to be running this on actual hardware, the more we need testing infrastructure to validate that the various pipeline stages are doing what they are supposed to. I have done a bit of this by hand (see the various mostly unused "dump" functions in cli.rs) but automation is most definitely possible.

@DanCraft99 DanCraft99 changed the title Ghostscript_Tiger.svg is not rendered properly on Mac OSX Ghostscript_Tiger.svg is not rendered properly on macOS Nov 21, 2020
@DanCraft99
Copy link
Author

The repro steps are straight building and running the cli test after installing latest vulkan sdk on Mac. The image.png shows

image

Will post any any findings as soon as I could pick up more coding details. : )

@raphlinus
Copy link
Contributor

I tried it on my mac (MBP 13", running 10.15.5, Intel HD 640), and I didn't get any image, though the collatz example does work and I get meaningful validation reports when I fiddle with the code. One question - does #44 work any better? I did fix a bug in backdrops there.

Also, are you getting meaningful timestamp reports? All 0.000ms here.

@eliasnaur
Copy link
Collaborator

eliasnaur commented Nov 21, 2020

One question - does #44 work any better? I did fix a bug in backdrops there.

Is that related to issue #23? I can't seem to find any backdrop changes in your #44, except for the right_edge removal. However, right_edge tracking was already dead code.

Edit: This one?

@raphlinus
Copy link
Contributor

Yes, the missing indirection on the element index. I can see how that happened, the variable naming is very confusing. As I'm working on the code after being away from it for several months, I can see a number of ways code clarity can be improved.

@DanCraft99
Copy link
Author

DanCraft99 commented Nov 22, 2020

The blank image on intel GPU is another rendering issue. Reproed on my Mac Mini 2018.

@DanCraft99
Copy link
Author

DanCraft99 commented Nov 22, 2020

The reported issue on the blocky tiger svg rendering started from 9a8854, and it was good at 8d01aba23. Reproed on my iMac using Radeon GPU.

@raphlinus
Copy link
Contributor

Thanks for looking into it, but those bisection results aren't super helpful, as 9a8854 is a pretty serious rewrite based on sort-middle, and I now consider the version before that to be something of a dead end.

I think tracking this down will require some fairly serious detective work, and a good step in that direction would be to add tests of individual stages, so we can at least track down which one of those is failing.

@DanCraft99
Copy link
Author

Close the issue with much design changes since the first report.

With ref to #138: Beginnings of new element pipeline, the native metal backend support is now working and rendering the tiger.svg nicely. The original report was based on testing results from Vulkan port through MoltenVK. Though, it may be interesting to check whether Vulkan/MoltenVK works, that will be a separate topic.

@raphlinus
Copy link
Contributor

Yes, it's valid to close, though #138 hasn't been merged yet (maybe I should just do that).

I'm also curious whether MoltenVK works, but just out of idle curiosity, I have no active plans to maintain that. I do suspect that shader translation issues / atomics are the main problems, though.

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

No branches or pull requests

3 participants