citra-emu
/
citra
Archived
1
0
Fork 0

Pica: Name LightSrc.config register

This commit is contained in:
Jannik Vogel 2016-05-23 23:11:06 +02:00
parent 8e905b3af6
commit 30a01584f2
2 changed files with 16 additions and 18 deletions

View File

@ -787,23 +787,21 @@ struct Regs {
LightColor diffuse; // material.diffuse * light.diffuse LightColor diffuse; // material.diffuse * light.diffuse
LightColor ambient; // material.ambient * light.ambient LightColor ambient; // material.ambient * light.ambient
struct { // Encoded as 16-bit floating point
// Encoded as 16-bit floating point union {
union { BitField< 0, 16, u32> x;
BitField< 0, 16, u32> x; BitField<16, 16, u32> y;
BitField<16, 16, u32> y;
};
union {
BitField< 0, 16, u32> z;
};
INSERT_PADDING_WORDS(0x3);
union {
BitField<0, 1, u32> directional;
BitField<1, 1, u32> two_sided_diffuse; // When disabled, clamp dot-product to 0
};
}; };
union {
BitField< 0, 16, u32> z;
};
INSERT_PADDING_WORDS(0x3);
union {
BitField<0, 1, u32> directional;
BitField<1, 1, u32> two_sided_diffuse; // When disabled, clamp dot-product to 0
} config;
BitField<0, 20, u32> dist_atten_bias; BitField<0, 20, u32> dist_atten_bias;
BitField<0, 20, u32> dist_atten_scale; BitField<0, 20, u32> dist_atten_scale;

View File

@ -89,8 +89,8 @@ union 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];
state.lighting.light[light_index].num = num; state.lighting.light[light_index].num = num;
state.lighting.light[light_index].directional = light.directional != 0; state.lighting.light[light_index].directional = light.config.directional != 0;
state.lighting.light[light_index].two_sided_diffuse = light.two_sided_diffuse != 0; state.lighting.light[light_index].two_sided_diffuse = light.config.two_sided_diffuse != 0;
state.lighting.light[light_index].dist_atten_enable = !regs.lighting.IsDistAttenDisabled(num); state.lighting.light[light_index].dist_atten_enable = !regs.lighting.IsDistAttenDisabled(num);
} }