nv2a/vk: Fix point param uniform setup

This commit is contained in:
Matt Borgerson 2025-04-30 23:29:23 -07:00
parent ab4235d613
commit 223a1b1347
2 changed files with 6 additions and 12 deletions

View File

@ -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;

View File

@ -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) {