TwodClassState.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. // This file was auto-generated from NVIDIA official Maxwell definitions.
  2. using Ryujinx.Common.Memory;
  3. namespace Ryujinx.Graphics.Gpu.Engine.Twod
  4. {
  5. /// <summary>
  6. /// Notify type.
  7. /// </summary>
  8. enum NotifyType
  9. {
  10. WriteOnly = 0,
  11. WriteThenAwaken = 1,
  12. }
  13. /// <summary>
  14. /// MME shadow RAM control mode.
  15. /// </summary>
  16. enum SetMmeShadowRamControlMode
  17. {
  18. MethodTrack = 0,
  19. MethodTrackWithFilter = 1,
  20. MethodPassthrough = 2,
  21. MethodReplay = 3,
  22. }
  23. /// <summary>
  24. /// Format of the destination texture.
  25. /// </summary>
  26. enum SetDstFormatV
  27. {
  28. A8r8g8b8 = 207,
  29. A8rl8gl8bl8 = 208,
  30. A2r10g10b10 = 223,
  31. A8b8g8r8 = 213,
  32. A8bl8gl8rl8 = 214,
  33. A2b10g10r10 = 209,
  34. X8r8g8b8 = 230,
  35. X8rl8gl8bl8 = 231,
  36. X8b8g8r8 = 249,
  37. X8bl8gl8rl8 = 250,
  38. R5g6b5 = 232,
  39. A1r5g5b5 = 233,
  40. X1r5g5b5 = 248,
  41. Y8 = 243,
  42. Y16 = 238,
  43. Y32 = 255,
  44. Z1r5g5b5 = 251,
  45. O1r5g5b5 = 252,
  46. Z8r8g8b8 = 253,
  47. O8r8g8b8 = 254,
  48. Y18x8 = 28,
  49. Rf16 = 242,
  50. Rf32 = 229,
  51. Rf32Gf32 = 203,
  52. Rf16Gf16Bf16Af16 = 202,
  53. Rf16Gf16Bf16X16 = 206,
  54. Rf32Gf32Bf32Af32 = 192,
  55. Rf32Gf32Bf32X32 = 195,
  56. R16G16B16A16 = 198,
  57. Rn16Gn16Bn16An16 = 199,
  58. Bf10gf11rf11 = 224,
  59. An8bn8gn8rn8 = 215,
  60. Rf16Gf16 = 222,
  61. R16G16 = 218,
  62. Rn16Gn16 = 219,
  63. G8r8 = 234,
  64. Gn8rn8 = 235,
  65. Rn16 = 239,
  66. Rn8 = 244,
  67. A8 = 247,
  68. }
  69. /// <summary>
  70. /// Memory layout of the destination texture.
  71. /// </summary>
  72. enum SetDstMemoryLayoutV
  73. {
  74. Blocklinear = 0,
  75. Pitch = 1,
  76. }
  77. /// <summary>
  78. /// Height in GOBs of the destination texture.
  79. /// </summary>
  80. enum SetDstBlockSizeHeight
  81. {
  82. OneGob = 0,
  83. TwoGobs = 1,
  84. FourGobs = 2,
  85. EightGobs = 3,
  86. SixteenGobs = 4,
  87. ThirtytwoGobs = 5,
  88. }
  89. /// <summary>
  90. /// Depth in GOBs of the destination texture.
  91. /// </summary>
  92. enum SetDstBlockSizeDepth
  93. {
  94. OneGob = 0,
  95. TwoGobs = 1,
  96. FourGobs = 2,
  97. EightGobs = 3,
  98. SixteenGobs = 4,
  99. ThirtytwoGobs = 5,
  100. }
  101. /// <summary>
  102. /// Format of the source texture.
  103. /// </summary>
  104. enum SetSrcFormatV
  105. {
  106. A8r8g8b8 = 207,
  107. A8rl8gl8bl8 = 208,
  108. A2r10g10b10 = 223,
  109. A8b8g8r8 = 213,
  110. A8bl8gl8rl8 = 214,
  111. A2b10g10r10 = 209,
  112. X8r8g8b8 = 230,
  113. X8rl8gl8bl8 = 231,
  114. X8b8g8r8 = 249,
  115. X8bl8gl8rl8 = 250,
  116. R5g6b5 = 232,
  117. A1r5g5b5 = 233,
  118. X1r5g5b5 = 248,
  119. Y8 = 243,
  120. Ay8 = 29,
  121. Y16 = 238,
  122. Y32 = 255,
  123. Z1r5g5b5 = 251,
  124. O1r5g5b5 = 252,
  125. Z8r8g8b8 = 253,
  126. O8r8g8b8 = 254,
  127. Y18x8 = 28,
  128. Rf16 = 242,
  129. Rf32 = 229,
  130. Rf32Gf32 = 203,
  131. Rf16Gf16Bf16Af16 = 202,
  132. Rf16Gf16Bf16X16 = 206,
  133. Rf32Gf32Bf32Af32 = 192,
  134. Rf32Gf32Bf32X32 = 195,
  135. R16G16B16A16 = 198,
  136. Rn16Gn16Bn16An16 = 199,
  137. Bf10gf11rf11 = 224,
  138. An8bn8gn8rn8 = 215,
  139. Rf16Gf16 = 222,
  140. R16G16 = 218,
  141. Rn16Gn16 = 219,
  142. G8r8 = 234,
  143. Gn8rn8 = 235,
  144. Rn16 = 239,
  145. Rn8 = 244,
  146. A8 = 247,
  147. }
  148. /// <summary>
  149. /// Memory layout of the source texture.
  150. /// </summary>
  151. enum SetSrcMemoryLayoutV
  152. {
  153. Blocklinear = 0,
  154. Pitch = 1,
  155. }
  156. /// <summary>
  157. /// Height in GOBs of the source texture.
  158. /// </summary>
  159. enum SetSrcBlockSizeHeight
  160. {
  161. OneGob = 0,
  162. TwoGobs = 1,
  163. FourGobs = 2,
  164. EightGobs = 3,
  165. SixteenGobs = 4,
  166. ThirtytwoGobs = 5,
  167. }
  168. /// <summary>
  169. /// Depth in GOBs of the source texture.
  170. /// </summary>
  171. enum SetSrcBlockSizeDepth
  172. {
  173. OneGob = 0,
  174. TwoGobs = 1,
  175. FourGobs = 2,
  176. EightGobs = 3,
  177. SixteenGobs = 4,
  178. ThirtytwoGobs = 5,
  179. }
  180. /// <summary>
  181. /// Texture data caches to invalidate.
  182. /// </summary>
  183. enum TwodInvalidateTextureDataCacheV
  184. {
  185. L1Only = 0,
  186. L2Only = 1,
  187. L1AndL2 = 2,
  188. }
  189. /// <summary>
  190. /// Sector promotion parameters.
  191. /// </summary>
  192. enum SetPixelsFromMemorySectorPromotionV
  193. {
  194. NoPromotion = 0,
  195. PromoteTo2V = 1,
  196. PromoteTo2H = 2,
  197. PromoteTo4 = 3,
  198. }
  199. /// <summary>
  200. /// Number of processing clusters.
  201. /// </summary>
  202. enum SetNumProcessingClustersV
  203. {
  204. All = 0,
  205. One = 1,
  206. }
  207. /// <summary>
  208. /// Color key format.
  209. /// </summary>
  210. enum SetColorKeyFormatV
  211. {
  212. A16r5g6b5 = 0,
  213. A1r5g5b5 = 1,
  214. A8r8g8b8 = 2,
  215. A2r10g10b10 = 3,
  216. Y8 = 4,
  217. Y16 = 5,
  218. Y32 = 6,
  219. }
  220. /// <summary>
  221. /// Color blit operation.
  222. /// </summary>
  223. enum SetOperationV
  224. {
  225. SrccopyAnd = 0,
  226. RopAnd = 1,
  227. BlendAnd = 2,
  228. Srccopy = 3,
  229. Rop = 4,
  230. SrccopyPremult = 5,
  231. BlendPremult = 6,
  232. }
  233. /// <summary>
  234. /// Texture pattern selection.
  235. /// </summary>
  236. enum SetPatternSelectV
  237. {
  238. Monochrome8x8 = 0,
  239. Monochrome64x1 = 1,
  240. Monochrome1x64 = 2,
  241. Color = 3,
  242. }
  243. /// <summary>
  244. /// Render enable override mode.
  245. /// </summary>
  246. enum SetRenderEnableOverrideMode
  247. {
  248. UseRenderEnable = 0,
  249. AlwaysRender = 1,
  250. NeverRender = 2,
  251. }
  252. /// <summary>
  253. /// Pixels from memory horizontal direction.
  254. /// </summary>
  255. enum SetPixelsFromMemoryDirectionHorizontal
  256. {
  257. HwDecides = 0,
  258. LeftToRight = 1,
  259. RightToLeft = 2,
  260. }
  261. /// <summary>
  262. /// Pixels from memory vertical direction.
  263. /// </summary>
  264. enum SetPixelsFromMemoryDirectionVertical
  265. {
  266. HwDecides = 0,
  267. TopToBottom = 1,
  268. BottomToTop = 2,
  269. }
  270. /// <summary>
  271. /// Color format of the monochrome pattern.
  272. /// </summary>
  273. enum SetMonochromePatternColorFormatV
  274. {
  275. A8x8r5g6b5 = 0,
  276. A1r5g5b5 = 1,
  277. A8r8g8b8 = 2,
  278. A8y8 = 3,
  279. A8x8y16 = 4,
  280. Y32 = 5,
  281. ByteExpand = 6,
  282. }
  283. /// <summary>
  284. /// Format of the monochrome pattern.
  285. /// </summary>
  286. enum SetMonochromePatternFormatV
  287. {
  288. Cga6M1 = 0,
  289. LeM1 = 1,
  290. }
  291. /// <summary>
  292. /// DMA semaphore reduction operation.
  293. /// </summary>
  294. enum MmeDmaReductionReductionOp
  295. {
  296. RedAdd = 0,
  297. RedMin = 1,
  298. RedMax = 2,
  299. RedInc = 3,
  300. RedDec = 4,
  301. RedAnd = 5,
  302. RedOr = 6,
  303. RedXor = 7,
  304. }
  305. /// <summary>
  306. /// DMA semaphore reduction format.
  307. /// </summary>
  308. enum MmeDmaReductionReductionFormat
  309. {
  310. Unsigned = 0,
  311. Signed = 1,
  312. }
  313. /// <summary>
  314. /// DMA semaphore reduction size.
  315. /// </summary>
  316. enum MmeDmaReductionReductionSize
  317. {
  318. FourBytes = 0,
  319. EightBytes = 1,
  320. }
  321. /// <summary>
  322. /// Data FIFO size.
  323. /// </summary>
  324. enum SetMmeDataFifoConfigFifoSize
  325. {
  326. Size0kb = 0,
  327. Size4kb = 1,
  328. Size8kb = 2,
  329. Size12kb = 3,
  330. Size16kb = 4,
  331. }
  332. /// <summary>
  333. /// Render solid primitive mode.
  334. /// </summary>
  335. enum RenderSolidPrimModeV
  336. {
  337. Points = 0,
  338. Lines = 1,
  339. Polyline = 2,
  340. Triangles = 3,
  341. Rects = 4,
  342. }
  343. /// <summary>
  344. /// Render solid primitive color format.
  345. /// </summary>
  346. enum SetRenderSolidPrimColorFormatV
  347. {
  348. Rf32Gf32Bf32Af32 = 192,
  349. Rf16Gf16Bf16Af16 = 202,
  350. Rf32Gf32 = 203,
  351. A8r8g8b8 = 207,
  352. A2r10g10b10 = 223,
  353. A8b8g8r8 = 213,
  354. A2b10g10r10 = 209,
  355. X8r8g8b8 = 230,
  356. X8b8g8r8 = 249,
  357. R5g6b5 = 232,
  358. A1r5g5b5 = 233,
  359. X1r5g5b5 = 248,
  360. Y8 = 243,
  361. Y16 = 238,
  362. Y32 = 255,
  363. Z1r5g5b5 = 251,
  364. O1r5g5b5 = 252,
  365. Z8r8g8b8 = 253,
  366. O8r8g8b8 = 254,
  367. }
  368. /// <summary>
  369. /// Pixels from CPU data type.
  370. /// </summary>
  371. enum SetPixelsFromCpuDataTypeV
  372. {
  373. Color = 0,
  374. Index = 1,
  375. }
  376. /// <summary>
  377. /// Pixels from CPU color format.
  378. /// </summary>
  379. enum SetPixelsFromCpuColorFormatV
  380. {
  381. A8r8g8b8 = 207,
  382. A2r10g10b10 = 223,
  383. A8b8g8r8 = 213,
  384. A2b10g10r10 = 209,
  385. X8r8g8b8 = 230,
  386. X8b8g8r8 = 249,
  387. R5g6b5 = 232,
  388. A1r5g5b5 = 233,
  389. X1r5g5b5 = 248,
  390. Y8 = 243,
  391. Y16 = 238,
  392. Y32 = 255,
  393. Z1r5g5b5 = 251,
  394. O1r5g5b5 = 252,
  395. Z8r8g8b8 = 253,
  396. O8r8g8b8 = 254,
  397. }
  398. /// <summary>
  399. /// Pixels from CPU palette index format.
  400. /// </summary>
  401. enum SetPixelsFromCpuIndexFormatV
  402. {
  403. I1 = 0,
  404. I4 = 1,
  405. I8 = 2,
  406. }
  407. /// <summary>
  408. /// Pixels from CPU monochrome format.
  409. /// </summary>
  410. enum SetPixelsFromCpuMonoFormatV
  411. {
  412. Cga6M1 = 0,
  413. LeM1 = 1,
  414. }
  415. /// <summary>
  416. /// Pixels from CPU wrap mode.
  417. /// </summary>
  418. enum SetPixelsFromCpuWrapV
  419. {
  420. WrapPixel = 0,
  421. WrapByte = 1,
  422. WrapDword = 2,
  423. }
  424. /// <summary>
  425. /// Pixels from CPU monochrome opacity.
  426. /// </summary>
  427. enum SetPixelsFromCpuMonoOpacityV
  428. {
  429. Transparent = 0,
  430. Opaque = 1,
  431. }
  432. /// <summary>
  433. /// Pixels from memory block shape.
  434. /// </summary>
  435. enum SetPixelsFromMemoryBlockShapeV
  436. {
  437. Auto = 0,
  438. Shape8x8 = 1,
  439. Shape16x4 = 2,
  440. }
  441. /// <summary>
  442. /// Pixels from memory origin.
  443. /// </summary>
  444. enum SetPixelsFromMemorySampleModeOrigin
  445. {
  446. Center = 0,
  447. Corner = 1,
  448. }
  449. /// <summary>
  450. /// Pixels from memory filter mode.
  451. /// </summary>
  452. enum SetPixelsFromMemorySampleModeFilter
  453. {
  454. Point = 0,
  455. Bilinear = 1,
  456. }
  457. /// <summary>
  458. /// Render solid primitive point coordinates.
  459. /// </summary>
  460. struct RenderSolidPrimPoint
  461. {
  462. #pragma warning disable CS0649
  463. public uint SetX;
  464. public uint Y;
  465. #pragma warning restore CS0649
  466. }
  467. /// <summary>
  468. /// 2D class state.
  469. /// </summary>
  470. unsafe struct TwodClassState
  471. {
  472. #pragma warning disable CS0649
  473. public uint SetObject;
  474. public int SetObjectClassId => (int)((SetObject >> 0) & 0xFFFF);
  475. public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F);
  476. public fixed uint Reserved04[63];
  477. public uint NoOperation;
  478. public uint SetNotifyA;
  479. public int SetNotifyAAddressUpper => (int)((SetNotifyA >> 0) & 0x1FFFFFF);
  480. public uint SetNotifyB;
  481. public uint Notify;
  482. public NotifyType NotifyType => (NotifyType)(Notify);
  483. public uint WaitForIdle;
  484. public uint LoadMmeInstructionRamPointer;
  485. public uint LoadMmeInstructionRam;
  486. public uint LoadMmeStartAddressRamPointer;
  487. public uint LoadMmeStartAddressRam;
  488. public uint SetMmeShadowRamControl;
  489. public SetMmeShadowRamControlMode SetMmeShadowRamControlMode => (SetMmeShadowRamControlMode)((SetMmeShadowRamControl >> 0) & 0x3);
  490. public fixed uint Reserved128[2];
  491. public uint SetGlobalRenderEnableA;
  492. public int SetGlobalRenderEnableAOffsetUpper => (int)((SetGlobalRenderEnableA >> 0) & 0xFF);
  493. public uint SetGlobalRenderEnableB;
  494. public uint SetGlobalRenderEnableC;
  495. public int SetGlobalRenderEnableCMode => (int)((SetGlobalRenderEnableC >> 0) & 0x7);
  496. public uint SendGoIdle;
  497. public uint PmTrigger;
  498. public fixed uint Reserved144[3];
  499. public uint SetInstrumentationMethodHeader;
  500. public uint SetInstrumentationMethodData;
  501. public fixed uint Reserved158[37];
  502. public uint SetMmeSwitchState;
  503. public bool SetMmeSwitchStateValid => (SetMmeSwitchState & 0x1) != 0;
  504. public int SetMmeSwitchStateSaveMacro => (int)((SetMmeSwitchState >> 4) & 0xFF);
  505. public int SetMmeSwitchStateRestoreMacro => (int)((SetMmeSwitchState >> 12) & 0xFF);
  506. public fixed uint Reserved1F0[4];
  507. public uint SetDstFormat;
  508. public SetDstFormatV SetDstFormatV => (SetDstFormatV)((SetDstFormat >> 0) & 0xFF);
  509. public uint SetDstMemoryLayout;
  510. public SetDstMemoryLayoutV SetDstMemoryLayoutV => (SetDstMemoryLayoutV)((SetDstMemoryLayout >> 0) & 0x1);
  511. public uint SetDstBlockSize;
  512. public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0x7);
  513. public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0x7);
  514. public uint SetDstDepth;
  515. public uint SetDstLayer;
  516. public uint SetDstPitch;
  517. public uint SetDstWidth;
  518. public uint SetDstHeight;
  519. public uint SetDstOffsetUpper;
  520. public int SetDstOffsetUpperV => (int)((SetDstOffsetUpper >> 0) & 0xFF);
  521. public uint SetDstOffsetLower;
  522. public uint FlushAndInvalidateRopMiniCache;
  523. public bool FlushAndInvalidateRopMiniCacheV => (FlushAndInvalidateRopMiniCache & 0x1) != 0;
  524. public uint SetSpareNoop06;
  525. public uint SetSrcFormat;
  526. public SetSrcFormatV SetSrcFormatV => (SetSrcFormatV)((SetSrcFormat >> 0) & 0xFF);
  527. public uint SetSrcMemoryLayout;
  528. public SetSrcMemoryLayoutV SetSrcMemoryLayoutV => (SetSrcMemoryLayoutV)((SetSrcMemoryLayout >> 0) & 0x1);
  529. public uint SetSrcBlockSize;
  530. public SetSrcBlockSizeHeight SetSrcBlockSizeHeight => (SetSrcBlockSizeHeight)((SetSrcBlockSize >> 4) & 0x7);
  531. public SetSrcBlockSizeDepth SetSrcBlockSizeDepth => (SetSrcBlockSizeDepth)((SetSrcBlockSize >> 8) & 0x7);
  532. public uint SetSrcDepth;
  533. public uint TwodInvalidateTextureDataCache;
  534. public TwodInvalidateTextureDataCacheV TwodInvalidateTextureDataCacheV => (TwodInvalidateTextureDataCacheV)((TwodInvalidateTextureDataCache >> 0) & 0x3);
  535. public uint SetSrcPitch;
  536. public uint SetSrcWidth;
  537. public uint SetSrcHeight;
  538. public uint SetSrcOffsetUpper;
  539. public int SetSrcOffsetUpperV => (int)((SetSrcOffsetUpper >> 0) & 0xFF);
  540. public uint SetSrcOffsetLower;
  541. public uint SetPixelsFromMemorySectorPromotion;
  542. public SetPixelsFromMemorySectorPromotionV SetPixelsFromMemorySectorPromotionV => (SetPixelsFromMemorySectorPromotionV)((SetPixelsFromMemorySectorPromotion >> 0) & 0x3);
  543. public uint SetSpareNoop12;
  544. public uint SetNumProcessingClusters;
  545. public SetNumProcessingClustersV SetNumProcessingClustersV => (SetNumProcessingClustersV)((SetNumProcessingClusters >> 0) & 0x1);
  546. public uint SetRenderEnableA;
  547. public int SetRenderEnableAOffsetUpper => (int)((SetRenderEnableA >> 0) & 0xFF);
  548. public uint SetRenderEnableB;
  549. public uint SetRenderEnableC;
  550. public int SetRenderEnableCMode => (int)((SetRenderEnableC >> 0) & 0x7);
  551. public uint SetSpareNoop08;
  552. public uint SetSpareNoop01;
  553. public uint SetSpareNoop11;
  554. public uint SetSpareNoop07;
  555. public uint SetClipX0;
  556. public uint SetClipY0;
  557. public uint SetClipWidth;
  558. public uint SetClipHeight;
  559. public uint SetClipEnable;
  560. public bool SetClipEnableV => (SetClipEnable & 0x1) != 0;
  561. public uint SetColorKeyFormat;
  562. public SetColorKeyFormatV SetColorKeyFormatV => (SetColorKeyFormatV)((SetColorKeyFormat >> 0) & 0x7);
  563. public uint SetColorKey;
  564. public uint SetColorKeyEnable;
  565. public bool SetColorKeyEnableV => (SetColorKeyEnable & 0x1) != 0;
  566. public uint SetRop;
  567. public int SetRopV => (int)((SetRop >> 0) & 0xFF);
  568. public uint SetBeta1;
  569. public uint SetBeta4;
  570. public int SetBeta4B => (int)((SetBeta4 >> 0) & 0xFF);
  571. public int SetBeta4G => (int)((SetBeta4 >> 8) & 0xFF);
  572. public int SetBeta4R => (int)((SetBeta4 >> 16) & 0xFF);
  573. public int SetBeta4A => (int)((SetBeta4 >> 24) & 0xFF);
  574. public uint SetOperation;
  575. public SetOperationV SetOperationV => (SetOperationV)((SetOperation >> 0) & 0x7);
  576. public uint SetPatternOffset;
  577. public int SetPatternOffsetX => (int)((SetPatternOffset >> 0) & 0x3F);
  578. public int SetPatternOffsetY => (int)((SetPatternOffset >> 8) & 0x3F);
  579. public uint SetPatternSelect;
  580. public SetPatternSelectV SetPatternSelectV => (SetPatternSelectV)((SetPatternSelect >> 0) & 0x3);
  581. public uint SetDstColorRenderToZetaSurface;
  582. public bool SetDstColorRenderToZetaSurfaceV => (SetDstColorRenderToZetaSurface & 0x1) != 0;
  583. public uint SetSpareNoop04;
  584. public uint SetSpareNoop15;
  585. public uint SetSpareNoop13;
  586. public uint SetSpareNoop03;
  587. public uint SetSpareNoop14;
  588. public uint SetSpareNoop02;
  589. public uint SetCompression;
  590. public bool SetCompressionEnable => (SetCompression & 0x1) != 0;
  591. public uint SetSpareNoop09;
  592. public uint SetRenderEnableOverride;
  593. public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)((SetRenderEnableOverride >> 0) & 0x3);
  594. public uint SetPixelsFromMemoryDirection;
  595. public SetPixelsFromMemoryDirectionHorizontal SetPixelsFromMemoryDirectionHorizontal => (SetPixelsFromMemoryDirectionHorizontal)((SetPixelsFromMemoryDirection >> 0) & 0x3);
  596. public SetPixelsFromMemoryDirectionVertical SetPixelsFromMemoryDirectionVertical => (SetPixelsFromMemoryDirectionVertical)((SetPixelsFromMemoryDirection >> 4) & 0x3);
  597. public uint SetSpareNoop10;
  598. public uint SetMonochromePatternColorFormat;
  599. public SetMonochromePatternColorFormatV SetMonochromePatternColorFormatV => (SetMonochromePatternColorFormatV)((SetMonochromePatternColorFormat >> 0) & 0x7);
  600. public uint SetMonochromePatternFormat;
  601. public SetMonochromePatternFormatV SetMonochromePatternFormatV => (SetMonochromePatternFormatV)((SetMonochromePatternFormat >> 0) & 0x1);
  602. public uint SetMonochromePatternColor0;
  603. public uint SetMonochromePatternColor1;
  604. public uint SetMonochromePattern0;
  605. public uint SetMonochromePattern1;
  606. public Array64<uint> ColorPatternX8r8g8b8;
  607. public int ColorPatternX8r8g8b8B0(int i) => (int)((ColorPatternX8r8g8b8[i] >> 0) & 0xFF);
  608. public int ColorPatternX8r8g8b8G0(int i) => (int)((ColorPatternX8r8g8b8[i] >> 8) & 0xFF);
  609. public int ColorPatternX8r8g8b8R0(int i) => (int)((ColorPatternX8r8g8b8[i] >> 16) & 0xFF);
  610. public int ColorPatternX8r8g8b8Ignore0(int i) => (int)((ColorPatternX8r8g8b8[i] >> 24) & 0xFF);
  611. public Array32<uint> ColorPatternR5g6b5;
  612. public int ColorPatternR5g6b5B0(int i) => (int)((ColorPatternR5g6b5[i] >> 0) & 0x1F);
  613. public int ColorPatternR5g6b5G0(int i) => (int)((ColorPatternR5g6b5[i] >> 5) & 0x3F);
  614. public int ColorPatternR5g6b5R0(int i) => (int)((ColorPatternR5g6b5[i] >> 11) & 0x1F);
  615. public int ColorPatternR5g6b5B1(int i) => (int)((ColorPatternR5g6b5[i] >> 16) & 0x1F);
  616. public int ColorPatternR5g6b5G1(int i) => (int)((ColorPatternR5g6b5[i] >> 21) & 0x3F);
  617. public int ColorPatternR5g6b5R1(int i) => (int)((ColorPatternR5g6b5[i] >> 27) & 0x1F);
  618. public Array32<uint> ColorPatternX1r5g5b5;
  619. public int ColorPatternX1r5g5b5B0(int i) => (int)((ColorPatternX1r5g5b5[i] >> 0) & 0x1F);
  620. public int ColorPatternX1r5g5b5G0(int i) => (int)((ColorPatternX1r5g5b5[i] >> 5) & 0x1F);
  621. public int ColorPatternX1r5g5b5R0(int i) => (int)((ColorPatternX1r5g5b5[i] >> 10) & 0x1F);
  622. public bool ColorPatternX1r5g5b5Ignore0(int i) => (ColorPatternX1r5g5b5[i] & 0x8000) != 0;
  623. public int ColorPatternX1r5g5b5B1(int i) => (int)((ColorPatternX1r5g5b5[i] >> 16) & 0x1F);
  624. public int ColorPatternX1r5g5b5G1(int i) => (int)((ColorPatternX1r5g5b5[i] >> 21) & 0x1F);
  625. public int ColorPatternX1r5g5b5R1(int i) => (int)((ColorPatternX1r5g5b5[i] >> 26) & 0x1F);
  626. public bool ColorPatternX1r5g5b5Ignore1(int i) => (ColorPatternX1r5g5b5[i] & 0x80000000) != 0;
  627. public Array16<uint> ColorPatternY8;
  628. public int ColorPatternY8Y0(int i) => (int)((ColorPatternY8[i] >> 0) & 0xFF);
  629. public int ColorPatternY8Y1(int i) => (int)((ColorPatternY8[i] >> 8) & 0xFF);
  630. public int ColorPatternY8Y2(int i) => (int)((ColorPatternY8[i] >> 16) & 0xFF);
  631. public int ColorPatternY8Y3(int i) => (int)((ColorPatternY8[i] >> 24) & 0xFF);
  632. public uint SetRenderSolidPrimColor0;
  633. public uint SetRenderSolidPrimColor1;
  634. public uint SetRenderSolidPrimColor2;
  635. public uint SetRenderSolidPrimColor3;
  636. public uint SetMmeMemAddressA;
  637. public int SetMmeMemAddressAUpper => (int)((SetMmeMemAddressA >> 0) & 0x1FFFFFF);
  638. public uint SetMmeMemAddressB;
  639. public uint SetMmeDataRamAddress;
  640. public uint MmeDmaRead;
  641. public uint MmeDmaReadFifoed;
  642. public uint MmeDmaWrite;
  643. public uint MmeDmaReduction;
  644. public MmeDmaReductionReductionOp MmeDmaReductionReductionOp => (MmeDmaReductionReductionOp)((MmeDmaReduction >> 0) & 0x7);
  645. public MmeDmaReductionReductionFormat MmeDmaReductionReductionFormat => (MmeDmaReductionReductionFormat)((MmeDmaReduction >> 4) & 0x3);
  646. public MmeDmaReductionReductionSize MmeDmaReductionReductionSize => (MmeDmaReductionReductionSize)((MmeDmaReduction >> 8) & 0x1);
  647. public uint MmeDmaSysmembar;
  648. public bool MmeDmaSysmembarV => (MmeDmaSysmembar & 0x1) != 0;
  649. public uint MmeDmaSync;
  650. public uint SetMmeDataFifoConfig;
  651. public SetMmeDataFifoConfigFifoSize SetMmeDataFifoConfigFifoSize => (SetMmeDataFifoConfigFifoSize)((SetMmeDataFifoConfig >> 0) & 0x7);
  652. public fixed uint Reserved578[2];
  653. public uint RenderSolidPrimMode;
  654. public RenderSolidPrimModeV RenderSolidPrimModeV => (RenderSolidPrimModeV)((RenderSolidPrimMode >> 0) & 0x7);
  655. public uint SetRenderSolidPrimColorFormat;
  656. public SetRenderSolidPrimColorFormatV SetRenderSolidPrimColorFormatV => (SetRenderSolidPrimColorFormatV)((SetRenderSolidPrimColorFormat >> 0) & 0xFF);
  657. public uint SetRenderSolidPrimColor;
  658. public uint SetRenderSolidLineTieBreakBits;
  659. public bool SetRenderSolidLineTieBreakBitsXmajXincYinc => (SetRenderSolidLineTieBreakBits & 0x1) != 0;
  660. public bool SetRenderSolidLineTieBreakBitsXmajXdecYinc => (SetRenderSolidLineTieBreakBits & 0x10) != 0;
  661. public bool SetRenderSolidLineTieBreakBitsYmajXincYinc => (SetRenderSolidLineTieBreakBits & 0x100) != 0;
  662. public bool SetRenderSolidLineTieBreakBitsYmajXdecYinc => (SetRenderSolidLineTieBreakBits & 0x1000) != 0;
  663. public fixed uint Reserved590[20];
  664. public uint RenderSolidPrimPointXY;
  665. public int RenderSolidPrimPointXYX => (int)((RenderSolidPrimPointXY >> 0) & 0xFFFF);
  666. public int RenderSolidPrimPointXYY => (int)((RenderSolidPrimPointXY >> 16) & 0xFFFF);
  667. public fixed uint Reserved5E4[7];
  668. public Array64<RenderSolidPrimPoint> RenderSolidPrimPoint;
  669. public uint SetPixelsFromCpuDataType;
  670. public SetPixelsFromCpuDataTypeV SetPixelsFromCpuDataTypeV => (SetPixelsFromCpuDataTypeV)((SetPixelsFromCpuDataType >> 0) & 0x1);
  671. public uint SetPixelsFromCpuColorFormat;
  672. public SetPixelsFromCpuColorFormatV SetPixelsFromCpuColorFormatV => (SetPixelsFromCpuColorFormatV)((SetPixelsFromCpuColorFormat >> 0) & 0xFF);
  673. public uint SetPixelsFromCpuIndexFormat;
  674. public SetPixelsFromCpuIndexFormatV SetPixelsFromCpuIndexFormatV => (SetPixelsFromCpuIndexFormatV)((SetPixelsFromCpuIndexFormat >> 0) & 0x3);
  675. public uint SetPixelsFromCpuMonoFormat;
  676. public SetPixelsFromCpuMonoFormatV SetPixelsFromCpuMonoFormatV => (SetPixelsFromCpuMonoFormatV)((SetPixelsFromCpuMonoFormat >> 0) & 0x1);
  677. public uint SetPixelsFromCpuWrap;
  678. public SetPixelsFromCpuWrapV SetPixelsFromCpuWrapV => (SetPixelsFromCpuWrapV)((SetPixelsFromCpuWrap >> 0) & 0x3);
  679. public uint SetPixelsFromCpuColor0;
  680. public uint SetPixelsFromCpuColor1;
  681. public uint SetPixelsFromCpuMonoOpacity;
  682. public SetPixelsFromCpuMonoOpacityV SetPixelsFromCpuMonoOpacityV => (SetPixelsFromCpuMonoOpacityV)((SetPixelsFromCpuMonoOpacity >> 0) & 0x1);
  683. public fixed uint Reserved820[6];
  684. public uint SetPixelsFromCpuSrcWidth;
  685. public uint SetPixelsFromCpuSrcHeight;
  686. public uint SetPixelsFromCpuDxDuFrac;
  687. public uint SetPixelsFromCpuDxDuInt;
  688. public uint SetPixelsFromCpuDyDvFrac;
  689. public uint SetPixelsFromCpuDyDvInt;
  690. public uint SetPixelsFromCpuDstX0Frac;
  691. public uint SetPixelsFromCpuDstX0Int;
  692. public uint SetPixelsFromCpuDstY0Frac;
  693. public uint SetPixelsFromCpuDstY0Int;
  694. public uint PixelsFromCpuData;
  695. public fixed uint Reserved864[3];
  696. public uint SetBigEndianControl;
  697. public bool SetBigEndianControlX32Swap1 => (SetBigEndianControl & 0x1) != 0;
  698. public bool SetBigEndianControlX32Swap4 => (SetBigEndianControl & 0x2) != 0;
  699. public bool SetBigEndianControlX32Swap8 => (SetBigEndianControl & 0x4) != 0;
  700. public bool SetBigEndianControlX32Swap16 => (SetBigEndianControl & 0x8) != 0;
  701. public bool SetBigEndianControlX16Swap1 => (SetBigEndianControl & 0x10) != 0;
  702. public bool SetBigEndianControlX16Swap4 => (SetBigEndianControl & 0x20) != 0;
  703. public bool SetBigEndianControlX16Swap8 => (SetBigEndianControl & 0x40) != 0;
  704. public bool SetBigEndianControlX16Swap16 => (SetBigEndianControl & 0x80) != 0;
  705. public bool SetBigEndianControlX8Swap1 => (SetBigEndianControl & 0x100) != 0;
  706. public bool SetBigEndianControlX8Swap4 => (SetBigEndianControl & 0x200) != 0;
  707. public bool SetBigEndianControlX8Swap8 => (SetBigEndianControl & 0x400) != 0;
  708. public bool SetBigEndianControlX8Swap16 => (SetBigEndianControl & 0x800) != 0;
  709. public bool SetBigEndianControlI1X8Cga6Swap1 => (SetBigEndianControl & 0x1000) != 0;
  710. public bool SetBigEndianControlI1X8Cga6Swap4 => (SetBigEndianControl & 0x2000) != 0;
  711. public bool SetBigEndianControlI1X8Cga6Swap8 => (SetBigEndianControl & 0x4000) != 0;
  712. public bool SetBigEndianControlI1X8Cga6Swap16 => (SetBigEndianControl & 0x8000) != 0;
  713. public bool SetBigEndianControlI1X8LeSwap1 => (SetBigEndianControl & 0x10000) != 0;
  714. public bool SetBigEndianControlI1X8LeSwap4 => (SetBigEndianControl & 0x20000) != 0;
  715. public bool SetBigEndianControlI1X8LeSwap8 => (SetBigEndianControl & 0x40000) != 0;
  716. public bool SetBigEndianControlI1X8LeSwap16 => (SetBigEndianControl & 0x80000) != 0;
  717. public bool SetBigEndianControlI4Swap1 => (SetBigEndianControl & 0x100000) != 0;
  718. public bool SetBigEndianControlI4Swap4 => (SetBigEndianControl & 0x200000) != 0;
  719. public bool SetBigEndianControlI4Swap8 => (SetBigEndianControl & 0x400000) != 0;
  720. public bool SetBigEndianControlI4Swap16 => (SetBigEndianControl & 0x800000) != 0;
  721. public bool SetBigEndianControlI8Swap1 => (SetBigEndianControl & 0x1000000) != 0;
  722. public bool SetBigEndianControlI8Swap4 => (SetBigEndianControl & 0x2000000) != 0;
  723. public bool SetBigEndianControlI8Swap8 => (SetBigEndianControl & 0x4000000) != 0;
  724. public bool SetBigEndianControlI8Swap16 => (SetBigEndianControl & 0x8000000) != 0;
  725. public bool SetBigEndianControlOverride => (SetBigEndianControl & 0x10000000) != 0;
  726. public fixed uint Reserved874[3];
  727. public uint SetPixelsFromMemoryBlockShape;
  728. public SetPixelsFromMemoryBlockShapeV SetPixelsFromMemoryBlockShapeV => (SetPixelsFromMemoryBlockShapeV)((SetPixelsFromMemoryBlockShape >> 0) & 0x7);
  729. public uint SetPixelsFromMemoryCorralSize;
  730. public int SetPixelsFromMemoryCorralSizeV => (int)((SetPixelsFromMemoryCorralSize >> 0) & 0x3FF);
  731. public uint SetPixelsFromMemorySafeOverlap;
  732. public bool SetPixelsFromMemorySafeOverlapV => (SetPixelsFromMemorySafeOverlap & 0x1) != 0;
  733. public uint SetPixelsFromMemorySampleMode;
  734. public SetPixelsFromMemorySampleModeOrigin SetPixelsFromMemorySampleModeOrigin => (SetPixelsFromMemorySampleModeOrigin)((SetPixelsFromMemorySampleMode >> 0) & 0x1);
  735. public SetPixelsFromMemorySampleModeFilter SetPixelsFromMemorySampleModeFilter => (SetPixelsFromMemorySampleModeFilter)((SetPixelsFromMemorySampleMode >> 4) & 0x1);
  736. public fixed uint Reserved890[8];
  737. public uint SetPixelsFromMemoryDstX0;
  738. public uint SetPixelsFromMemoryDstY0;
  739. public uint SetPixelsFromMemoryDstWidth;
  740. public uint SetPixelsFromMemoryDstHeight;
  741. public uint SetPixelsFromMemoryDuDxFrac;
  742. public uint SetPixelsFromMemoryDuDxInt;
  743. public uint SetPixelsFromMemoryDvDyFrac;
  744. public uint SetPixelsFromMemoryDvDyInt;
  745. public uint SetPixelsFromMemorySrcX0Frac;
  746. public uint SetPixelsFromMemorySrcX0Int;
  747. public uint SetPixelsFromMemorySrcY0Frac;
  748. public uint PixelsFromMemorySrcY0Int;
  749. public uint SetFalcon00;
  750. public uint SetFalcon01;
  751. public uint SetFalcon02;
  752. public uint SetFalcon03;
  753. public uint SetFalcon04;
  754. public uint SetFalcon05;
  755. public uint SetFalcon06;
  756. public uint SetFalcon07;
  757. public uint SetFalcon08;
  758. public uint SetFalcon09;
  759. public uint SetFalcon10;
  760. public uint SetFalcon11;
  761. public uint SetFalcon12;
  762. public uint SetFalcon13;
  763. public uint SetFalcon14;
  764. public uint SetFalcon15;
  765. public uint SetFalcon16;
  766. public uint SetFalcon17;
  767. public uint SetFalcon18;
  768. public uint SetFalcon19;
  769. public uint SetFalcon20;
  770. public uint SetFalcon21;
  771. public uint SetFalcon22;
  772. public uint SetFalcon23;
  773. public uint SetFalcon24;
  774. public uint SetFalcon25;
  775. public uint SetFalcon26;
  776. public uint SetFalcon27;
  777. public uint SetFalcon28;
  778. public uint SetFalcon29;
  779. public uint SetFalcon30;
  780. public uint SetFalcon31;
  781. public fixed uint Reserved960[291];
  782. public uint MmeDmaWriteMethodBarrier;
  783. public bool MmeDmaWriteMethodBarrierV => (MmeDmaWriteMethodBarrier & 0x1) != 0;
  784. public fixed uint ReservedDF0[2436];
  785. public MmeShadowScratch SetMmeShadowScratch;
  786. #pragma warning restore CS0649
  787. }
  788. }