flat assembler
Message board for the users of flat assembler.
Index
> High Level Languages > Vulkan API Header files anyone would like to share? |
| Author |
|
|
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. |
|||
|
|
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.
|
|||||||||||
|
|
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. |
|||
|
|
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. Just letting you know that the second link to your github is giving a 404. Is the repository private? |
|||
|
|
bitRAKE 02 Oct 2026, 20:08
It's public now, but ignore the experimental stuff - going to switch it to archive. Thank you.
|
|||
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.