fn Texture* createTextureFromSurface(Renderer* renderer, Surface surface) @cname("SDL_CreateTextureFromSurface");
The Surface argument should be a pointer. At least it works and doesn't crash any more if I change it into a pointer.
fn Texture* createTextureFromSurface(Renderer* renderer, Surface* surface) @cname("SDL_CreateTextureFromSurface");