i965: Add comment to explain the weird-looking shadow compares.
This always looks crazy when I stumble across it, until I remember what the hardware is doing. Describing it ought to short-circuit that process next time :) V2: Fix indents to 6 spaces, not 7. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
857f3a68ea
commit
26224d3e00
|
@ -40,15 +40,26 @@
|
|||
int
|
||||
intel_translate_shadow_compare_func(GLenum func)
|
||||
{
|
||||
/* GL specifies the result of shadow comparisons as:
|
||||
* 1 if ref <op> texel,
|
||||
* 0 otherwise.
|
||||
*
|
||||
* The hardware does:
|
||||
* 0 if texel <op> ref,
|
||||
* 1 otherwise.
|
||||
*
|
||||
* So, these look a bit strange because there's both a negation
|
||||
* and swapping of the arguments involved.
|
||||
*/
|
||||
switch (func) {
|
||||
case GL_NEVER:
|
||||
return BRW_COMPAREFUNCTION_ALWAYS;
|
||||
return BRW_COMPAREFUNCTION_ALWAYS;
|
||||
case GL_LESS:
|
||||
return BRW_COMPAREFUNCTION_LEQUAL;
|
||||
return BRW_COMPAREFUNCTION_LEQUAL;
|
||||
case GL_LEQUAL:
|
||||
return BRW_COMPAREFUNCTION_LESS;
|
||||
return BRW_COMPAREFUNCTION_LESS;
|
||||
case GL_GREATER:
|
||||
return BRW_COMPAREFUNCTION_GEQUAL;
|
||||
return BRW_COMPAREFUNCTION_GEQUAL;
|
||||
case GL_GEQUAL:
|
||||
return BRW_COMPAREFUNCTION_GREATER;
|
||||
case GL_NOTEQUAL:
|
||||
|
@ -56,7 +67,7 @@ intel_translate_shadow_compare_func(GLenum func)
|
|||
case GL_EQUAL:
|
||||
return BRW_COMPAREFUNCTION_NOTEQUAL;
|
||||
case GL_ALWAYS:
|
||||
return BRW_COMPAREFUNCTION_NEVER;
|
||||
return BRW_COMPAREFUNCTION_NEVER;
|
||||
}
|
||||
|
||||
assert(!"Invalid shadow comparison function.");
|
||||
|
|
Loading…
Reference in New Issue