Remove 'shader' param from shader param functions

This commit is contained in:
jp9000
2014-06-25 19:50:08 -07:00
parent 27010a2f56
commit caf8ca9ba8
9 changed files with 155 additions and 215 deletions

View File

@@ -168,7 +168,7 @@ void gs_shader::BuildConstantBuffer()
}
for (size_t i = 0; i < params.size(); i++)
shader_setdefault(this, &params[i]);
shader_setdefault(&params[i]);
}
void gs_shader::Compile(const char *shaderString, const char *file,
@@ -276,16 +276,6 @@ sparam_t shader_getparambyname(shader_t shader, const char *name)
return NULL;
}
void shader_getparaminfo(shader_t shader, sparam_t param,
struct shader_param_info *info)
{
if (!param || !shader)
return;
info->name = param->name.c_str();
info->type = param->type;
}
sparam_t shader_getviewprojmatrix(shader_t shader)
{
if (shader->type != SHADER_VERTEX)
@@ -302,8 +292,17 @@ sparam_t shader_getworldmatrix(shader_t shader)
return static_cast<gs_vertex_shader*>(shader)->world;
}
static inline void shader_setval_inline(gs_shader *shader, shader_param *param,
const void *data, size_t size)
void shader_getparaminfo(sparam_t param, struct shader_param_info *info)
{
if (!param)
return;
info->name = param->name.c_str();
info->type = param->type;
}
static inline void shader_setval_inline(shader_param *param, const void *data,
size_t size)
{
assert(param);
if (!param)
@@ -319,64 +318,61 @@ static inline void shader_setval_inline(gs_shader *shader, shader_param *param,
}
}
void shader_setbool(shader_t shader, sparam_t param, bool val)
void shader_setbool(sparam_t param, bool val)
{
shader_setval_inline(shader, param, &val, sizeof(bool));
shader_setval_inline(param, &val, sizeof(bool));
}
void shader_setfloat(shader_t shader, sparam_t param, float val)
void shader_setfloat(sparam_t param, float val)
{
shader_setval_inline(shader, param, &val, sizeof(float));
shader_setval_inline(param, &val, sizeof(float));
}
void shader_setint(shader_t shader, sparam_t param, int val)
void shader_setint(sparam_t param, int val)
{
shader_setval_inline(shader, param, &val, sizeof(int));
shader_setval_inline(param, &val, sizeof(int));
}
void shader_setmatrix3(shader_t shader, sparam_t param,
const struct matrix3 *val)
void shader_setmatrix3(sparam_t param, const struct matrix3 *val)
{
struct matrix4 mat;
matrix4_from_matrix3(&mat, val);
shader_setval_inline(shader, param, &mat, sizeof(matrix4));
shader_setval_inline(param, &mat, sizeof(matrix4));
}
void shader_setmatrix4(shader_t shader, sparam_t param,
const struct matrix4 *val)
void shader_setmatrix4(sparam_t param, const struct matrix4 *val)
{
shader_setval_inline(shader, param, val, sizeof(matrix4));
shader_setval_inline(param, val, sizeof(matrix4));
}
void shader_setvec2(shader_t shader, sparam_t param, const struct vec2 *val)
void shader_setvec2(sparam_t param, const struct vec2 *val)
{
shader_setval_inline(shader, param, val, sizeof(vec2));
shader_setval_inline(param, val, sizeof(vec2));
}
void shader_setvec3(shader_t shader, sparam_t param, const struct vec3 *val)
void shader_setvec3(sparam_t param, const struct vec3 *val)
{
shader_setval_inline(shader, param, val, sizeof(float) * 3);
shader_setval_inline(param, val, sizeof(float) * 3);
}
void shader_setvec4(shader_t shader, sparam_t param, const struct vec4 *val)
void shader_setvec4(sparam_t param, const struct vec4 *val)
{
shader_setval_inline(shader, param, val, sizeof(vec4));
shader_setval_inline(param, val, sizeof(vec4));
}
void shader_settexture(shader_t shader, sparam_t param, texture_t val)
void shader_settexture(sparam_t param, texture_t val)
{
shader_setval_inline(shader, param, &val, sizeof(texture_t));
shader_setval_inline(param, &val, sizeof(texture_t));
}
void shader_setval(shader_t shader, sparam_t param, const void *val,
size_t size)
void shader_setval(sparam_t param, const void *val, size_t size)
{
shader_setval_inline(shader, param, val, size);
shader_setval_inline(param, val, size);
}
void shader_setdefault(shader_t shader, sparam_t param)
void shader_setdefault(sparam_t param)
{
if (param->defaultValue.size())
shader_setval_inline(shader, param, param->defaultValue.data(),
shader_setval_inline(param, param->defaultValue.data(),
param->defaultValue.size());
}

View File

@@ -379,7 +379,7 @@ void gs_device::UpdateViewProjMatrix()
matrix4_transpose(&curViewProjMatrix, &curViewProjMatrix);
if (curVertexShader->viewProj)
shader_setmatrix4(curVertexShader, curVertexShader->viewProj,
shader_setmatrix4(curVertexShader->viewProj,
&curViewProjMatrix);
}