@kanashimia Thank you 🙏 Glad you like it 🫡
@kanashimia Thank you 🙏 Glad you like it 🫡
Just rendered my first Vulkan triangle in raw x86-64 Assembly.
No C, no C++, no Rust.
Pure MASM64. Pure pain. Pure control.
This is what it means to go full bare metal.
More to come. ⚙️🔥
https://github.com/IbrahimHindawi/masm64-vulkan
#Vulkan #AssemblyLanguage #MASM64 #Assembly #BareMetal #GameDev #GraphicsProgramming #HandmadeHero #LowLevelDev #x64 #OpenGLWho #TriangleOfVictory
Vulkan and Win32 APIs ready.
Time to mov some data 🔥
#Vulkan #Assembly #GameDev #EngineDev #Debugging #Handmade #LowLevel #masm64 #gametech #graphicsprogramming #vulkanengine
translated Vulkan headers to MASM64 compatible assembly files using pyhon/libclang and the program runs:
https://github.com/IbrahimHindawi/masm64-vulkan/blob/main/tools%2Fvulkan_core.asm
its gonna be a long road to get the vulkan triangle, lots of infrastructure setup đźš§
#Vulkan #Assembly #GameDev #EngineDev #Debugging #Handmade #LowLevel #masm64 #gametech #graphicsprogramming #vulkanengine
Just added Vulkan validation layers and debug callbacks to my assembly-based engine! Catching issues before they crash—because debugging raw x64 is fun, but not that fun.
#Vulkan #Assembly #GameDev #EngineDev #Debugging #Handmade #LowLevel #masm64 #gametech #graphicsprogramming #vulkanengine
@pikuma
foobar proc
xor rax, rax
ret
foobar endp
@evysgarden I'm more of a C guy but I respect C++ when you work in asm, you definitely get this itch to create a C compiler!
@evysgarden it is, but exploring the world of assembly is fun!
@RecurringBloatware No I do this for fun. I love C and I'd pick it any day over C++. Knowing both C & C++ is great anyway!
@IanSeyler Windows
@RecurringBloatware I want to explore how far you can push a macro assembler and how to use SIMD vector instructions from assembly
@aeva vulkan wasn't initially part of the plan but I thought why not
@aeva đź‘‹
I am really interested in exploring how far you can push a macro assembler and how SIMD would feel like in pure x86_64 assembly
500 lines of pure x64 assembly.
Just to create a Vulkan instance.
No helpers. No C. No safety nets. Just raw MASM64 and the Vulkan headers.
This is what low-level graphics looks like when you go all the way down.
Next up: surface and device creation.
https://github.com/IbrahimHindawi/masm64-vulkan
#gamedev #vulkan #assembly #asm #masm64 #graphicsprogramming #lowlevel #handmade #baremetal #rendering #shaderdev #programming #devlog #indiedev #reverseengineering
Just finished my arena allocator in x64 assembly!
It’s a simple stack allocator—no free, just fast linear allocation with a reset. I wrote it to avoid runtime malloc entirely in my handmade game engine, and to stay as close to the metal as possible.
github.com/IbrahimHindawi/masm64-handmade
C & OpenGL Custom Game Engine Programming
#C #OpenGL #GameEngine #gamedevelopment #gamedev #Roguelike
@kimau yeah the insanity and awesomeness is whats drawing me into this craziness lol
Can't wait to get that triangle!
I just got Vulkan’s vkCreateInstance to execute from raw x64 assembly.
No C, no C++. Just MASM64 calling into the driver directly.
This is the first working step in my all-assembly engine — from boot to battle, everything will be handwritten in x64 asm.