r300g: enable AA optimizations for the RGBA16F format
This commit is contained in:
parent
6f6112a2b9
commit
b7cb655298
|
@ -427,6 +427,11 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state)
|
||||||
OUT_CS_REG(R300_RB3D_CMASK_OFFSET0, 0);
|
OUT_CS_REG(R300_RB3D_CMASK_OFFSET0, 0);
|
||||||
OUT_CS_REG(R300_RB3D_CMASK_PITCH0, surf->pitch_cmask);
|
OUT_CS_REG(R300_RB3D_CMASK_PITCH0, surf->pitch_cmask);
|
||||||
OUT_CS_REG(R300_RB3D_COLOR_CLEAR_VALUE, r300->color_clear_value);
|
OUT_CS_REG(R300_RB3D_COLOR_CLEAR_VALUE, r300->color_clear_value);
|
||||||
|
if (r300->screen->caps.is_r500 && r300->screen->info.drm_minor >= 29) {
|
||||||
|
OUT_CS_REG_SEQ(R500_RB3D_COLOR_CLEAR_VALUE_AR, 2);
|
||||||
|
OUT_CS(r300->color_clear_value_ar);
|
||||||
|
OUT_CS(r300->color_clear_value_gb);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -827,6 +827,9 @@ void r300_mark_fb_state_dirty(struct r300_context *r300,
|
||||||
|
|
||||||
if (r300->cmask_in_use) {
|
if (r300->cmask_in_use) {
|
||||||
r300->fb_state.size += 6;
|
r300->fb_state.size += 6;
|
||||||
|
if (r300->screen->caps.is_r500 && r300->screen->info.drm_minor >= 29) {
|
||||||
|
r300->fb_state.size += 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The size of the rest of atoms stays the same. */
|
/* The size of the rest of atoms stays the same. */
|
||||||
|
|
|
@ -423,7 +423,9 @@ static void r300_setup_cmask_properties(struct r300_screen *screen,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tex->b.b.format == PIPE_FORMAT_R16G16B16A16_FLOAT) {
|
/* FP16 AA needs R500 and a fairly new DRM. */
|
||||||
|
if (tex->b.b.format == PIPE_FORMAT_R16G16B16A16_FLOAT &&
|
||||||
|
(!screen->caps.is_r500 || screen->info.drm_minor < 29)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue