mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
r600: fix polygon offset
This commit is contained in:
parent
67cad78e08
commit
368fb578f8
1 changed files with 8 additions and 3 deletions
|
|
@ -1130,20 +1130,25 @@ static void r700PolygonOffset(GLcontext * ctx, GLfloat factor, GLfloat units) //
|
|||
context_t *context = R700_CONTEXT(ctx);
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
GLfloat constant = units;
|
||||
GLchar depth = 0;
|
||||
|
||||
R600_STATECHANGE(context, poly);
|
||||
|
||||
switch (ctx->Visual.depthBits) {
|
||||
case 16:
|
||||
constant *= 4.0;
|
||||
depth = -16;
|
||||
break;
|
||||
case 24:
|
||||
constant *= 2.0;
|
||||
depth = -24;
|
||||
break;
|
||||
}
|
||||
|
||||
factor *= 12.0;
|
||||
|
||||
R600_STATECHANGE(context, poly);
|
||||
|
||||
SETfield(r700->PA_SU_POLY_OFFSET_DB_FMT_CNTL.u32All, depth,
|
||||
POLY_OFFSET_NEG_NUM_DB_BITS_shift, POLY_OFFSET_NEG_NUM_DB_BITS_mask);
|
||||
//r700->PA_SU_POLY_OFFSET_CLAMP.f32All = constant; //???
|
||||
r700->PA_SU_POLY_OFFSET_FRONT_SCALE.f32All = factor;
|
||||
r700->PA_SU_POLY_OFFSET_FRONT_OFFSET.f32All = constant;
|
||||
r700->PA_SU_POLY_OFFSET_BACK_SCALE.f32All = factor;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue