summaryrefslogtreecommitdiffstats
path: root/src/video_core/pica.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-09-13 00:56:12 +0200
committerbunnei <bunneidev@gmail.com>2016-02-05 23:17:27 +0100
commit281bc90ad2afe16853178a56e0127cff8b53eb14 (patch)
treea0367dba3f07648a0fd8ba1ff809aebfe7677c30 /src/video_core/pica.h
parentpica: Add decodings for distance attenuation and LUT registers. (diff)
downloadyuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar.gz
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar.bz2
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar.lz
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar.xz
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.tar.zst
yuzu-281bc90ad2afe16853178a56e0127cff8b53eb14.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/pica.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index 81a568e88..b09484de4 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -1156,6 +1156,25 @@ struct State {
ShaderSetup vs;
ShaderSetup gs;
+ struct {
+ union LutEntry {
+ // Used for raw access
+ u32 raw;
+
+ // LUT value, encoded as 12-bit fixed point, with 12 fraction bits
+ BitField< 0, 12, u32> value;
+
+ // Used by HW for efficient interpolation, Citra does not use these
+ BitField<12, 12, u32> difference;
+
+ float ToFloat() {
+ return static_cast<float>(value) / 4095.f;
+ }
+ };
+
+ std::array<LutEntry, 256> luts[24];
+ } lighting;
+
/// Current Pica command list
struct {
const u32* head_ptr;