summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannik Vogel <email@jannikvogel.de>2016-05-23 23:11:06 +0200
committerJannik Vogel <email@jannikvogel.de>2016-05-23 23:28:13 +0200
commit30a01584f200df1a71d322bad10a02f60d17aa22 (patch)
tree776b0a4490cced231bfe7e9e4259a9aa2b784e48
parentPica: Name lighting.config0 and .config1 registers (diff)
downloadyuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar.gz
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar.bz2
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar.lz
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar.xz
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.tar.zst
yuzu-30a01584f200df1a71d322bad10a02f60d17aa22.zip
-rw-r--r--src/video_core/pica.h28
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h4
2 files changed, 15 insertions, 17 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index 88cb306c9..544ea037f 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -787,23 +787,21 @@ struct Regs {
LightColor diffuse; // material.diffuse * light.diffuse
LightColor ambient; // material.ambient * light.ambient
- struct {
- // Encoded as 16-bit floating point
- union {
- BitField< 0, 16, u32> x;
- BitField<16, 16, u32> y;
- };
- union {
- BitField< 0, 16, u32> z;
- };
+ // Encoded as 16-bit floating point
+ union {
+ BitField< 0, 16, u32> x;
+ BitField<16, 16, u32> y;
+ };
+ union {
+ BitField< 0, 16, u32> z;
+ };
- INSERT_PADDING_WORDS(0x3);
+ 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, 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_scale;
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 96ee4b1dc..bb7f20161 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -89,8 +89,8 @@ union PicaShaderConfig {
unsigned num = regs.lighting.light_enable.GetNum(light_index);
const auto& light = regs.lighting.light[num];
state.lighting.light[light_index].num = num;
- state.lighting.light[light_index].directional = light.directional != 0;
- state.lighting.light[light_index].two_sided_diffuse = light.two_sided_diffuse != 0;
+ state.lighting.light[light_index].directional = light.config.directional != 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);
}