forked from ShuriZma/suyu
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 { union {
BitField< 4, 4, u32> config; BitField< 4, 4, u32> config;
BitField<27, 1, u32> clamp_highlights; BitField<27, 1, u32> clamp_highlights;
} light_env; };
union { union {
// Each bit specifies whether distance attenuation should be applied for the // Each bit specifies whether distance attenuation should be applied for the
// corresponding light // corresponding light
BitField<24, 1, u32> light_0; BitField<24, 1, u32> dist_atten_enable_light_0;
BitField<25, 1, u32> light_1; BitField<25, 1, u32> dist_atten_enable_light_1;
BitField<26, 1, u32> light_2; BitField<26, 1, u32> dist_atten_enable_light_2;
BitField<27, 1, u32> light_3; BitField<27, 1, u32> dist_atten_enable_light_3;
BitField<28, 1, u32> light_4; BitField<28, 1, u32> dist_atten_enable_light_4;
BitField<29, 1, u32> light_5; BitField<29, 1, u32> dist_atten_enable_light_5;
BitField<30, 1, u32> light_6; BitField<30, 1, u32> dist_atten_enable_light_6;
BitField<31, 1, u32> light_7; BitField<31, 1, u32> dist_atten_enable_light_7;
};
bool IsEnabled(unsigned index) const { bool IsDistAttenEnabled(unsigned index) const {
const unsigned enable[] = { light_0, light_1, light_2, light_3, light_4, light_5, light_6, light_7 }; const unsigned enable[] = { dist_atten_enable_light_0, dist_atten_enable_light_1,
return enable[index] == 0; dist_atten_enable_light_2, dist_atten_enable_light_3,
} dist_atten_enable_light_4, dist_atten_enable_light_5,
} dist_atten_enable; dist_atten_enable_light_6, dist_atten_enable_light_7 };
return enable[index] == 0;
}
union { union {
BitField<0, 8, u32> index; ///< Index at which to set data in the LUT 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); unsigned num = regs.lighting.light_enable.GetNum(light_index);
const auto& light = regs.lighting.light[num]; const auto& light = regs.lighting.light[num];
res.light_src[light_index].num = num; res.light_src[light_index].num = num;
res.light_src[light_index].directional = light.w; res.light_src[light_index].directional = light.w != 0;
res.light_src[light_index].two_sided_diffuse = light.two_sided_diffuse; res.light_src[light_index].two_sided_diffuse = light.two_sided_diffuse != 0;
res.light_src[light_index].dist_atten_enabled = regs.lighting.dist_atten_enable.IsEnabled(num); 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_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.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.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; return res;
} }