mirror of
https://github.com/azahar-emu/azahar.git
synced 2025-04-28 13:47:59 +03:00
GPU: Implement the remaining depth testing functions.
This commit is contained in:
parent
ad666ac47a
commit
ff83d23ed5
2 changed files with 28 additions and 3 deletions
|
@ -441,18 +441,38 @@ void ProcessTriangle(const VertexShader::OutputVertex& v0,
|
|||
bool pass = false;
|
||||
|
||||
switch (registers.output_merger.depth_test_func) {
|
||||
case registers.output_merger.Never:
|
||||
pass = false;
|
||||
break;
|
||||
|
||||
case registers.output_merger.Always:
|
||||
pass = true;
|
||||
break;
|
||||
|
||||
case registers.output_merger.Equal:
|
||||
pass = z == ref_z;
|
||||
break;
|
||||
|
||||
case registers.output_merger.NotEqual:
|
||||
pass = z != ref_z;
|
||||
break;
|
||||
|
||||
case registers.output_merger.LessThan:
|
||||
pass = z < ref_z;
|
||||
break;
|
||||
|
||||
case registers.output_merger.LessThanOrEqual:
|
||||
pass = z <= ref_z;
|
||||
break;
|
||||
|
||||
case registers.output_merger.GreaterThan:
|
||||
pass = z > ref_z;
|
||||
break;
|
||||
|
||||
case registers.output_merger.GreaterThanOrEqual:
|
||||
pass = z >= ref_z;
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_ERROR(HW_GPU, "Unknown depth test function %x", registers.output_merger.depth_test_func.Value());
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue