flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > Vulkan API Header files anyone would like to share?

Author
Thread Post new topic Reply to topic
Byte_Blast



Joined: 01 Jul 2026
Posts: 12
Location: Australia
Byte_Blast 02 Oct 2026, 16:08
Hi everyone. I plan on doing graphics programming using Vulkan because i'm an autistic sperg that once i've decided i want to work with something, i will work with it.

Unfortunately, i do not want to write up a program to convert the Vulkan_core.h file into a FASM compatible header file. Not because i'm lazy, but simply because my only experience in programming is with FASM, at a rather basic level because i'm still learning.

And i'm not sure about you guys, but self teaching yourself anything is most rewarding and motivation stays most high when it is challenging enough. So that's why i'm choosing the Vulkan API, and besides, the fact we are all here using Assembly as our language of choice i don't think it matters if Vulkan is just as verbose.

Furthermore, i am completely illiterate when it comes to using any other programming language. I have never used C or C++ and don't plan to, I don't plan on learning Python either because i think these things are a waste of time and detract me from what i want to accomplish.

I also have never translated a header file into FASM compatible syntax. Vulkan_core.h is a C header file, from what i saw i can understand most of the constants and structures, but it would take me literally maybe a week of manually copy and pasting all the contents and restructuring into a compatible format that i really don't want to have to do that.

So i thought i would ask here, because i can't be the only person on this entire forum that has used or wanted to use Vulkan at some point. Because looking around online i can only ever find MASM translated header files for Vulkan. And the one post i managed to find on this forum was a user "Roman" commenting on this post https://board.flatassembler.net/topic.php?p=239360#239360 that he made a game using fasm in vulkan, however this user hasn't posted to discussions in a long time, and has not shared any of his own Vulkan header files, however i believe they may end up being outdated.

So my fellows. Does anyone here have translated Vulkan Headers? And if not, i would appreciate material on learning to do this myself, because i might just have to do that.
Post 02 Oct 2026, 16:08
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 21155
Location: In your JS exploiting you and your system
revolution 02 Oct 2026, 17:28
If no direct translation is available, I think the MASM conversion would be the closest to fasm format. At the very least it is for asm in general, so that should put it 90% of the way there.
Post 02 Oct 2026, 17:28
View user's profile Send private message Visit poster's website Reply with quote
Byte_Blast



Joined: 01 Jul 2026
Posts: 12
Location: Australia
Byte_Blast 02 Oct 2026, 18:17
revolution wrote:
If no direct translation is available, I think the MASM conversion would be the closest to fasm format. At the very least it is for asm in general, so that should put it 90% of the way there.


What would i need to change? For example i found this MASM translated header file that i've attached to this comment, which i pulled from this repository. https://github.com/IbrahimHindawi/vulkasm/blob/main/tools/vulkan_core.asm

I already changed all the "equates" to use "=" sign for all the constants, but then there is also going to be MASM defined structs such as, "VkPhysicalDeviceLimits struct" then all the structure fields having their data definitions like "dword" i can just safely match case all data definitions in the file to match FASM equivalents like "dd" for dword.

As for the structs themselves, i can just safely matchcase and change to "struc" for all references, however i remember reading that for the fields within the structures themselves that there is i believe 4 byte alignment in certain cases because of something to do with C but i might be wrong with the wording there. Because in the actually header file there are structures with their fields filled in as well as 4 byte padding in some places.


Description:
Download
Filename: vulkan_core.asm
Filesize: 1.35 MB
Downloaded: 6 Time(s)

Post 02 Oct 2026, 18:17
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4640
Location: vpcmpistri
bitRAKE 02 Oct 2026, 19:33
%VULKAN_SDK%\share\vulkan\registry\vk.xml is the source of truth for your installation. The C/C++ headers are derived from it. This has Vulkan registry based converter and dynamic loader system. It's written in PowerShell. The loader is restricted to a single device.

My prior registry converter written in fasmg and some beginner examples - important to get logging working, imho.
Post 02 Oct 2026, 19:33
View user's profile Send private message Visit poster's website Reply with quote
Byte_Blast



Joined: 01 Jul 2026
Posts: 12
Location: Australia
Byte_Blast 02 Oct 2026, 20:05
bitRAKE wrote:
%VULKAN_SDK%\share\vulkan\registry\vk.xml is the source of truth for your installation. The C/C++ headers are derived from it. This has Vulkan registry based converter and dynamic loader system. It's written in PowerShell. The loader is restricted to a single device.

My prior registry converter written in fasmg and some beginner examples - important to get logging working, imho.


Just letting you know that the second link to your github is giving a 404. Is the repository private?
Post 02 Oct 2026, 20:05
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4640
Location: vpcmpistri
bitRAKE 02 Oct 2026, 20:08
It's public now, but ignore the experimental stuff - going to switch it to archive. Thank you.
Post 02 Oct 2026, 20:08
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.