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

Issue running triangle and gears demos from VKD3D library.. #153

Open
oscarbg opened this issue Aug 28, 2018 · 6 comments
Open

Issue running triangle and gears demos from VKD3D library.. #153

oscarbg opened this issue Aug 28, 2018 · 6 comments
Labels

Comments

@oscarbg
Copy link

oscarbg commented Aug 28, 2018

Hi,
Ok was not last issue..
I checked VKD3D library demos:

with MoltenVK they work (both gears & triangle) although they output log like this:

./gears
err:vkd3d_check_extensions: Required device extension "VK_KHR_maintenance1" is not supported.
err:vkd3d_check_extensions: Required device extension "VK_KHR_shader_draw_parameters" is not supported.
[***MoltenVK ERROR***] VK_ERROR_EXTENSION_NOT_PRESENT: Vulkan extension VK_KHR_maintenance1 is not supported.
[***MoltenVK ERROR***] VK_ERROR_EXTENSION_NOT_PRESENT: Vulkan extension VK_KHR_shader_draw_parameters is not supported.
fixme:d3d12_root_signature_init: Ignoring root signature flags 0x3d.

interestingly I test on both 10.13.6 and 10.14 Mojave beta 5 or 6 and gears render ok on both versions altough triangle only renders correctly on 10.13.6 on 10.14 beta I get black screen and no further errors
from console..

with portability I get:
./triangle

fixme:vkd3d_create_vk_device: Could not find a suitable queue family for a copy command queue.
Apple crash:
Assertion failed: (SUCCEEDED(hr)), function cxt_load_pipeline, file demos/triangle.c, line 187.
Abort trap: 6

./gears

fixme:vkd3d_create_vk_device: Could not find a suitable queue family for a copy command queue.
Apple crash:
Assertion failed: (SUCCEEDED(hr)), function cxg_load_pipeline, file demos/gears.c, line 331.

so wanting to test with portability once it plays ok with these samples to see if it's a Metal AMD driver in 10.14 beta..

I'm attaching a repro below so you can test without compiling vkd3d (as I believe samples were removed from original patches reason having ObjC code)..

binaries expect libraries
/usr/local/lib/libvkd3d.1.dylib (compatibility version 2.0.0, current version 2.0.0)
/usr/local/lib/libvkd3d-utils.1.dylib (compatibility version 2.0.0, current version 2.0.0)
for @rpath/libMoltenVK.dylib I copy your portability library to /usr/lib/libMoltenVK.dylib where it finds them..

@oscarbg
Copy link
Author

oscarbg commented Aug 28, 2018

Binaries here:
reprovkd3d.zip

@kvark
Copy link
Member

kvark commented Aug 28, 2018

Thank you!

Could not find a suitable queue family for a copy command queue.

This is a pretty strange thing to break on, tbh. We expose a single queue and it can do everything.
I may even suggest this to be VKD3D bug, since we don't explicitly say the queue supports TRANSFER but this is implied by Vulkan spec itself, so VKD3D may have this condition missing.

@kvark kvark added the bug label Aug 28, 2018
@kvark
Copy link
Member

kvark commented Aug 29, 2018

I tried building vkd3d an encountered a few issues:

  • symlinking libvulkan.dylib -> libportability.dylib doesn't let the configure script realize it's there, since the checks are for the actually linked path, which is (on my machine) portability/target/debug/deps/libportability.dylib. I suspect you might have replaced libMoltenVK with libportability after building VKD3D, so you didn't encounter this
  • enabling demos requires libxcb. I don't have X installed, and I thought I'd never have to. Any reason VKD3D can't use NSView and such for the demos?

What is the best place to file issues for them?

@oscarbg
Copy link
Author

oscarbg commented Aug 29, 2018 via email

@oscarbg
Copy link
Author

oscarbg commented Aug 29, 2018

Hi @kvark forgot to say once you build wine with vulkan support and also vkd3d you may want to try also building wine with vkd3d (which requires vulkan also) for Mac..
For Linux I built without problem —enable-vulkan —enable-vkd3d but for Mac I had problems and not were easy to solve ( not about failing to locate related headers & libs).. but that was a month ago perhaps things have improved.. so please drop a line here if you try & have success enabling vkd3d for wine on Mac..

@kvark
Copy link
Member

kvark commented Sep 1, 2018

yep as said demos using NSView were dropped but you can find here

ugh, this is just sad. The code needs more polish, and it's already got quite behind master, so untrivial to merge.
The worst part is - the code uses MVK specific extension (non-WSI one) for things like extracting MTLDevice from a physical device, so we aren't going to be compatible with this at all.

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

No branches or pull requests

2 participants