Changes

Jump to navigation Jump to search
673 bytes added ,  18:46, 14 February 2022
no edit summary
Line 187: Line 187:  
| 6 || [[#Reset|Reset]]
 
| 6 || [[#Reset|Reset]]
 
|-
 
|-
| 7 || [3.0.0+]
+
| 7 || [3.0.0+] [[#GetAruid2|GetAruid2]]
 
|}
 
|}
   Line 210: Line 210:  
== Reset ==
 
== Reset ==
 
No input. Returns an output u32 '''Err'''.
 
No input. Returns an output u32 '''Err'''.
 +
 +
== GetAruid2 ==
 +
Unofficial name.
 +
 +
No input. Returns an output u64 '''Aruid''', an output bool '''IsCoreDumpEnabled''' and an output u32 '''Err'''.
    
= nvgem:cd =
 
= nvgem:cd =
Line 224: Line 229:  
| 2 || [1.0.0-8.1.0] [[#ReadNextBlock|ReadNextBlock]]
 
| 2 || [1.0.0-8.1.0] [[#ReadNextBlock|ReadNextBlock]]
 
|-
 
|-
| 3 || [8.0.0+]
+
| 3 || [8.0.0+] [[#GetNextBlockSize|GetNextBlockSize]]
 
|-
 
|-
| 4 || [8.0.0+]
+
| 4 || [8.0.0+] [[#ReadNextBlock2|ReadNextBlock2]]
 
|}
 
|}
   Line 237: Line 242:  
== ReadNextBlock ==
 
== ReadNextBlock ==
 
Takes a type-0x6 output buffer. Returns an output u32 '''Err'''.
 
Takes a type-0x6 output buffer. Returns an output u32 '''Err'''.
 +
 +
== GetNextBlockSize ==
 +
Unofficial name.
 +
 +
No input. Returns an output u64 '''Size''' and an output u32 '''Err'''.
 +
 +
== ReadNextBlock2 ==
 +
Unofficial name.
 +
 +
Takes a type-0x6 output buffer and two input u64s '''Size''' and '''Offset'''. Returns an output u64 '''OutSize''' and an output u32 '''Err'''.
    
= nvdbg:d =
 
= nvdbg:d =
Line 900: Line 915:  
   struct {
 
   struct {
 
     __in u32 fence_id;
 
     __in u32 fence_id;
     __in u32 fence_thresh;
+
     __in u32 fence_value;
 
     __in u32 swap_interval;
 
     __in u32 swap_interval;
 
   };
 
   };
Line 1,702: Line 1,717:  
   };
 
   };
 
    
 
    
   
   struct {
 
   struct {
 
     __in    u32 num_cmdbufs;
 
     __in    u32 num_cmdbufs;
Line 1,852: Line 1,866:  
   struct fence {
 
   struct fence {
 
     u32 id;
 
     u32 id;
     u32 thresh;
+
     u32 value;
 
   };
 
   };
 
    
 
    
 
   struct gpfifo_entry {
 
   struct gpfifo_entry {
     u64 entry;                               // gpu_iova | (unk_2bits << 40) | (size << 42) | (unk_flag << 63)
+
     u32 entry0;                             // gpu_iova_lo
 +
    u32 entry1;                              // gpu_iova_hi | (allow_flush << 8) | (is_push_buf << 9) | (size << 10) | (sync << 31)
 
   };
 
   };
 
    
 
    
Line 1,862: Line 1,877:  
     __in    u64 gpfifo;                      // (ignored) pointer to gpfifo fence structs
 
     __in    u64 gpfifo;                      // (ignored) pointer to gpfifo fence structs
 
     __in    u32 num_entries;                // number of fence objects being submitted
 
     __in    u32 num_entries;                // number of fence objects being submitted
     __in   u32 flags;
+
     union {
 +
      __out u32 detailed_error;
 +
      __in u32 flags;
 +
    };
 
     __inout struct fence fence_out;          // returned new fence object for others to wait on
 
     __inout struct fence fence_out;          // returned new fence object for others to wait on
 
     __in    struct gpfifo_entry entries[];  // depends on num_entries
 
     __in    struct gpfifo_entry entries[];  // depends on num_entries
Line 1,963: Line 1,981:  
  struct fence {
 
  struct fence {
 
     u32 id;
 
     u32 id;
     u32 thresh;
+
     u32 value;
 
  };
 
  };
 
   
 
   

Navigation menu