1 /* 2 * This file is part of libplacebo. 3 * 4 * libplacebo is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * libplacebo is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with libplacebo. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #pragma once 19 20 #include <stdbool.h> 21 #include <stdint.h> 22 23 #include "config.h" 24 #include "include/libplacebo/gpu.h" 25 26 struct pl_spirv_version { 27 bool vulkan; 28 uint32_t env_version; 29 uint32_t spv_version; 30 }; 31 32 struct pl_spirv_version pl_glsl_spv_version(const struct pl_glsl_version *glsl); 33 34 enum glsl_shader_stage { 35 GLSL_SHADER_VERTEX = 0, 36 GLSL_SHADER_FRAGMENT, 37 GLSL_SHADER_COMPUTE, 38 }; 39