17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-04 19:59:25 +01:00

feat(vulkan): vulkan 1.4 core with the user interface and the launcher, shaders split into ogl46/vk14 with SPIR-V binaries loaded first

This commit is contained in:
2026-10-24 05:47:11 +02:00
parent 68fa5dc2da
commit bd589f272d
235 changed files with 9397 additions and 3975 deletions

View File

@@ -1,10 +1,22 @@
#pragma once
#include <array>
#include <string>
#include <vector>
#include "ubo.h"
#include "utilities/Globals.h"
namespace gl
{
// the constants of the game the shaders take (shaders/ogl46/common.glsl), as #define lines put before the sources
extern std::string glsl_common;
void glsl_common_setup();
// the settings of the game the shaders take (shaders/ogl46/settings.glsl): #define lines of their values for the sources,
// and the values of the specialization constants of the binaries, in the order of gl::shader_setting
std::string glsl_settings_defines();
std::array<GLuint, 6> glsl_settings_values();
// whether the constants written in common.glsl in Basedir (shaders/ogl46/ when empty) are those of the game: the SPIR-V
// binaries are compiled with the ones of the file. Differences: what isn't the same
bool glsl_common_matches(std::string const &Basedir, std::vector<std::string> &Differences);
}