GPU/Internal Registers: Difference between revisions
Steveice10 (talk | contribs)  | 
				Steveice10 (talk | contribs)  | 
				||
| Line 5,350: | Line 5,350: | ||
== Framebuffer registers ==  | == Framebuffer registers ==  | ||
=== GPUREG_COLOR_OPERATION ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0-1  | |||
| Fragment operation mode  | |||
|-  | |||
| 8  | |||
| Blend mode  | |||
|-  | |||
| 16-23  | |||
| 0xE4  | |||
|}  | |||
Fragment operation mode values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Default  | |||
|-  | |||
| 1  | |||
| Gas  | |||
|-  | |||
| 3  | |||
| Shadow  | |||
|}  | |||
Blend mode values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Logic op  | |||
|-  | |||
| 1  | |||
| Blend  | |||
|}  | |||
=== GPUREG_BLEND_FUNC ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0-2  | |||
| RGB equation  | |||
|-  | |||
| 8-10  | |||
| Alpha equation  | |||
|-  | |||
| 16-19  | |||
| RGB source function  | |||
|-  | |||
| 20-23  | |||
| RGB destination function  | |||
|-  | |||
| 24-27  | |||
| Alpha source function  | |||
|-  | |||
| 28-31  | |||
| Alpha destination function  | |||
|}  | |||
Equation values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Add  | |||
|-  | |||
| 1  | |||
| Subtract  | |||
|-  | |||
| 2  | |||
| Reverse subtract  | |||
|-  | |||
| 3  | |||
| Minimum  | |||
|-  | |||
| 4  | |||
| Maximum  | |||
|}  | |||
Function values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Zero  | |||
|-  | |||
| 1  | |||
| One  | |||
|-  | |||
| 2  | |||
| Source color  | |||
|-  | |||
| 3  | |||
| One minus source color  | |||
|-  | |||
| 4  | |||
| Destination color  | |||
|-  | |||
| 5  | |||
| One minus destination color  | |||
|-  | |||
| 6  | |||
| Source alpha  | |||
|-  | |||
| 7  | |||
| One minus source alpha  | |||
|-  | |||
| 8  | |||
| Destination alpha  | |||
|-  | |||
| 9  | |||
| One minus destination alpha  | |||
|-  | |||
| 10  | |||
| Constant color  | |||
|-  | |||
| 11  | |||
| One minus constant color  | |||
|-  | |||
| 12  | |||
| Constant alpha  | |||
|-  | |||
| 13  | |||
| One minus constant alpha  | |||
|-  | |||
| 14  | |||
| Source alpha saturate  | |||
|}  | |||
=== GPUREG_LOGIC_OP ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0-3  | |||
| Logic op  | |||
|}  | |||
Logic op values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Clear  | |||
|-  | |||
| 1  | |||
| AND  | |||
|-  | |||
| 2  | |||
| Reverse AND  | |||
|-  | |||
| 3  | |||
| Copy  | |||
|-  | |||
| 4  | |||
| Set  | |||
|-  | |||
| 5  | |||
| Inverted copy  | |||
|-  | |||
| 6  | |||
| Noop  | |||
|-  | |||
| 7  | |||
| Invert  | |||
|-  | |||
| 8  | |||
| NAND  | |||
|-  | |||
| 9  | |||
| OR  | |||
|-  | |||
| 10  | |||
| NOR  | |||
|-  | |||
| 11  | |||
| XOR  | |||
|-  | |||
| 12  | |||
| Equivalent  | |||
|-  | |||
| 13  | |||
| Inverted AND  | |||
|-  | |||
| 14  | |||
| Reverse OR  | |||
|-  | |||
| 15  | |||
| Inverted OR  | |||
|}  | |||
=== 	GPUREG_BLEND_COLOR ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0-7  | |||
| Red  | |||
|-  | |||
| 8-15  | |||
| Green  | |||
|-  | |||
| 16-23  | |||
| Blue  | |||
|-  | |||
| 24-31  | |||
| Alpha  | |||
|}  | |||
=== 	GPUREG_FRAGOP_ALPHA_TEST ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 4-6  | |||
| Function  | |||
|-  | |||
| 8-15  | |||
| Reference value  | |||
|}  | |||
Function values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Never  | |||
|-  | |||
| 1  | |||
| Always  | |||
|-  | |||
| 2  | |||
| Equal  | |||
|-  | |||
| 3  | |||
| Not equal  | |||
|-  | |||
| 4  | |||
| Less than  | |||
|-  | |||
| 5  | |||
| Less than or equal  | |||
|-  | |||
| 6  | |||
| Greater than  | |||
|-  | |||
| 7  | |||
| Greater than or equal  | |||
|}  | |||
=== 	GPUREG_STENCIL_TEST ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 4-6  | |||
| Function  | |||
|-  | |||
| 8-15  | |||
| Buffer mask  | |||
|-  | |||
| 16-23  | |||
| Reference value  | |||
|-  | |||
| 24-31  | |||
| Mask  | |||
|}  | |||
Function values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Never  | |||
|-  | |||
| 1  | |||
| Always  | |||
|-  | |||
| 2  | |||
| Equal  | |||
|-  | |||
| 3  | |||
| Not equal  | |||
|-  | |||
| 4  | |||
| Less than  | |||
|-  | |||
| 5  | |||
| Less than or equal  | |||
|-  | |||
| 6  | |||
| Greater than  | |||
|-  | |||
| 7  | |||
| Greater than or equal  | |||
|}  | |||
=== 	GPUREG_STENCIL_OP ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0-2  | |||
| Fail operation  | |||
|-  | |||
| 4-6  | |||
| Z-fail operation  | |||
|-  | |||
| 8-10  | |||
| Z-pass operation  | |||
|}  | |||
Operation values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Keep  | |||
|-  | |||
| 1  | |||
| Zero  | |||
|-  | |||
| 2  | |||
| Replace  | |||
|-  | |||
| 3  | |||
| Increment  | |||
|-  | |||
| 4  | |||
| Decrement  | |||
|-  | |||
| 5  | |||
| Invert  | |||
|-  | |||
| 6  | |||
| Increment and wrap  | |||
|-  | |||
| 7  | |||
| Decrement and wrap  | |||
|}  | |||
=== 	GPUREG_DEPTH_COLOR_MASK ===  | |||
{| class="wikitable" border="1"  | |||
! Bits  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Depth test enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 4-6  | |||
| Depth function  | |||
|-  | |||
| 8  | |||
| Red write enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 9  | |||
| Green write enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 10  | |||
| Blue write enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 11  | |||
| Alpha write enabled (0 = disabled, 1 = enabled)  | |||
|-  | |||
| 12  | |||
| Depth write enabled (0 = disabled, 1 = enabled)  | |||
|}  | |||
Depth function values:  | |||
{| class="wikitable" border="1"  | |||
! Value  | |||
! Description  | |||
|-  | |||
| 0  | |||
| Never  | |||
|-  | |||
| 1  | |||
| Always  | |||
|-  | |||
| 2  | |||
| Equal  | |||
|-  | |||
| 3  | |||
| Not equal  | |||
|-  | |||
| 4  | |||
| Less than  | |||
|-  | |||
| 5  | |||
| Less than or equal  | |||
|-  | |||
| 6  | |||
| Greater than  | |||
|-  | |||
| 7  | |||
| Greater than or equal  | |||
|}  | |||
=== GPUREG_FRAMEBUFFER_INVALIDATE ===  | === GPUREG_FRAMEBUFFER_INVALIDATE ===  | ||