Home | History | Annotate | Download | only in a3xx

Lines Matching refs:cso

87 		const struct pipe_sampler_state *cso)
90 unsigned aniso = util_last_bit(MIN2(cso->max_anisotropy >> 1, 8));
97 if (cso->min_mip_filter == PIPE_TEX_MIPFILTER_LINEAR)
100 so->base = *cso;
110 clamp_to_edge = (cso->min_img_filter == PIPE_TEX_FILTER_NEAREST);
112 so->saturate_s = (cso->wrap_s == PIPE_TEX_WRAP_CLAMP);
113 so->saturate_t = (cso->wrap_t == PIPE_TEX_WRAP_CLAMP);
114 so->saturate_r = (cso->wrap_r == PIPE_TEX_WRAP_CLAMP);
119 COND(!cso->normalized_coords, A3XX_TEX_SAMP_0_UNNORM_COORDS) |
120 COND(!cso->seamless_cube_map, A3XX_TEX_SAMP_0_CUBEMAPSEAMLESSFILTOFF) |
122 A3XX_TEX_SAMP_0_XY_MAG(tex_filter(cso->mag_img_filter, aniso)) |
123 A3XX_TEX_SAMP_0_XY_MIN(tex_filter(cso->min_img_filter, aniso)) |
125 A3XX_TEX_SAMP_0_WRAP_S(tex_clamp(cso->wrap_s, clamp_to_edge, &so->needs_border)) |
126 A3XX_TEX_SAMP_0_WRAP_T(tex_clamp(cso->wrap_t, clamp_to_edge, &so->needs_border)) |
127 A3XX_TEX_SAMP_0_WRAP_R(tex_clamp(cso->wrap_r, clamp_to_edge, &so->needs_border));
129 if (cso->compare_mode)
130 so->texsamp0 |= A3XX_TEX_SAMP_0_COMPARE_FUNC(cso->compare_func); /* maps 1:1 */
132 if (cso->min_mip_filter != PIPE_TEX_MIPFILTER_NONE) {
134 A3XX_TEX_SAMP_1_LOD_BIAS(cso->lod_bias) |
135 A3XX_TEX_SAMP_1_MIN_LOD(cso->min_lod) |
136 A3XX_TEX_SAMP_1_MAX_LOD(cso->max_lod);
215 const struct pipe_sampler_view *cso)
225 so->base = *cso;
233 A3XX_TEX_CONST_0_FMT(fd3_pipe2tex(cso->format)) |
234 fd3_tex_swiz(cso->format, cso->swizzle_r, cso->swizzle_g,
235 cso->swizzle_b, cso->swizzle_a);
237 if (prsc->target == PIPE_BUFFER || util_format_is_pure_integer(cso->format))
239 if (util_format_is_srgb(cso->format))
245 A3XX_TEX_CONST_1_FETCHSIZE(fd3_pipe2fetchsize(cso->format)) |
246 A3XX_TEX_CONST_1_WIDTH(cso->u.buf.size / util_format_get_blocksize(cso->format)) |
251 lvl = fd_sampler_first_level(cso);
252 miplevels = fd_sampler_last_level(cso) - lvl;
256 A3XX_TEX_CONST_1_FETCHSIZE(fd3_pipe2fetchsize(cso->format)) |
262 A3XX_TEX_CONST_2_PITCH(fd3_pipe2nblocksx(cso->format, rsc->slices[lvl].pitch) * rsc->cpp);
274 while (lvl < cso->u.tex.last_level && sz2 != rsc->slices[lvl+1].size0)