From 2c25d2ea90d635fbe81c5892e684b7a790d5adea Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ant=C3=B3nio=20Monteiro?= Date: Mon, 31 Oct 2022 22:07:26 +0000 Subject: [PATCH] gallium/util: Remove linear class MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: António Monteiro Reviewed-by: Marek Olšák Part-of: --- src/gallium/auxiliary/meson.build | 2 - src/gallium/auxiliary/util/u_linear.c | 101 -------------------------------- src/gallium/auxiliary/util/u_linear.h | 106 ---------------------------------- 3 files changed, 209 deletions(-) delete mode 100644 src/gallium/auxiliary/util/u_linear.c delete mode 100644 src/gallium/auxiliary/util/u_linear.h diff --git a/src/gallium/auxiliary/meson.build b/src/gallium/auxiliary/meson.build index 598e7cf..74b44e0 100644 --- a/src/gallium/auxiliary/meson.build +++ b/src/gallium/auxiliary/meson.build @@ -234,8 +234,6 @@ files_libgallium = files( 'util/u_index_modify.c', 'util/u_index_modify.h', 'util/u_inlines.h', - 'util/u_linear.c', - 'util/u_linear.h', 'util/u_live_shader_cache.c', 'util/u_live_shader_cache.h', 'util/u_log.c', diff --git a/src/gallium/auxiliary/util/u_linear.c b/src/gallium/auxiliary/util/u_linear.c deleted file mode 100644 index eed7df9..0000000 --- a/src/gallium/auxiliary/util/u_linear.c +++ /dev/null @@ -1,101 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -/** - * Functions for converting tiled data to linear and vice versa. - */ - - -#include "util/u_debug.h" -#include "u_linear.h" - -void -pipe_linear_to_tile(size_t src_stride, const void *src_ptr, - struct pipe_tile_info *t, void *dst_ptr) -{ - unsigned x, y, z; - char *ptr; - size_t bytes = t->cols * t->block.size; - char *dst_ptr2 = (char *) dst_ptr; - - assert(pipe_linear_check_tile(t)); - - /* lets write linearly to the tiled buffer */ - for (y = 0; y < t->tiles_y; y++) { - for (x = 0; x < t->tiles_x; x++) { - /* this inner loop could be replace with SSE magic */ - ptr = (char*)src_ptr + src_stride * t->rows * y + bytes * x; - for (z = 0; z < t->rows; z++) { - memcpy(dst_ptr2, ptr, bytes); - dst_ptr2 += bytes; - ptr += src_stride; - } - } - } -} - -void pipe_linear_from_tile(struct pipe_tile_info *t, const void *src_ptr, - size_t dst_stride, void *dst_ptr) -{ - unsigned x, y, z; - char *ptr; - size_t bytes = t->cols * t->block.size; - const char *src_ptr2 = (const char *) src_ptr; - - /* lets read linearly from the tiled buffer */ - for (y = 0; y < t->tiles_y; y++) { - for (x = 0; x < t->tiles_x; x++) { - /* this inner loop could be replace with SSE magic */ - ptr = (char*)dst_ptr + dst_stride * t->rows * y + bytes * x; - for (z = 0; z < t->rows; z++) { - memcpy(ptr, src_ptr2, bytes); - src_ptr2 += bytes; - ptr += dst_stride; - } - } - } -} - -void -pipe_linear_fill_info(struct pipe_tile_info *t, - const struct u_linear_format_block *block, - unsigned tile_width, unsigned tile_height, - unsigned tiles_x, unsigned tiles_y) -{ - t->block = *block; - - t->tile.width = tile_width; - t->tile.height = tile_height; - t->cols = t->tile.width / t->block.width; - t->rows = t->tile.height / t->block.height; - t->tile.size = t->cols * t->rows * t->block.size; - - t->tiles_x = tiles_x; - t->tiles_y = tiles_y; - t->stride = t->cols * t->tiles_x * t->block.size; - t->size = t->tiles_x * t->tiles_y * t->tile.size; -} diff --git a/src/gallium/auxiliary/util/u_linear.h b/src/gallium/auxiliary/util/u_linear.h deleted file mode 100644 index 87e52a3..0000000 --- a/src/gallium/auxiliary/util/u_linear.h +++ /dev/null @@ -1,106 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -/** - * Functions for converting tiled data to linear and vice versa. - */ - - -#ifndef U_LINEAR_H -#define U_LINEAR_H - -#include "pipe/p_compiler.h" -#include "pipe/p_format.h" - -struct u_linear_format_block -{ - /** Block size in bytes */ - unsigned size; - - /** Block width in pixels */ - unsigned width; - - /** Block height in pixels */ - unsigned height; -}; - - -struct pipe_tile_info -{ - unsigned size; - unsigned stride; - - /* The number of tiles */ - unsigned tiles_x; - unsigned tiles_y; - - /* size of each tile expressed in blocks */ - unsigned cols; - unsigned rows; - - /* Describe the tile in pixels */ - struct u_linear_format_block tile; - - /* Describe each block within the tile */ - struct u_linear_format_block block; -}; - -void pipe_linear_to_tile(size_t src_stride, const void *src_ptr, - struct pipe_tile_info *t, void *dst_ptr); - -void pipe_linear_from_tile(struct pipe_tile_info *t, const void *src_ptr, - size_t dst_stride, void *dst_ptr); - -/** - * Convenience function to fillout a pipe_tile_info struct. - * @t info to fill out. - * @block block info about pixel layout - * @tile_width the width of the tile in pixels - * @tile_height the height of the tile in pixels - * @tiles_x number of tiles in x axis - * @tiles_y number of tiles in y axis - */ -void pipe_linear_fill_info(struct pipe_tile_info *t, - const struct u_linear_format_block *block, - unsigned tile_width, unsigned tile_height, - unsigned tiles_x, unsigned tiles_y); - -static inline boolean pipe_linear_check_tile(const struct pipe_tile_info *t) -{ - if (t->tile.size != t->block.size * t->cols * t->rows) - return FALSE; - - if (t->stride != t->block.size * t->cols * t->tiles_x) - return FALSE; - - if (t->size < t->stride * t->rows * t->tiles_y) - return FALSE; - - return TRUE; -} - -#endif /* U_LINEAR_H */ -- 2.7.4