GPU Classes: Difference between revisions
No edit summary |
old stuff |
||
Line 19: | Line 19: | ||
|- | |- | ||
| 0x49 || ClearColorStateMachine? || 1 || uint || 1=Normal, 2=LoadColors?, 3=StoreColors? | | 0x49 || ClearColorStateMachine? || 1 || uint || 1=Normal, 2=LoadColors?, 3=StoreColors? | ||
|- | |||
| 0xBA || || 1 || || SetRenderTargets writes 1/0 here an optional buffer != NULL, and depending on type. | |||
|- | |||
| 0xBE || || 1 || pipe || SetRenderTargets writes here repeatedly 16 times, if an optional buffer != NULL and is a given type. | |||
|- | |||
| 0xBF || || 1 || bool || SetRenderTargets writes 1 here after 0xBE has been written 16 times, and 0xDC been written. | |||
|- | |- | ||
| 0xC9 || TesselationOuterLevels || 4 || float[4] || | | 0xC9 || TesselationOuterLevels || 4 || float[4] || | ||
|- | |- | ||
| 0xCD || TesselationInnerLevels || 2 || float[2] || | | 0xCD || TesselationInnerLevels || 2 || float[2] || | ||
|- | |||
| 0xDC || || 1 || bool || SetRenderTargets writes 1 here, if an optional buffer != NULL and is a given type. | |||
|- | |- | ||
| 0xDF || RasterizerEnable || 1 || bool || | | 0xDF || RasterizerEnable || 1 || bool || | ||
Line 35: | Line 43: | ||
|- | |- | ||
| 0x1D3 || || 1 || || GpuInit writes 0x3f here. | | 0x1D3 || || 1 || || GpuInit writes 0x3f here. | ||
|- | |||
| 0x1F0 || || 1 || || SetRenderTargets optionally uses this. | |||
|- | |||
| 0x1F1 || || 1 || || SetRenderTargets optionally uses this. | |||
|- | |||
| 0x1F2 || || 1 || || SetRenderTargets optionally uses this. | |||
|- | |||
| 0x1F3 || || 1 || || SetRenderTargets optionally writes 0 here. | |||
|- | |||
| 0x1F8 || || 1 || || SetRenderTargets optionally uses this. | |||
|- | |||
| 0x1F9 || || 1 || || SetRenderTargets optionally uses this. | |||
|- | |- | ||
| 0x1FA || ZCullContextStartAddr || 2 || gpuva || | | 0x1FA || ZCullContextStartAddr || 2 || gpuva || | ||
|- | |- | ||
| 0x1FC || ZCullContextEndAddr || 2 || gpuva || | | 0x1FC || ZCullContextEndAddr || 2 || gpuva || | ||
|- | |||
| 0x200+16*N || RenderTargetNAddr || 2 || gpuva || | |||
|- | |||
| 0x202+16*N || RenderTargetNHorizontal || 1 || || | |||
|- | |||
| 0x203+16*N || RenderTargetNVertical || 1 || || | |||
|- | |||
| 0x204+16*N || RenderTargetNFormat || 1 || || | |||
|- | |||
| 0x205+16*N || RenderTargetNTileMode || 1 || || | |||
|- | |||
| 0x206+16*N || RenderTargetNArrayMode || 1 || || | |||
|- | |||
| 0x207+16*N || RenderTargetNLayerStride || 1 || || | |||
|- | |||
| 0x208+16*N || RenderTargetNBaseLayer || 1 || || | |||
|- | |- | ||
| 0x280+8*N || ViewportNScaleX || 1 || float || | | 0x280+8*N || ViewportNScaleX || 1 || float || | ||
Line 125: | Line 161: | ||
|- | |- | ||
| 0x3F6 || CoverageModulationEnable || 1 || bool || | | 0x3F6 || CoverageModulationEnable || 1 || bool || | ||
|- | |||
| 0x3F8 || Unknown?Addr || 2 || gpuva || SetRenderTargets writes the address of an optional buffer here. | |||
|- | |||
| 0x3FA || Unknown?TileMode || 1 || || SetRenderTargets writes here optionally. | |||
|- | |||
| 0x3FB || Unknown?ArrayMode || 1 || || SetRenderTargets writes here optionally. | |||
|- | |||
| 0x3FC || Unknown?BaseLayer || 1 || || SetRenderTargets writes here optionally. | |||
|- | |||
| 0x3FD || || 1 || bitfield?[2] || SetRenderTargets writes here | |||
|- | |- | ||
| 0x40C || CoverageModulationTable || 4 || float[4] || | | 0x40C || CoverageModulationTable || 4 || float[4] || | ||
Line 155: | Line 201: | ||
|- | |- | ||
| 0x47E || MultisampleCoverageToColor || 1 || bitfield || Bit0: Enable, bit4-6: ? | | 0x47E || MultisampleCoverageToColor || 1 || bitfield || Bit0: Enable, bit4-6: ? | ||
|- | |||
| 0x487 || RenderTargetControl || 1 || bitfield || Bit0-3: NumberOfRenderTargets, bunch of other flags. Used by SetRenderTargets. | |||
|- | |||
| 0x48A || || 1 || || Optionally used by SetRenderTargets. | |||
|- | |||
| 0x48B || || 1 || || Optionally used by SetRenderTargets. | |||
|- | |||
| 0x48C || || 1 || || Optionally used by SetRenderTargets. | |||
|- | |- | ||
| 0x4B3 || DepthTestEnable || 1 || bool || Enables DepthWriteEnable and DepthFunc. | | 0x4B3 || DepthTestEnable || 1 || bool || Enables DepthWriteEnable and DepthFunc. | ||
Line 195: | Line 249: | ||
|- | |- | ||
| 0x546 || PointSize || 1 || float || | | 0x546 || PointSize || 1 || float || | ||
|- | |- | ||
| 0x54C || CounterReset || 1 || || Value written decides which counter to reset. | | 0x54C || CounterReset || 1 || || Value written decides which counter to reset. | ||
|- | |- | ||
| 0x54D || MultisampleEnable || 1 || || | | 0x54D || MultisampleEnable || 1 || || | ||
|- | |||
| 0x54E || || 1 || bool || SetRenderTargets writes 0 here if an optional buffer is NULL. | |||
|- | |- | ||
| 0x54F || MultisampleControl || 1 || bool || bit0: AlphaToCoverageEnable, bit1+: ? | | 0x54F || MultisampleControl || 1 || bool || bit0: AlphaToCoverageEnable, bit1+: ? | ||
|- | |||
| 0x554 || RendererConditionAddr || 2 || gpuva || | |||
|- | |||
| 0x556 || RendererConditionMode || 1 || || 0=disabled unconditional, 1=enabled unconditional, 3=unknown conditional, 4=unknown conditional, | |||
|- | |- | ||
| 0x55B || PolygonOffsetFactor || 1 || float || | | 0x55B || PolygonOffsetFactor || 1 || float || | ||
|- | |- | ||
| | | 0x56D || CsaaEnable || 1 || bool || | ||
|- | |- | ||
| 0x56F || PolygonOffsetOffset || 1 || float || Float multiplied by 2 is written here. | | 0x56F || PolygonOffsetOffset || 1 || float || Float multiplied by 2 is written here. | ||
|- | |- | ||
| 0x574 || MultisampleMode || 1 || || | | 0x574 || MultisampleMode || 1 || || Written by SetRenderTargets, possible values: 0, 2, 4, 5, 6. | ||
|- | |||
| 0x57F || || 1 || || SetRenderTargets optionally writes 0 here. | |||
|- | |||
| 0x580 || || 1 || || SetRenderTargets optionally writes 0 here. | |||
|- | |- | ||
| 0x591 || PrimitiveRestartEnable || 1 || bool || | | 0x591 || PrimitiveRestartEnable || 1 || bool || | ||
Line 303: | Line 363: | ||
|- | |- | ||
| 0xD1E || || 1 || || BindProgram writes 0 here, trigger? | | 0xD1E || || 1 || || BindProgram writes 0 here, trigger? | ||
|- | |||
| 0xD28 || || 1 || || SetRenderTargets writes 0 here if an optional buffer is NULL. | |||
|- | |||
| 0xD29 || || 1 || || SetRenderTargets writes 0xFFFFFFFF here if an optional buffer != NULL, and of a certain type. | |||
|- | |- | ||
| 0xD34 || || 1 || || Used by SetConservativeRasterDilate. | | 0xD34 || || 1 || || Used by SetConservativeRasterDilate. | ||
Line 311: | Line 375: | ||
|- | |- | ||
| 0xE02 || ClearColorConfig? || 1 || bitfield || Bit2-5: ?, bit6-9: ? | | 0xE02 || ClearColorConfig? || 1 || bitfield || Bit2-5: ?, bit6-9: ? | ||
|- | |||
| 0xE06 || || 1 || bitfield || Written by SetRenderTargets if optional buffer is given but not of a given type. | |||
|- | |- | ||
| 0xE0A || || 1 || || Used by SetConservativeRasterDilate. | | 0xE0A || || 1 || || Used by SetConservativeRasterDilate. | ||
Line 373: | Line 439: | ||
|} | |} | ||
TODO: | TODO: TiledDownSample, Copy*, Dispatch*, Downsample, DrawTexture/DrawTransformFeedback, Bind* | ||
= DMA = | = DMA = |