border_color_type = 3;
}
- rstate->val[0] = si_tex_wrap(state->wrap_s) |
- si_tex_wrap(state->wrap_t) << 3 |
- si_tex_wrap(state->wrap_r) << 6 |
- (state->max_anisotropy & 0x7) << 9 | /* XXX */
- si_tex_compare(state->compare_func) << 12 |
- !state->normalized_coords << 15 |
- aniso_flag_offset << 16 | /* XXX */
- !state->seamless_cube_map << 28 |
- si_tex_mipfilter(state->min_mip_filter) << 29;
- rstate->val[1] = S_FIXED(CLAMP(state->min_lod, 0, 15), 8) |
- S_FIXED(CLAMP(state->max_lod, 0, 15), 8) << 12;
- rstate->val[2] = S_FIXED(CLAMP(state->lod_bias, -16, 16), 8) |
- si_tex_filter(state->mag_img_filter) << 20 |
- si_tex_filter(state->min_img_filter) << 22;
- rstate->val[3] = border_color_type << 30;
+ rstate->val[0] = (S_008F30_CLAMP_X(si_tex_wrap(state->wrap_s)) |
+ S_008F30_CLAMP_Y(si_tex_wrap(state->wrap_t)) |
+ S_008F30_CLAMP_Z(si_tex_wrap(state->wrap_r)) |
+ (state->max_anisotropy & 0x7) << 9 | /* XXX */
+ S_008F30_DEPTH_COMPARE_FUNC(si_tex_compare(state->compare_func)) |
+ S_008F30_FORCE_UNNORMALIZED(!state->normalized_coords) |
+ aniso_flag_offset << 16 | /* XXX */
+ S_008F30_DISABLE_CUBE_WRAP(!state->seamless_cube_map) |
+ S_008F30_FILTER_MODE(si_tex_mipfilter(state->min_mip_filter)));
+ rstate->val[1] = (S_008F34_MIN_LOD(S_FIXED(CLAMP(state->min_lod, 0, 15), 8)) |
+ S_008F34_MAX_LOD(S_FIXED(CLAMP(state->max_lod, 0, 15), 8)));
+ rstate->val[2] = (S_008F38_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 8)) |
+ S_008F38_XY_MAG_FILTER(si_tex_filter(state->mag_img_filter)) |
+ S_008F38_XY_MIN_FILTER(si_tex_filter(state->min_img_filter)));
+ rstate->val[3] = S_008F3C_BORDER_COLOR_TYPE(border_color_type);
#if 0
if (border_color_type == 3) {