- switch (nr_samples) {
- default:
- case 1:
- radeon_set_context_reg(cs, R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, 0);
- radeon_set_context_reg(cs, R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0, 0);
- radeon_set_context_reg(cs, R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0, 0);
- radeon_set_context_reg(cs, R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0, 0);
- break;
- case 2:
- radeon_set_context_reg(cs, R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, sample_locs_2x);
- radeon_set_context_reg(cs, R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0, sample_locs_2x);
- radeon_set_context_reg(cs, R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0, sample_locs_2x);
- radeon_set_context_reg(cs, R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0, sample_locs_2x);
- break;
- case 4:
- radeon_set_context_reg(cs, R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, sample_locs_4x);
- radeon_set_context_reg(cs, R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0, sample_locs_4x);
- radeon_set_context_reg(cs, R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0, sample_locs_4x);
- radeon_set_context_reg(cs, R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0, sample_locs_4x);
- break;
- case 8:
- radeon_set_context_reg_seq(cs, R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, 14);
- radeon_emit(cs, sample_locs_8x[0]);
- radeon_emit(cs, sample_locs_8x[1]);
- radeon_emit(cs, 0);
- radeon_emit(cs, 0);
- radeon_emit(cs, sample_locs_8x[0]);
- radeon_emit(cs, sample_locs_8x[1]);
- radeon_emit(cs, 0);
- radeon_emit(cs, 0);
- radeon_emit(cs, sample_locs_8x[0]);
- radeon_emit(cs, sample_locs_8x[1]);
- radeon_emit(cs, 0);
- radeon_emit(cs, 0);
- radeon_emit(cs, sample_locs_8x[0]);
- radeon_emit(cs, sample_locs_8x[1]);
- break;
- case 16:
- radeon_set_context_reg_seq(cs, R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, 16);
- radeon_emit(cs, sample_locs_16x[0]);
- radeon_emit(cs, sample_locs_16x[1]);
- radeon_emit(cs, sample_locs_16x[2]);
- radeon_emit(cs, sample_locs_16x[3]);
- radeon_emit(cs, sample_locs_16x[0]);
- radeon_emit(cs, sample_locs_16x[1]);
- radeon_emit(cs, sample_locs_16x[2]);
- radeon_emit(cs, sample_locs_16x[3]);
- radeon_emit(cs, sample_locs_16x[0]);
- radeon_emit(cs, sample_locs_16x[1]);
- radeon_emit(cs, sample_locs_16x[2]);
- radeon_emit(cs, sample_locs_16x[3]);
- radeon_emit(cs, sample_locs_16x[0]);
- radeon_emit(cs, sample_locs_16x[1]);
- radeon_emit(cs, sample_locs_16x[2]);
- radeon_emit(cs, sample_locs_16x[3]);
- break;
- }