mirror of
https://github.com/libretro/RetroArch
synced 2025-02-19 12:41:00 +00:00
Vulkan: Begin parsing parameters.
This commit is contained in:
parent
8d186dab88
commit
a50c204d5e
@ -252,6 +252,9 @@ static glslang_format glslang_find_format(const char *fmt)
|
||||
|
||||
static bool glslang_parse_meta(const vector<string> &lines, glslang_meta *meta)
|
||||
{
|
||||
char id[64] = {};
|
||||
char desc[64] = {};
|
||||
|
||||
*meta = glslang_meta{};
|
||||
for (auto &line : lines)
|
||||
{
|
||||
@ -268,6 +271,21 @@ static bool glslang_parse_meta(const vector<string> &lines, glslang_meta *meta)
|
||||
str++;
|
||||
meta->name = str;
|
||||
}
|
||||
else if (line.find("#pragma parameter ") == 0)
|
||||
{
|
||||
float initial, minimum, maximum, step;
|
||||
int ret = sscanf(line.c_str(), "#pragma parameter %63s \"%63[^\"]\" %f %f %f %f",
|
||||
id, desc, &initial, &minimum, &maximum, &step);
|
||||
|
||||
if (ret == 4)
|
||||
{
|
||||
step = 0.1f * (maximum - minimum);
|
||||
ret = 5;
|
||||
}
|
||||
|
||||
if (ret == 5)
|
||||
meta->parameters.push_back({ id, desc, initial, minimum, maximum, step });
|
||||
}
|
||||
else if (line.find("#pragma format ") == 0)
|
||||
{
|
||||
if (meta->rt_format != SLANG_FORMAT_UNKNOWN)
|
||||
|
@ -63,8 +63,19 @@ enum glslang_format
|
||||
SLANG_FORMAT_UNKNOWN
|
||||
};
|
||||
|
||||
struct glslang_parameter
|
||||
{
|
||||
std::string id;
|
||||
std::string desc;
|
||||
float initial;
|
||||
float minimum;
|
||||
float maximum;
|
||||
float step;
|
||||
};
|
||||
|
||||
struct glslang_meta
|
||||
{
|
||||
std::vector<glslang_parameter> parameters;
|
||||
std::string name;
|
||||
glslang_format rt_format = SLANG_FORMAT_UNKNOWN;
|
||||
};
|
||||
|
@ -2736,7 +2736,6 @@ vulkan_filter_chain_t *vulkan_filter_chain_create_from_preset(
|
||||
return nullptr;
|
||||
|
||||
video_shader_resolve_relative(shader.get(), path);
|
||||
video_shader_resolve_parameters(conf.get(), shader.get());
|
||||
|
||||
bool last_pass_is_fbo = shader->pass[shader->passes - 1].fbo.valid;
|
||||
auto tmpinfo = *info;
|
||||
|
Loading…
x
Reference in New Issue
Block a user