mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
r600: don't enable depth test if there is no depth buffer
If there is no depth buffer bound to current context don't enable depth test. GL states that if depth test is enabled without depth buffer it's as if depth buffer always pass. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
parent
c37e275e77
commit
eb4dc54788
1 changed files with 4 additions and 1 deletions
|
|
@ -252,12 +252,15 @@ void r700UpdateShaderStates(GLcontext * ctx)
|
|||
|
||||
static void r700SetDepthState(GLcontext * ctx)
|
||||
{
|
||||
struct radeon_renderbuffer *rrb;
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
|
||||
R600_STATECHANGE(context, db);
|
||||
|
||||
if (ctx->Depth.Test)
|
||||
rrb = radeon_get_depthbuffer(&context->radeon);
|
||||
|
||||
if (ctx->Depth.Test && rrb && rrb->bo)
|
||||
{
|
||||
SETbit(r700->DB_DEPTH_CONTROL.u32All, Z_ENABLE_bit);
|
||||
if (ctx->Depth.Mask)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue