diff options
author | Tony Wasserka <NeoBrainX@gmail.com> | 2014-08-19 20:57:43 +0200 |
---|---|---|
committer | Tony Wasserka <NeoBrainX@gmail.com> | 2014-08-25 22:03:18 +0200 |
commit | 14b24a75b37545faf49584864cb85555f22a0154 (patch) | |
tree | df4350faa6f2856b876abe6707e856dfa2e10f83 /src/core/hle/service/gsp.h | |
parent | GSP: Implement SetBufferSwap. (diff) | |
download | yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar.gz yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar.bz2 yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar.lz yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar.xz yuzu-14b24a75b37545faf49584864cb85555f22a0154.tar.zst yuzu-14b24a75b37545faf49584864cb85555f22a0154.zip |
Diffstat (limited to 'src/core/hle/service/gsp.h')
-rw-r--r-- | src/core/hle/service/gsp.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/service/gsp.h b/src/core/hle/service/gsp.h index 884cfd65a..a09d59dbb 100644 --- a/src/core/hle/service/gsp.h +++ b/src/core/hle/service/gsp.h @@ -4,6 +4,8 @@ #pragma once +#include <cstddef> + #include "common/bit_field.h" #include "core/hle/service/service.h" @@ -76,6 +78,22 @@ struct FrameBufferInfo { }; static_assert(sizeof(FrameBufferInfo) == 0x1c, "Struct has incorrect size"); +struct FrameBufferUpdate { + BitField<0, 1, u8> index; // Index used for GSP::SetBufferSwap + BitField<0, 1, u8> is_dirty; // true if GSP should update GPU framebuffer registers + u16 pad1; + + FrameBufferInfo framebuffer_info[2]; + + u32 pad2; +}; +static_assert(sizeof(FrameBufferUpdate) == 0x40, "Struct has incorrect size"); +// TODO: Not sure if this padding is correct. +// Chances are the second block is stored at offset 0x24 rather than 0x20. +#ifndef _MSC_VER +static_assert(offsetof(FrameBufferUpdate, framebuffer_info[1]) == 0x20, "FrameBufferInfo element has incorrect alignment"); +#endif + /// GSP command struct Command { BitField<0, 8, CommandId> id; |