mirror of https://github.com/xemu-project/xemu.git
nv2a/vk: Fix point param uniform setup
This commit is contained in:
parent
ab4235d613
commit
223a1b1347
|
@ -191,10 +191,9 @@ typedef struct ShaderBinding {
|
|||
int light_local_position_loc[NV2A_MAX_LIGHTS];
|
||||
int light_local_attenuation_loc[NV2A_MAX_LIGHTS];
|
||||
int specular_power_loc;
|
||||
int point_params_loc;
|
||||
|
||||
int clip_region_loc;
|
||||
|
||||
int point_params_loc[8];
|
||||
int material_alpha_loc;
|
||||
|
||||
int uniform_attrs_loc;
|
||||
|
|
|
@ -308,11 +308,8 @@ static void update_shader_constant_locations(ShaderBinding *binding)
|
|||
binding->clip_region_loc =
|
||||
uniform_index(&binding->fragment->uniforms, "clipRegion");
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
snprintf(tmp, sizeof(tmp), "pointParams[%d]", i);
|
||||
binding->point_params_loc[i] =
|
||||
uniform_index(&binding->vertex->uniforms, tmp);
|
||||
}
|
||||
binding->point_params_loc =
|
||||
uniform_index(&binding->vertex->uniforms, "pointParams");
|
||||
|
||||
binding->material_alpha_loc =
|
||||
uniform_index(&binding->vertex->uniforms, "material_alpha");
|
||||
|
@ -726,11 +723,9 @@ static void shader_update_constants(PGRAPHState *pg, ShaderBinding *binding,
|
|||
uniform1iv(&binding->fragment->uniforms, binding->clip_region_loc,
|
||||
8 * 4, (void *)clip_regions);
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
int loc = binding->point_params_loc[i];
|
||||
if (loc != -1) {
|
||||
uniform1f(&binding->vertex->uniforms, loc, pg->point_params[i]);
|
||||
}
|
||||
if (binding->point_params_loc != -1) {
|
||||
uniform1iv(&binding->vertex->uniforms, binding->point_params_loc,
|
||||
ARRAY_SIZE(pg->point_params), (void *)pg->point_params);
|
||||
}
|
||||
|
||||
if (binding->material_alpha_loc != -1) {
|
||||
|
|
Loading…
Reference in New Issue