Lines Matching refs:surf
1439 struct isl_surf *surf,
1561 *surf = (struct isl_surf) {
1588 isl_surf_get_tile_info(const struct isl_surf *surf,
1591 const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
1592 isl_tiling_get_info(surf->tiling, fmtl->bpb, tile_info);
1597 const struct isl_surf *surf,
1603 assert(surf->msaa_layout == ISL_MSAA_LAYOUT_NONE ||
1604 surf->msaa_layout == ISL_MSAA_LAYOUT_INTERLEAVED);
1661 const unsigned samples = ISL_DEV_GEN(dev) >= 9 ? 1 : surf->samples;
1664 .dim = surf->dim,
1666 .width = surf->logical_level0_px.width,
1667 .height = surf->logical_level0_px.height,
1668 .depth = surf->logical_level0_px.depth,
1669 .levels = surf->levels,
1670 .array_len = surf->logical_level0_px.array_len,
1678 const struct isl_surf *surf,
1684 assert(surf->samples > 1 && surf->msaa_layout == ISL_MSAA_LAYOUT_ARRAY);
1687 assert(surf->dim == ISL_SURF_DIM_2D);
1688 assert(surf->levels == 1);
1689 assert(surf->logical_level0_px.depth == 1);
1698 if (surf->samples == 16 && surf->logical_level0_px.width > 8192)
1702 switch (surf->samples) {
1714 .width = surf->logical_level0_px.width,
1715 .height = surf->logical_level0_px.height,
1718 .array_len = surf->logical_level0_px.array_len,
1726 const struct isl_surf *surf,
1730 assert(surf->samples == 1 && surf->msaa_layout == ISL_MSAA_LAYOUT_NONE);
1733 if (surf->usage & ISL_SURF_USAGE_DISABLE_AUX_BIT)
1740 if (ISL_DEV_GEN(dev) <= 8 && surf->dim != ISL_SURF_DIM_2D)
1757 (surf->levels > 1 || surf->logical_level0_px.array_len > 1))
1760 if (isl_format_is_compressed(surf->format))
1767 if (!isl_tiling_is_any_y(surf->tiling))
1770 switch (isl_format_get_layout(surf->format)->bpb) {
1777 } else if (surf->tiling == ISL_TILING_Y0) {
1778 switch (isl_format_get_layout(surf->format)->bpb) {
1785 } else if (surf->tiling == ISL_TILING_X) {
1786 switch (isl_format_get_layout(surf->format)->bpb) {
1798 .dim = surf->dim,
1800 .width = surf->logical_level0_px.width,
1801 .height = surf->logical_level0_px.height,
1802 .depth = surf->logical_level0_px.depth,
1803 .levels = surf->levels,
1804 .array_len = surf->logical_level0_px.array_len,
1865 if (info->surf->dim == ISL_SURF_DIM_3D) {
1867 info->surf->logical_level0_px.depth);
1870 info->surf->logical_level0_px.array_len);
1932 get_image_offset_sa_gen4_2d(const struct isl_surf *surf,
1937 assert(level < surf->levels);
1938 if (surf->dim == ISL_SURF_DIM_3D)
1939 assert(logical_array_layer < surf->logical_level0_px.depth);
1941 assert(logical_array_layer < surf->logical_level0_px.array_len);
1944 isl_surf_get_image_alignment_sa(surf);
1946 const uint32_t W0 = surf->phys_level0_sa.width;
1947 const uint32_t H0 = surf->phys_level0_sa.height;
1950 (surf->msaa_layout == ISL_MSAA_LAYOUT_ARRAY ? surf->samples : 1);
1953 uint32_t y = phys_layer * isl_surf_get_array_pitch_sa_rows(surf);
1974 get_image_offset_sa_gen4_3d(const struct isl_surf *surf,
1979 assert(level < surf->levels);
1980 if (surf->dim == ISL_SURF_DIM_3D) {
1981 assert(surf->phys_level0_sa.array_len == 1);
1982 assert(logical_z_offset_px < isl_minify(surf->phys_level0_sa.depth, level));
1984 assert(surf->dim == ISL_SURF_DIM_2D);
1985 assert(surf->usage & ISL_SURF_USAGE_CUBE_BIT);
1986 assert(surf->phys_level0_sa.array_len == 6);
1987 assert(logical_z_offset_px < surf->phys_level0_sa.array_len);
1991 isl_surf_get_image_alignment_sa(surf);
1993 const uint32_t W0 = surf->phys_level0_sa.width;
1994 const uint32_t H0 = surf->phys_level0_sa.height;
1995 const uint32_t D0 = surf->phys_level0_sa.depth;
1996 const uint32_t AL = surf->phys_level0_sa.array_len;
2004 isl_align_npot(surf->dim == ISL_SURF_DIM_3D ? isl_minify(D0, l) : AL,
2014 isl_align_npot(surf->dim == ISL_SURF_DIM_3D ? isl_minify(D0, level) : AL,
2027 get_image_offset_sa_gen6_stencil_hiz(const struct isl_surf *surf,
2033 assert(level < surf->levels);
2034 assert(surf->logical_level0_px.depth == 1);
2035 assert(logical_array_layer < surf->logical_level0_px.array_len);
2037 const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
2040 isl_surf_get_image_alignment_sa(surf);
2043 isl_tiling_get_info(surf->tiling, fmtl->bpb, &tile_info);
2052 const uint32_t W0 = surf->phys_level0_sa.w;
2053 const uint32_t H0 = surf->phys_level0_sa.h;
2061 if (surf->phys_level0_sa.array_len > 1)
2062 assert(surf->array_pitch_el_rows == isl_assert_div(H, fmtl->bh));
2069 const uint32_t h = isl_align(H * surf->phys_level0_sa.a,
2090 get_image_offset_sa_gen9_1d(const struct isl_surf *surf,
2095 assert(level < surf->levels);
2096 assert(layer < surf->phys_level0_sa.array_len);
2097 assert(surf->phys_level0_sa.height == 1);
2098 assert(surf->phys_level0_sa.depth == 1);
2099 assert(surf->samples == 1);
2101 const uint32_t W0 = surf->phys_level0_sa.width;
2103 isl_surf_get_image_alignment_sa(surf);
2115 *y_offset_sa = layer * isl_surf_get_array_pitch_sa_rows(surf);
2127 isl_surf_get_image_offset_sa(const struct isl_surf *surf,
2134 assert(level < surf->levels);
2135 assert(logical_array_layer < surf->logical_level0_px.array_len);
2137 < isl_minify(surf->logical_level0_px.depth, level));
2139 switch (surf->dim_layout) {
2141 get_image_offset_sa_gen9_1d(surf, level, logical_array_layer,
2145 get_image_offset_sa_gen4_2d(surf, level, logical_array_layer
2150 get_image_offset_sa_gen4_3d(surf, level, logical_array_layer +
2155 get_image_offset_sa_gen6_stencil_hiz(surf, level, logical_array_layer +
2166 isl_surf_get_image_offset_el(const struct isl_surf *surf,
2173 const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
2175 assert(level < surf->levels);
2176 assert(logical_array_layer < surf->logical_level0_px.array_len);
2178 < isl_minify(surf->logical_level0_px.depth, level));
2181 isl_surf_get_image_offset_sa(surf, level,
2192 isl_surf_get_image_offset_B_tile_sa(const struct isl_surf *surf,
2200 const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
2203 isl_surf_get_image_offset_el(surf, level, logical_array_layer,
2209 isl_tiling_get_intratile_offset_el(surf->tiling, fmtl->bpb,
2210 surf->row_pitch_B,
2232 const struct isl_surf *surf,
2241 isl_surf_get_image_offset_B_tile_sa(surf,
2253 surf->usage & (~ISL_SURF_USAGE_CUBE_BIT);
2258 .format = surf->format,
2259 .width = isl_minify(surf->logical_level0_px.w, level),
2260 .height = isl_minify(surf->logical_level0_px.h, level),
2264 .samples = surf->samples,
2265 .row_pitch_B = surf->row_pitch_B,
2267 .tiling_flags = (1 << surf->tiling));
2322 const struct isl_surf *surf)
2334 bool has_stencil = surf->usage & ISL_SURF_USAGE_STENCIL_BIT;
2336 assert(surf->usage & ISL_SURF_USAGE_DEPTH_BIT);
2341 switch (surf->format) {