Previously, the GLSL_VK_SHADER macro didn't work if the shader contained
commas outside of parentheses due to the way the C preprocessor works.
This commit fixes this by making it variadic again and doing it correctly
this time.
#pragma once
-#define GLSL_VK_SHADER(device, stage, source) ({ \
+#define GLSL_VK_SHADER(device, stage, ...) ({ \
VkShader __shader; \
- const char __src[] = "#version 330\n" #source; \
+ const char __src[] = "#version 330\n" #__VA_ARGS__; \
VkShaderCreateInfo __shader_create_info = { \
.sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO, \
.codeSize = sizeof(__src), \