浏览代码

r600: fix polygon offset

tags/mesa_7_7_rc1
Alex Deucher 16 年前
父节点
当前提交
368fb578f8
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. 8
    3
      src/mesa/drivers/dri/r600/r700_state.c

+ 8
- 3
src/mesa/drivers/dri/r600/r700_state.c 查看文件

context_t *context = R700_CONTEXT(ctx); context_t *context = R700_CONTEXT(ctx);
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
GLfloat constant = units; GLfloat constant = units;
GLchar depth = 0;

R600_STATECHANGE(context, poly);


switch (ctx->Visual.depthBits) { switch (ctx->Visual.depthBits) {
case 16: case 16:
constant *= 4.0; constant *= 4.0;
depth = -16;
break; break;
case 24: case 24:
constant *= 2.0; constant *= 2.0;
depth = -24;
break; break;
} }


factor *= 12.0; 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_SCALE.f32All = factor;
r700->PA_SU_POLY_OFFSET_FRONT_OFFSET.f32All = constant; r700->PA_SU_POLY_OFFSET_FRONT_OFFSET.f32All = constant;
r700->PA_SU_POLY_OFFSET_BACK_SCALE.f32All = factor; r700->PA_SU_POLY_OFFSET_BACK_SCALE.f32All = factor;

正在加载...
取消
保存