Refactor slang_preprocess.cpp - try to remove auto variables
This commit is contained in:
parent
a42b8f616f
commit
ff40ae2486
|
@ -28,31 +28,32 @@ using namespace std;
|
||||||
bool slang_preprocess_parse_parameters(glslang_meta& meta,
|
bool slang_preprocess_parse_parameters(glslang_meta& meta,
|
||||||
struct video_shader *shader)
|
struct video_shader *shader)
|
||||||
{
|
{
|
||||||
|
unsigned i;
|
||||||
unsigned old_num_parameters = shader->num_parameters;
|
unsigned old_num_parameters = shader->num_parameters;
|
||||||
|
|
||||||
/* Assumes num_parameters is
|
/* Assumes num_parameters is
|
||||||
* initialized to something sane. */
|
* initialized to something sane. */
|
||||||
for (auto ¶m : meta.parameters)
|
for (i = 0; i < meta.parameters.size(); i++)
|
||||||
{
|
{
|
||||||
bool mismatch_dup = false;
|
bool mismatch_dup = false;
|
||||||
bool dup = false;
|
bool dup = false;
|
||||||
auto itr = find_if(shader->parameters,
|
auto itr = find_if(shader->parameters,
|
||||||
shader->parameters + shader->num_parameters,
|
shader->parameters + shader->num_parameters,
|
||||||
[&](const video_shader_parameter &parsed_param)
|
[&](const video_shader_parameter &parsed_param)
|
||||||
{
|
{
|
||||||
return param.id == parsed_param.id;
|
return meta.parameters[i].id == parsed_param.id;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (itr != shader->parameters + shader->num_parameters)
|
if (itr != shader->parameters + shader->num_parameters)
|
||||||
{
|
{
|
||||||
dup = true;
|
dup = true;
|
||||||
/* Allow duplicate #pragma parameter, but only
|
/* Allow duplicate #pragma parameter, but only
|
||||||
* if they are exactly the same. */
|
* if they are exactly the same. */
|
||||||
if (param.desc != itr->desc ||
|
if ( meta.parameters[i].desc != itr->desc ||
|
||||||
param.initial != itr->initial ||
|
meta.parameters[i].initial != itr->initial ||
|
||||||
param.minimum != itr->minimum ||
|
meta.parameters[i].minimum != itr->minimum ||
|
||||||
param.maximum != itr->maximum ||
|
meta.parameters[i].maximum != itr->maximum ||
|
||||||
param.step != itr->step)
|
meta.parameters[i].step != itr->step)
|
||||||
{
|
{
|
||||||
RARCH_ERR("[slang]: Duplicate parameters"
|
RARCH_ERR("[slang]: Duplicate parameters"
|
||||||
" found for \"%s\", but arguments do not match.\n",
|
" found for \"%s\", but arguments do not match.\n",
|
||||||
|
@ -70,14 +71,19 @@ bool slang_preprocess_parse_parameters(glslang_meta& meta,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto &p = shader->parameters[shader->num_parameters++];
|
struct video_shader_parameter *p = (struct video_shader_parameter*)
|
||||||
strlcpy(p.id, param.id.c_str(), sizeof(p.id));
|
&shader->parameters[shader->num_parameters++];
|
||||||
strlcpy(p.desc, param.desc.c_str(), sizeof(p.desc));
|
|
||||||
p.initial = param.initial;
|
if (!p)
|
||||||
p.minimum = param.minimum;
|
continue;
|
||||||
p.maximum = param.maximum;
|
|
||||||
p.step = param.step;
|
strlcpy(p->id, meta.parameters[i].id.c_str(), sizeof(p->id));
|
||||||
p.current = param.initial;
|
strlcpy(p->desc, meta.parameters[i].desc.c_str(), sizeof(p->desc));
|
||||||
|
p->initial = meta.parameters[i].initial;
|
||||||
|
p->minimum = meta.parameters[i].minimum;
|
||||||
|
p->maximum = meta.parameters[i].maximum;
|
||||||
|
p->step = meta.parameters[i].step;
|
||||||
|
p->current = meta.parameters[i].initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue