summaryrefslogtreecommitdiffstats
path: root/src/core/hle/ipc_helpers.h
diff options
context:
space:
mode:
authorLectem <lectem@gmail.com>2016-12-28 17:11:14 +0100
committerLectem <lectem@gmail.com>2017-03-18 10:44:01 +0100
commit501e23ce59a84cb0b0ef3db5b1c84939fa732811 (patch)
tree00f79bb33e874da62310fc334e35434b2a446366 /src/core/hle/ipc_helpers.h
parentMerge pull request #2497 from wwylele/input-2 (diff)
downloadyuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar.gz
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar.bz2
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar.lz
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar.xz
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.tar.zst
yuzu-501e23ce59a84cb0b0ef3db5b1c84939fa732811.zip
Diffstat (limited to 'src/core/hle/ipc_helpers.h')
-rw-r--r--src/core/hle/ipc_helpers.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index 323158bb5..11a33c8bd 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -27,6 +27,18 @@ public:
DEBUG_ASSERT_MSG(index == TotalSize(), "Operations do not match the header (cmd 0x%x)",
header.raw);
}
+
+ /**
+ * @brief Retrieves the address of a static buffer, used when a buffer is needed for output
+ * @param buffer_id The index of the static buffer
+ * @param data_size If non-null, will store the size of the buffer
+ */
+ VAddr PeekStaticBuffer(u8 buffer_id, size_t* data_size = nullptr) const {
+ u32* static_buffer = cmdbuf + Kernel::kStaticBuffersOffset / 4 + buffer_id * 2;
+ if (data_size)
+ *data_size = StaticBufferDescInfo{static_buffer[0]}.size;
+ return static_buffer[1];
+ }
};
class RequestBuilder : public RequestHelperBase {