Home | History | Annotate | Download | only in llvmpipe

Lines Matching refs:layout

84  * Allocate storage for llvmpipe_texture::layout array.
122 /* Row stride and image stride (for linear layout) */
145 /* Size of the image in tiles (for tiled layout) */
166 lpr->layout[level] = alloc_layout_array(num_slices, width, height);
167 if (!lpr->layout[level]) {
187 if (lpr->layout[level]) {
188 FREE(lpr->layout[level]);
216 lpr->layout[0] = alloc_layout_array(1, width, height);
217 if (!lpr->layout[0]) {
265 assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
271 assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
273 assert(lpr->layout[0]);
321 FREE(lpr->layout[0]);
343 /* free layout flag arrays */
345 FREE(lpr->layout[level]);
346 lpr->layout[level] = NULL;
371 enum lp_texture_layout layout)
383 assert(layout == LP_TEX_LAYOUT_NONE ||
384 layout == LP_TEX_LAYOUT_TILED ||
385 layout == LP_TEX_LAYOUT_LINEAR);
411 map2 = llvmpipe_get_texture_image(lpr, 0, 0, tex_usage, layout);
412 if (layout == LP_TEX_LAYOUT_LINEAR)
420 tex_usage, layout);
515 lpr->layout[0] = alloc_layout_array(1, lpr->base.width0, lpr->base.height0);
516 if (!lpr->layout[0]) {
520 assert(lpr->layout[0][0] == LP_TEX_LAYOUT_NONE);
587 * needed post-processing to put them into hardware layout, this is
656 * needed post-processing to put them into hardware layout, this is
792 enum lp_texture_layout layout)
797 assert(layout == LP_TEX_LAYOUT_TILED ||
798 layout == LP_TEX_LAYOUT_LINEAR);
800 if (layout == LP_TEX_LAYOUT_TILED) {
801 /* for tiled layout, force a 32bpp format */
824 enum lp_texture_layout layout)
826 const unsigned buf_size = tex_image_face_size(lpr, level, layout);
833 * how to convert a tile of image data from linear layout to tiled
834 * layout, or vice versa.
835 * \param cur_layout the current tile layout
836 * \param target_layout the desired tile layout
838 * \param new_layout_return returns the new layout mode
897 enum lp_texture_layout layout)
902 if (layout == LP_TEX_LAYOUT_LINEAR) {
906 assert (layout == LP_TEX_LAYOUT_TILED);
911 offset = face_slice * tex_image_face_size(lpr, level, layout);
929 return lpr->layout[level][i];
937 enum lp_texture_layout layout)
944 lpr->layout[level][i] = layout;
949 * Set the layout mode for all tiles in a particular image.
955 enum lp_texture_layout layout)
961 lpr->layout[level][start + i] = layout;
972 enum lp_texture_layout layout)
979 if (layout == LP_TEX_LAYOUT_TILED) {
981 uint buffer_size = tex_image_size(lpr, level, layout);
988 assert(layout == LP_TEX_LAYOUT_LINEAR);
1014 * Return pointer to texture image data (either linear or tiled layout)
1019 * \param layout either LP_TEX_LAYOUT_LINEAR or _TILED or _NONE
1025 enum lp_texture_layout layout)
1029 * tiled or linear layout).
1030 * 'other' refers to the same image but in the other layout. (it may
1044 assert(layout == LP_TEX_LAYOUT_NONE ||
1045 layout == LP_TEX_LAYOUT_TILED ||
1046 layout == LP_TEX_LAYOUT_LINEAR);
1052 /* check for the special case of layout == LP_TEX_LAYOUT_NONE */
1053 if (layout == LP_TEX_LAYOUT_NONE) {
1055 layout = LP_TEX_LAYOUT_TILED;
1066 if (layout == LP_TEX_LAYOUT_LINEAR) {
1082 alloc_image_data(lpr, level, layout);
1089 target_offset = face_slice * tex_image_face_size(lpr, level, layout);
1107 /* may need to convert other data to the requested layout */
1111 /* loop over all image tiles, doing layout conversion where needed */
1118 layout_logic(cur_layout, layout, usage, &new_layout, &convert);
1121 if (layout == LP_TEX_LAYOUT_TILED) {
1130 assert(layout == LP_TEX_LAYOUT_LINEAR);
1149 width_t, height_t, layout);
1159 * layout if needed.
1166 enum lp_texture_layout layout)
1175 map = llvmpipe_get_texture_image(lpr, slice, level, usage, layout);
1184 * is known to be in linear layout.
1215 /* get current tile layout and determine if data conversion is needed */
1266 /* get current tile layout and see if we need to convert the data */