Skip to content

Instantly share code, notes, and snippets.

@refactor
Last active January 20, 2022 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save refactor/e5f160a0bdc4b728c737d3a8e871b33b to your computer and use it in GitHub Desktop.
Save refactor/e5f160a0bdc4b728c737d3a8e871b33b to your computer and use it in GitHub Desktop.
#define FL_ARG_COUNT(...) FL_INTERNAL_ARG_COUNT_PRIVATE(0, ##__VA_ARGS__, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
#define FL_INTERNAL_ARG_COUNT_PRIVATE(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, N, ...) N
#define FL_CONCAT_(l,r) l ## r
#define FL_CONCAT(l,r) FL_CONCAT_(l,r)
extern VkImageView _createImageView(VkDevice device, VkImage image, VkFormat format, VkImageAspectFlags aspectFlags);
#define _CREATE_IMAGE_VIEW_1(DEV,IMG) _createImageView(DEV,IMG,VK_FORMAT_R8G8B8A8_SRGB,VK_IMAGE_ASPECT_COLOR_BIT)
#define _CREATE_IMAGE_VIEW_2(DEV,IMG, fmt) _createImageView(DEV,IMG,fmt,VK_IMAGE_ASPECT_COLOR_BIT)
#define _CREATE_IMAGE_VIEW_3(DEV,IMG, fmt, asp) _createImageView(DEV,IMG,fmt,asp)
#define DEFAULT_CREATE_IMAGE_VIEW(D,I,...) FL_CONCAT(_CREATE_IMAGE_VIEW_,FL_ARG_COUNT(,##__VA_ARGS__))(D,I,##__VA_ARGS__)
#define createImageView(D,I,...) DEFAULT_CREATE_IMAGE_VIEW(D,I,##__VA_ARGS__)
...
app->textureImageView = createImageView(app->device, app->textureImage);
...
app->depthImageView = createImageView(app->device, app->depthImage, depthFormat, VK_IMAGE_ASPECT_DEPTH_BIT);
...
app->swapChainImageViews[i] = createImageView(app->device, app->swapChainImages[i], app->swapChainImageFormat);
@refactor
Copy link
Author

gcc -std=c11 ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment