2
1
Fork 0
mirror of https://github.com/yuzu-emu/yuzu.git synced 2024-07-04 23:31:19 +01:00

VideoCore: Force enum sizes to u32 in LightingRegs

All enums that are used with BitField must have their type forced to u32
to ensure correctness.
This commit is contained in:
Yuri Kunde Schlesner 2017-02-08 23:31:46 -08:00
parent af65e1c0a0
commit bfb1531352

View file

@ -34,7 +34,7 @@ struct LightingRegs {
* configurations that require more LUTs, more cycles are required on HW to perform lighting * configurations that require more LUTs, more cycles are required on HW to perform lighting
* computations. * computations.
*/ */
enum class LightingConfig { enum class LightingConfig : u32 {
Config0 = 0, ///< Reflect Red, Distribution 0, Spotlight Config0 = 0, ///< Reflect Red, Distribution 0, Spotlight
Config1 = 1, ///< Reflect Red, Fresnel, Spotlight Config1 = 1, ///< Reflect Red, Fresnel, Spotlight
Config2 = 2, ///< Reflect Red, Distribution 0/1 Config2 = 2, ///< Reflect Red, Distribution 0/1
@ -48,7 +48,7 @@ struct LightingRegs {
}; };
/// Selects which lighting components are affected by fresnel /// Selects which lighting components are affected by fresnel
enum class LightingFresnelSelector { enum class LightingFresnelSelector : u32 {
None = 0, ///< Fresnel is disabled None = 0, ///< Fresnel is disabled
PrimaryAlpha = 1, ///< Primary (diffuse) lighting alpha is affected by fresnel PrimaryAlpha = 1, ///< Primary (diffuse) lighting alpha is affected by fresnel
SecondaryAlpha = 2, ///< Secondary (specular) lighting alpha is affected by fresnel SecondaryAlpha = 2, ///< Secondary (specular) lighting alpha is affected by fresnel
@ -58,7 +58,7 @@ struct LightingRegs {
}; };
/// Factor used to scale the output of a lighting LUT /// Factor used to scale the output of a lighting LUT
enum class LightingScale { enum class LightingScale : u32 {
Scale1 = 0, ///< Scale is 1x Scale1 = 0, ///< Scale is 1x
Scale2 = 1, ///< Scale is 2x Scale2 = 1, ///< Scale is 2x
Scale4 = 2, ///< Scale is 4x Scale4 = 2, ///< Scale is 4x
@ -68,7 +68,7 @@ struct LightingRegs {
Scale1_2 = 7, ///< Scale is 0.5x Scale1_2 = 7, ///< Scale is 0.5x
}; };
enum class LightingLutInput { enum class LightingLutInput : u32 {
NH = 0, // Cosine of the angle between the normal and half-angle vectors NH = 0, // Cosine of the angle between the normal and half-angle vectors
VH = 1, // Cosine of the angle between the view and half-angle vectors VH = 1, // Cosine of the angle between the view and half-angle vectors
NV = 2, // Cosine of the angle between the normal and the view vector NV = 2, // Cosine of the angle between the normal and the view vector