summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/gsp_gpu.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-09-14 22:00:45 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-09-14 22:00:45 +0200
commitb3af7aad9e37ee49feb9ff4e34ed4314f7ed644b (patch)
treeac792d257440cf78d0c0bdf2e515da5fc4943bff /src/core/hle/service/gsp_gpu.h
parentMerge pull request #1111 from LittleWhite-tb/qt-close-renderwindow (diff)
parentGSP: Implement command 0x05, used for flushing caches (diff)
downloadyuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar.gz
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar.bz2
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar.lz
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar.xz
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.tar.zst
yuzu-b3af7aad9e37ee49feb9ff4e34ed4314f7ed644b.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];
};
};