From 0e441cde71da46ae357ab1444baa86d1439ac162 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 21 May 2015 11:31:43 -0700 Subject: [PATCH] vk: Bake the GLSL_VK_SHADER macro into the scraper output file --- src/vulkan/glsl_helpers.h | 39 -------------------------------------- src/vulkan/glsl_scraper.py | 17 ++++++++++++++++- src/vulkan/meta.c | 1 - 3 files changed, 16 insertions(+), 41 deletions(-) delete mode 100644 src/vulkan/glsl_helpers.h diff --git a/src/vulkan/glsl_helpers.h b/src/vulkan/glsl_helpers.h deleted file mode 100644 index 2259f890ce1..00000000000 --- a/src/vulkan/glsl_helpers.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright © 2015 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#pragma once - -#define _GLSL_SRC_VAR2(_line) _glsl_helpers_shader ## _line ## _glsl_src -#define _GLSL_SRC_VAR(_line) _GLSL_SRC_VAR2(_line) - -#define GLSL_VK_SHADER(device, stage, ...) ({ \ - VkShader __shader; \ - VkShaderCreateInfo __shader_create_info = { \ - .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO, \ - .codeSize = sizeof(_GLSL_SRC_VAR(__LINE__)), \ - .pCode = _GLSL_SRC_VAR(__LINE__), \ - .flags = (1 << 31) /* GLSL back-door hack */ \ - }; \ - anv_CreateShader((VkDevice) device, &__shader_create_info, &__shader); \ - __shader; \ -}) diff --git a/src/vulkan/glsl_scraper.py b/src/vulkan/glsl_scraper.py index c35337bace5..23e9b0bde1c 100644 --- a/src/vulkan/glsl_scraper.py +++ b/src/vulkan/glsl_scraper.py @@ -242,7 +242,22 @@ with open_file(outfname, 'w') as outfile: * This file is autogenerated by glsl_scraper.py. */ -#include """) +#include + +#define _GLSL_SRC_VAR2(_line) _glsl_helpers_shader ## _line ## _glsl_src +#define _GLSL_SRC_VAR(_line) _GLSL_SRC_VAR2(_line) + +#define GLSL_VK_SHADER(device, stage, ...) ({ \\ + VkShader __shader; \\ + VkShaderCreateInfo __shader_create_info = { \\ + .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO, \\ + .codeSize = sizeof(_GLSL_SRC_VAR(__LINE__)), \\ + .pCode = _GLSL_SRC_VAR(__LINE__), \\ + }; \\ + vkCreateShader((VkDevice) device, &__shader_create_info, &__shader); \\ + __shader; \\ +}) +""") for shader in parser.shaders: shader.dump_c_code(outfile, glsl_only) diff --git a/src/vulkan/meta.c b/src/vulkan/meta.c index 77393e24694..cd4fbaf87f3 100644 --- a/src/vulkan/meta.c +++ b/src/vulkan/meta.c @@ -28,7 +28,6 @@ #include #include "private.h" -#include "glsl_helpers.h" #include "meta-spirv.h" static void -- 2.30.2