Thread overview
Vulkan Tutorial Code uploaded to Github
2 days ago
Doug Clayton
2 days ago
Nicholas Wilson
2 days ago
evilrat
2 days ago
Doug Clayton
2 days ago
GoaLitiuM
2 days ago
Doug Clayton
1 day ago
GoaLitiuM
1 day ago
KnightMare
2 days ago
Hi All,

I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested: https://github.com/DougClayton4231/VulkanTutorialD

I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications.

I only set up the Vulkan and GLFW3 bindings for Windows, so anyone on other OSes will need to extend those bindings with the appropriate functions and variables for those platforms.

Big thanks to evilrat for helping me get those string arrays pointed to char**.
2 days ago
On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:
> Hi All,
>
> I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested: https://github.com/DougClayton4231/VulkanTutorialD
>
> I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications.
>
> I only set up the Vulkan and GLFW3 bindings for Windows, so anyone on other OSes will need to extend those bindings with the appropriate functions and variables for those platforms.

Great work.

> Big thanks to evilrat for helping me get those string arrays pointed to char**.

Ah yes, the old arr.map!(toStringz).array.ptr;
2 days ago
On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:
>
> I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications.
>

"erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it?

Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).
2 days ago
On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:
> On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:
>>
>> I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications.
>>
>
> "erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it?
>
> Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).

I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
2 days ago
On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:
> On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:
>> On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:
>>>[...]
>>
>> "erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it?
>>
>> Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).
>
> I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?
2 days ago
On Friday, 17 May 2019 at 15:04:27 UTC, GoaLitiuM wrote:
> On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:
>> On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:
>>> [...]
>>
>> I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
> I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?

Linking issues. For some reason, I couldn't get it to link with the static or dynamic libraries.
1 day ago
On Friday, 17 May 2019 at 18:30:49 UTC, Doug Clayton wrote:
> On Friday, 17 May 2019 at 15:04:27 UTC, GoaLitiuM wrote:
>> On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:
>>> On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:
>>>> [...]
>>>
>>> I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
>> I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?
>
> Linking issues. For some reason, I couldn't get it to link with the static or dynamic libraries.
ErupteD doesn't require any additional linking because it also operates as the loader, replacing "vulkan-1.lib" (which is the import library for the Vulkan loader supplied by Vulkan runtime) completely. Assuming the project is using dub, you just add it as a dependency and run the required functions (shown in the example) in runtime, and you should be good to go.
1 day ago
> I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested...

about enums:
enum SpvCapability_ { SpvCapabilityMatrix = 0, ... };
// code sample
obj.someCaps = SpvCapability_.SpvCapabilityMatrix;

IMO better/understandable_enough:
enum SpvCapability { Matrix = 0, ... };
// code sample
obj.someCaps = SpvCapability.Matrix;