summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/gsp_gpu.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-09-08 00:22:44 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-09-14 21:19:05 +0200
commit1ed7f3e0281de29fd99f7d4802fcc5a1906930f8 (patch)
tree33034d2a72224e6b134c7e8b51ab8b1b9e882900 /src/core/hle/service/gsp_gpu.h
parentMerge pull request #1152 from lioncash/nullptr (diff)
downloadyuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar.gz
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar.bz2
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar.lz
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar.xz
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.tar.zst
yuzu-1ed7f3e0281de29fd99f7d4802fcc5a1906930f8.zip
Diffstat (limited to 'src/core/hle/service/gsp_gpu.h')
-rw-r--r--src/core/hle/service/gsp_gpu.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/core/hle/service/gsp_gpu.h b/src/core/hle/service/gsp_gpu.h
index 8bcb30ad1..0e2f7a21e 100644
--- a/src/core/hle/service/gsp_gpu.h
+++ b/src/core/hle/service/gsp_gpu.h
@@ -31,7 +31,8 @@ enum class InterruptId : u8 {
/// GSP command ID
enum class CommandId : u32 {
REQUEST_DMA = 0x00,
- SET_COMMAND_LIST_LAST = 0x01,
+ /// Submits a commandlist for execution by the GPU.
+ SUBMIT_GPU_CMDLIST = 0x01,
// Fills a given memory range with a particular value
SET_MEMORY_FILL = 0x02,
@@ -42,8 +43,8 @@ enum class CommandId : u32 {
// Conceptionally similar to SET_DISPLAY_TRANSFER and presumable uses the same hardware path
SET_TEXTURE_COPY = 0x04,
-
- SET_COMMAND_LIST_FIRST = 0x05,
+ /// Flushes up to 3 cache regions in a single command.
+ CACHE_FLUSH = 0x05,
};
/// GSP thread interrupt relay queue
@@ -106,7 +107,10 @@ struct Command {
struct {
u32 address;
u32 size;
- } set_command_list_last;
+ u32 flags;
+ u32 unused[3];
+ u32 do_flush;
+ } submit_gpu_cmdlist;
struct {
u32 start1;
@@ -138,6 +142,13 @@ struct Command {
u32 flags;
} texture_copy;
+ struct {
+ struct {
+ u32 address;
+ u32 size;
+ } regions[3];
+ } cache_flush;
+
u8 raw_data[0x1C];
};
};