Lines Matching refs:args
145 fdl6_texswiz(const struct fdl_view_args *args, bool has_z24uint_s8uint)
148 fdl6_format_swiz(args->format, has_z24uint_s8uint, format_swiz);
151 util_format_compose_swizzles(format_swiz, args->swiz, swiz);
163 const struct fdl_view_args *args, bool has_z24uint_s8uint)
166 uint32_t width = u_minify(layout->width0, args->base_miplevel);
167 uint32_t height = u_minify(layout->height0, args->base_miplevel);
175 util_format_get_blockwidth(args->format) == 1) {
178 util_format_get_blockwidth(args->format) > 1) {
179 width *= util_format_get_blockwidth(args->format);
183 util_format_get_blockheight(args->format) == 1) {
186 util_format_get_blockheight(args->format) > 1) {
187 height *= util_format_get_blockheight(args->format);
190 uint32_t storage_depth = args->layer_count;
191 if (args->type == FDL_VIEW_TYPE_3D) {
192 storage_depth = u_minify(layout->depth0, args->base_miplevel);
196 if (args->type == FDL_VIEW_TYPE_CUBE) {
203 uint64_t base_addr = args->iova +
204 fdl_surface_offset(layout, args->base_miplevel, args->base_array_layer);
205 uint64_t ubwc_addr = args->iova +
206 fdl_ubwc_offset(layout, args->base_miplevel, args->base_array_layer);
208 uint32_t pitch = fdl_pitch(layout, args->base_miplevel);
209 uint32_t ubwc_pitch = fdl_ubwc_pitch(layout, args->base_miplevel);
210 uint32_t layer_size = fdl_layer_stride(layout, args->base_miplevel);
213 fd6_texture_format(args->format, layout->tile_mode);
215 fd6_texture_swap(args->format, layout->tile_mode);
216 enum a6xx_tile_mode tile_mode = fdl_tile_mode(layout, args->base_miplevel);
218 bool ubwc_enabled = fdl_ubwc_enabled(layout, args->base_miplevel);
220 bool is_d24s8 = (args->format == PIPE_FORMAT_Z24_UNORM_S8_UINT ||
221 args->format == PIPE_FORMAT_Z24X8_UNORM ||
222 args->format == PIPE_FORMAT_X24S8_UINT);
224 if (args->format == PIPE_FORMAT_X24S8_UINT && has_z24uint_s8uint) {
240 view->format = args->format;
246 COND(util_format_is_srgb(args->format), A6XX_TEX_CONST_0_SRGB) |
250 fdl6_texswiz(args, has_z24uint_s8uint) |
251 A6XX_TEX_CONST_0_MIPLVLS(args->level_count - 1);
256 A6XX_TEX_CONST_2_TYPE(fdl6_tex_type(args->type, false));
260 view->descriptor[6] = A6XX_TEX_CONST_6_MIN_LOD_CLAMP(args->min_lod_clamp - args->base_miplevel);
265 if (args->format == PIPE_FORMAT_R8_G8B8_420_UNORM ||
266 args->format == PIPE_FORMAT_G8_B8R8_420_UNORM ||
267 args->format == PIPE_FORMAT_G8_B8_R8_420_UNORM) {
269 assert(args->level_count == 1);
270 if (args->chroma_offsets[0] == FDL_CHROMA_LOCATION_MIDPOINT)
272 if (args->chroma_offsets[1] == FDL_CHROMA_LOCATION_MIDPOINT)
281 base_addr[i] = args->iova +
282 fdl_ubwc_offset(layouts[i], args->base_miplevel, args->base_array_layer);
286 base_addr[i] = args->iova +
287 fdl_surface_offset(layouts[i], args->base_miplevel, args->base_array_layer);
294 A6XX_TEX_CONST_6_PLANE_PITCH(fdl_pitch(layouts[1], args->base_miplevel));
300 assert(args->type != FDL_VIEW_TYPE_3D);
318 if (args->type == FDL_VIEW_TYPE_3D) {
325 !util_format_is_pure_integer(args->format) &&
326 !util_format_is_depth_or_stencil(args->format);
333 COND(util_format_is_srgb(args->format), A6XX_SP_PS_2D_SRC_INFO_SRGB) |
350 util_format_description(args->format);
353 A6XX_GRAS_LRZ_DEPTH_VIEW_BASE_LAYER(args->base_array_layer) |
354 A6XX_GRAS_LRZ_DEPTH_VIEW_LAYER_COUNT(args->layer_count) |
355 A6XX_GRAS_LRZ_DEPTH_VIEW_BASE_MIP_LEVEL(args->base_miplevel);
364 fd6_color_format(args->format, layout->tile_mode);
373 fd6_color_swap(args->format, layout->tile_mode);
385 fdl6_texswiz(args, has_z24uint_s8uint) |
391 A6XX_TEX_CONST_2_TYPE(fdl6_tex_type(args->type, true));
401 tile_mode == TILE6_LINEAR && args->base_miplevel != layout->mip_levels - 1;
412 COND(util_format_is_pure_sint(args->format), A6XX_SP_FS_MRT_REG_COLOR_SINT) |
413 COND(util_format_is_pure_uint(args->format), A6XX_SP_FS_MRT_REG_COLOR_UINT);
420 COND(util_format_is_srgb(args->format), A6XX_RB_2D_DST_INFO_SRGB);
436 struct fdl_view_args args = {
447 A6XX_TEX_CONST_0_MIPLVLS(0) | fdl6_texswiz(&args, false) |