citra-emu
/
citra
Archived
1
0
Fork 0

gl_rasterizer: Minor naming refactor on Pica register naming.

This commit is contained in:
bunnei 2015-11-18 22:55:24 -05:00
parent 76f303538b
commit 6878ba7608
2 changed files with 22 additions and 19 deletions

View File

@ -715,26 +715,29 @@ struct Regs {
union {
BitField< 4, 4, u32> config;
BitField<27, 1, u32> clamp_highlights;
} light_env;
};
union {
// Each bit specifies whether distance attenuation should be applied for the
// corresponding light
BitField<24, 1, u32> light_0;
BitField<25, 1, u32> light_1;
BitField<26, 1, u32> light_2;
BitField<27, 1, u32> light_3;
BitField<28, 1, u32> light_4;
BitField<29, 1, u32> light_5;
BitField<30, 1, u32> light_6;
BitField<31, 1, u32> light_7;
BitField<24, 1, u32> dist_atten_enable_light_0;
BitField<25, 1, u32> dist_atten_enable_light_1;
BitField<26, 1, u32> dist_atten_enable_light_2;
BitField<27, 1, u32> dist_atten_enable_light_3;
BitField<28, 1, u32> dist_atten_enable_light_4;
BitField<29, 1, u32> dist_atten_enable_light_5;
BitField<30, 1, u32> dist_atten_enable_light_6;
BitField<31, 1, u32> dist_atten_enable_light_7;
};
bool IsEnabled(unsigned index) const {
const unsigned enable[] = { light_0, light_1, light_2, light_3, light_4, light_5, light_6, light_7 };
bool IsDistAttenEnabled(unsigned index) const {
const unsigned enable[] = { dist_atten_enable_light_0, dist_atten_enable_light_1,
dist_atten_enable_light_2, dist_atten_enable_light_3,
dist_atten_enable_light_4, dist_atten_enable_light_5,
dist_atten_enable_light_6, dist_atten_enable_light_7 };
return enable[index] == 0;
}
} dist_atten_enable;
union {
BitField<0, 8, u32> index; ///< Index at which to set data in the LUT

View File

@ -80,16 +80,16 @@ struct PicaShaderConfig {
unsigned num = regs.lighting.light_enable.GetNum(light_index);
const auto& light = regs.lighting.light[num];
res.light_src[light_index].num = num;
res.light_src[light_index].directional = light.w;
res.light_src[light_index].two_sided_diffuse = light.two_sided_diffuse;
res.light_src[light_index].dist_atten_enabled = regs.lighting.dist_atten_enable.IsEnabled(num);
res.light_src[light_index].directional = light.w != 0;
res.light_src[light_index].two_sided_diffuse = light.two_sided_diffuse != 0;
res.light_src[light_index].dist_atten_enabled = regs.lighting.IsDistAttenEnabled(num);
res.light_src[light_index].dist_atten_bias = Pica::float20::FromRawFloat20(light.dist_atten_bias).ToFloat32();
res.light_src[light_index].dist_atten_scale = Pica::float20::FromRawFloat20(light.dist_atten_scale).ToFloat32();
}
res.lighting_lut.d0_abs = (regs.lighting.abs_lut_input.d0 == 0);
res.lighting_lut.d0_abs = regs.lighting.abs_lut_input.d0 == 0;
res.lighting_lut.d0_type = (Pica::Regs::LightingLutInput)regs.lighting.lut_input.d0.Value();
res.clamp_highlights = regs.lighting.light_env.clamp_highlights;
res.clamp_highlights = regs.lighting.clamp_highlights != 0;
return res;
}