GPU Classes: Difference between revisions
No edit summary |
|||
Line 80: | Line 80: | ||
| 0x3F2 || SampleMask2 || 1 || || | | 0x3F2 || SampleMask2 || 1 || || | ||
|- | |- | ||
| 0x3F5 || Multisample_Related2 || 1 || || | | 0x3F5 || Multisample_Related2 || 1 || || TODO | ||
|- | |- | ||
| 0x3F6 || CoverageModulationEnable || 1 || bool || | | 0x3F6 || CoverageModulationEnable || 1 || bool || | ||
Line 94: | Line 94: | ||
| 0x4B3 || DepthTestEnable || 1 || bool || Enables DepthWriteEnable and DepthFunc. | | 0x4B3 || DepthTestEnable || 1 || bool || Enables DepthWriteEnable and DepthFunc. | ||
|- | |- | ||
| 0x4B8 || Multisample_Config2 || 1 || bool || | | 0x4B8 || Multisample_Config2 || 1 || bool || TODO | ||
|- | |- | ||
| 0x4BA || DepthWriteEnable || 1 || bool || | | 0x4BA || DepthWriteEnable || 1 || bool || | ||
Line 124: | Line 124: | ||
| 0x4C7 || BlendColor || 4 || float[4] || | | 0x4C7 || BlendColor || 4 || float[4] || | ||
|- | |- | ||
| 0x47C || || 1 || || BindProgram writes 0 here sometimes. | | 0x47C || || 1 || trigger || BindProgram writes 0 here sometimes. | ||
|- | |- | ||
| 0x47F || | | 0x47F || DepthBufferResolve || 1 || trigger || 1 is written here to trigger. | ||
|- | |- | ||
| 0x519 || | | 0x519 || ZCullContextSave || 1 || trigger || 0 is written here to trigger ctx-save, uses ZCullContextStartAddr. | ||
|- | |- | ||
| 0x51F || PolygonOffsetClamp0 || 1 || float || | | 0x51F || PolygonOffsetClamp0 || 1 || float || | ||
|- | |- | ||
| 0x540 || | | 0x540 || ZCullContextRestore || 1 || trigger || 0 is written here to trigger ctx-restore, uses ZCullContextStartAddr. | ||
|- | |- | ||
| 0x546 || PointSize || 1 || float || | | 0x546 || PointSize || 1 || float || | ||
|- | |- | ||
| 0x554 || | | 0x554 || RendererConditionAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x556 || | | 0x556 || RendererConditionMode || 1 || || 0=disabled unconditional, 1=enabled unconditional, 3=unknown conditional, 4=unknown conditional, | ||
|- | |- | ||
| 0x54C || | | 0x54C || CounterReset || 1 || || Value written decides which counter to reset. | ||
|- | |- | ||
| 0x54D || MultisampleEnable || 1 || || | | 0x54D || MultisampleEnable || 1 || || | ||
|- | |- | ||
| 0x54F || MultisampleAlphaToCoverageEnable || 1 || bool || | | 0x54F || MultisampleAlphaToCoverageEnable || 1 || bool || TODO: Has more fields? | ||
|- | |- | ||
| 0x55B || | | 0x55B || PolygonOffsetFactor || 1 || float || | ||
|- | |- | ||
| 0x56F || | | 0x56F || PolygonOffsetOffset || 1 || float || Float multiplied by 2 is written here. | ||
|- | |- | ||
| 0x591 || | | 0x591 || PrimitiveRestartEnable || 1 || bool || | ||
|- | |- | ||
| 0x592 || | | 0x592 || PrimitiveRestartIndex || 1 || uint || | ||
|- | |- | ||
| 0x646 || PolygonCullFaceEnable || 1 || bool || | | 0x646 || PolygonCullFaceEnable || 1 || bool || | ||
Line 158: | Line 158: | ||
| 0x647 || PolygonFrontFace || 1 || bitfield || Bit0: Enable. Always ORR'd with 0x9000. | | 0x647 || PolygonFrontFace || 1 || bitfield || Bit0: Enable. Always ORR'd with 0x9000. | ||
|- | |- | ||
| 0x648 || PolygonCullFaceConfig || 1 || bitfield || 0x404/0x405/0x408 | | 0x648 || PolygonCullFaceConfig || 1 || bitfield || TODO: 0x404/0x405/0x408 | ||
|- | |- | ||
| 0x64F || DepthClamp || 1 || || 0x101A is written when enabled, 0x181D when disabled. | | 0x64F || DepthClamp || 1 || || TODO: 0x101A is written when enabled, 0x181D when disabled. | ||
|- | |- | ||
| 0x66F || | | 0x66F || DepthBoundsEnable || 1 || bool || | ||
|- | |- | ||
| 0x671 || | | 0x671 || ColorLogicOpEnable || 1 || bool || Used for all LogicOps except 3. | ||
|- | |- | ||
| 0x672 || | | 0x672 || ColorLogicOpType || 1 || bitfield || Bit0-7: LogicOp, bit8-15: unknown, always 0x15. | ||
|- | |- | ||
| 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 || | | 0x6C0 || QueryAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x6C2 || | | 0x6C2 || QuerySequence || 1 || || 0 is written here during most queries. | ||
|- | |- | ||
| 0x6C3 || | | 0x6C3 || QueryControl || 1 || bitfield || After write, the result of query is written to 4 bytes at QueryAddr. | ||
|- | |- | ||
| 0x701+2*N || VertexBufferStartAddr || 2 || gpuva || | | 0x701+2*N || VertexBufferStartAddr || 2 || gpuva || TODO: Doesn't match nouveau | ||
|- | |- | ||
| 0x7C0+2*N || VertexBufferEndAddr || 2 || gpuva || | | 0x7C0+2*N || VertexBufferEndAddr || 2 || gpuva || |