mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 18:38:11 +02:00
Add early register descritpion.
This need more work on case where we can disable or enable early (stencil, alpha might need it to be disable).
This commit is contained in:
parent
5cb01764f6
commit
ad3f2107ed
2 changed files with 11 additions and 7 deletions
|
|
@ -1378,6 +1378,10 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
/* 16 bit format or some aditional bit ? */
|
||||
# define R300_DEPTH_FORMAT_UNK32 (32 << 0)
|
||||
|
||||
#define R300_RB3D_EARLY_Z 0x4F14
|
||||
# define R300_EARLY_Z_DISABLE (0 << 0)
|
||||
# define R300_EARLY_Z_ENABLE (1 << 0)
|
||||
|
||||
/* gap */
|
||||
|
||||
#define R300_RB3D_DEPTHOFFSET 0x4F20
|
||||
|
|
|
|||
|
|
@ -328,24 +328,24 @@ static void r300UpdateCulling(GLcontext* ctx)
|
|||
|
||||
static void update_early_z(GLcontext *ctx)
|
||||
{
|
||||
/* updates register 0x4f14
|
||||
if depth test is not enabled it should be 0x00000000
|
||||
if depth is enabled and alpha not it should be 0x00000001
|
||||
if depth and alpha is enabled it should be 0x00000000
|
||||
/* updates register R300_RB3D_EARLY_Z (0x4F14)
|
||||
if depth test is not enabled it should be R300_EARLY_Z_DISABLE
|
||||
if depth is enabled and alpha not it should be R300_EARLY_Z_ENABLE
|
||||
if depth and alpha is enabled it should be R300_EARLY_Z_DISABLE
|
||||
*/
|
||||
r300ContextPtr r300 = R300_CONTEXT(ctx);
|
||||
|
||||
R300_STATECHANGE(r300, unk4F10);
|
||||
if (ctx->Color.AlphaEnabled && ctx->Color.AlphaFunc != GL_ALWAYS)
|
||||
/* disable early Z */
|
||||
r300->hw.unk4F10.cmd[2] = 0x00000000;
|
||||
r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_DISABLE;
|
||||
else {
|
||||
if (ctx->Depth.Test && ctx->Depth.Func != GL_NEVER)
|
||||
/* enable early Z */
|
||||
r300->hw.unk4F10.cmd[2] = 0x00000001;
|
||||
r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_ENABLE;
|
||||
else
|
||||
/* disable early Z */
|
||||
r300->hw.unk4F10.cmd[2] = 0x00000000;
|
||||
r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_DISABLE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue