GPU Classes: Difference between revisions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
! Register || Name || Size || Type || Notes | ! Register || Name || Size || Type || Notes | ||
|- | |- | ||
| 0xC9 || | | 0xC9 || TesselationOuterLevels || 4 || float[4] || | ||
|- | |- | ||
| 0xCD || | | 0xCD || TesselationInnerLevels || 2 || float[2] || | ||
|- | |- | ||
| 0xDF || | | 0xDF || RasterizerEnable || 1 || bool || | ||
|- | |- | ||
| 0xE0+8*N || TransformFeedbackBuffer_Enable || 1 || bool || | | 0xE0+8*N || TransformFeedbackBuffer_Enable || 1 || bool || | ||
|- | |- | ||
| 0xE1+8*N || TransformFeedbackBuffer_Addr || 2 || | | 0xE1+8*N || TransformFeedbackBuffer_Addr || 2 || gpuva || | ||
|- | |- | ||
| 0xE3+8*N || TransformFeedbackBuffer_Flags || 1 || || | | 0xE3+8*N || TransformFeedbackBuffer_Flags || 1 || || | ||
|- | |- | ||
| 0x1D1 || | | 0x1D1 || TransformFeedback_Enable || 1 || || | ||
|- | |- | ||
| 0x1FA || | | 0x1FA || ZCullContext_StartAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x1FC || | | 0x1FC || ZCullContext_EndAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x285+8*N || DepthRange_Unk0_N || 1 || || | | 0x285+8*N || DepthRange_Unk0_N || 1 || || ? | ||
|- | |- | ||
| 0x302+4*N || | | 0x302+4*N || DepthRangeNear || 1 || float || | ||
|- | |- | ||
| 0x303+4*N || | | 0x303+4*N || DepthRangeFar || 1 || float || | ||
|- | |- | ||
| 0x36B || | | 0x36B || PolygonModeFront || 1 || bitfield || 0x1B00/0x1B01/0x1B02 | ||
|- | |- | ||
| 0x36C || | | 0x36C || PolygonModeBack || 1 || bitfield || 0x1B00/0x1B01/0x1B02 | ||
|- | |- | ||
| 0x370 || | | 0x370 || PolygonOffsetPointEnable || 1 || bool || | ||
|- | |- | ||
| 0x371 || | | 0x371 || PolygonOffsetLineEnable || 1 || bool || | ||
|- | |- | ||
| 0x372 || | | 0x372 || PolygonOffsetFillEnable || 1 || bool || | ||
|- | |- | ||
| 0x373 || PatchSize || 1 || || Small value, always fits in 12 bits. | | 0x373 || PatchSize || 1 || || Small value, always fits in 12 bits. In number of vertices. | ||
|- | |- | ||
| 0x374 || || 1 || || 0 written here for "simple" BlendState. | | 0x374 || || 1 || || 0 written here for "simple" BlendState. | ||
Line 150: | Line 150: | ||
| 0x546 || PointSize || 1 || float || | | 0x546 || PointSize || 1 || float || | ||
|- | |- | ||
| 0x554 || RendererEnableConditionAddr || 2 || | | 0x554 || RendererEnableConditionAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x556 || RendererEnable || 1 || || 0=disabled unconditional, 1=enabled unconditional, 3=unknown conditional, 4=unknown conditional, | | 0x556 || RendererEnable || 1 || || 0=disabled unconditional, 1=enabled unconditional, 3=unknown conditional, 4=unknown conditional, | ||
Line 184: | Line 184: | ||
| 0x68B || Barrier? || 1 || trigger || Always 0 is written here. During zcull ctx-save, spammed when enabling raster, ... | | 0x68B || Barrier? || 1 || trigger || Always 0 is written here. During zcull ctx-save, spammed when enabling raster, ... | ||
|- | |- | ||
| 0x6C0 || Poke_Addr || 2 || | | 0x6C0 || Poke_Addr || 2 || gpuva || | ||
|- | |- | ||
| 0x6C2 || Poke_WriteVal || 1 || || 0 is written here during most queries. | | 0x6C2 || Poke_WriteVal || 1 || || 0 is written here during most queries. | ||
Line 190: | Line 190: | ||
| 0x6C3 || Poke_Control || 1 || || Big bitfield. After write, the result of query is written to 4 bytes at Poke_Addr. | | 0x6C3 || Poke_Control || 1 || || Big bitfield. After write, the result of query is written to 4 bytes at Poke_Addr. | ||
|- | |- | ||
| 0x701+2*N || VertexBufferStartAddr || 2 || | | 0x701+2*N || VertexBufferStartAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x7C0+2*N || VertexBufferEndAddr || 2 || | | 0x7C0+2*N || VertexBufferEndAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x781+8*N || SimpleBlend0_BlendEquation0 || 1 || bitfield || Bit0-2: BlendEquation0 | | 0x781+8*N || SimpleBlend0_BlendEquation0 || 1 || bitfield || Bit0-2: BlendEquation0 | ||
Line 218: | Line 218: | ||
| 0x8E0 || BindUniformBuffer_Size? || 1 || || BindUniformBuffer writes here. | | 0x8E0 || BindUniformBuffer_Size? || 1 || || BindUniformBuffer writes here. | ||
|- | |- | ||
| 0x8E1 || BindUniformBuffer_Addr || 2 || | | 0x8E1 || BindUniformBuffer_Addr || 2 || gpuva || | ||
|- | |- | ||
| 0x8E3 || BindImage_Config || 1 || || BindImage writes "8*i + 0x120" here. BindSeparateSampler writes "8*i + 0x568" here. BindSeparateTexture uses "8*i + 0x168". BindTexture uses 8*i + 32. | | 0x8E3 || BindImage_Config || 1 || || BindImage writes "8*i + 0x120" here. BindSeparateSampler writes "8*i + 0x568" here. BindSeparateTexture uses "8*i + 0x168". BindTexture uses 8*i + 32. |