panfrost: Move pan_tiler.c outside of Gallium

The routines in this file may be shared with Vulkan.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-08-19 11:19:15 -07:00
parent 13d07978ff
commit b45eb2775e
6 changed files with 15 additions and 47 deletions

View File

@ -49,7 +49,6 @@ files_panfrost = files(
'pan_scoreboard.c',
'pan_sfbd.c',
'pan_mfbd.c',
'pan_tiler.c',
'pan_varyings.c',
)

View File

@ -50,7 +50,6 @@
#include "pan_blending.h"
#include "pan_blend_shaders.h"
#include "pan_util.h"
#include "pan_tiler.h"
/* Do not actually send anything to the GPU; merely generate the cmdstream as fast as possible. Disables framebuffer writes */
//#define DRY_RUN

View File

@ -1,44 +0,0 @@
/*
* Copyright (C) 2019 Collabora, Ltd.
*
* 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, sublicense,
* 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 NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS 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.
*
* Authors:
* Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
*
*/
#ifndef __PAN_TILER_H__
#define __PAN_TILER_H__
unsigned
panfrost_tiler_header_size(unsigned width, unsigned height, uint8_t mask);
unsigned
panfrost_tiler_body_size(unsigned width, unsigned height, uint8_t mask);
unsigned
panfrost_choose_hierarchy_mask(
unsigned width, unsigned height,
unsigned vertex_count);
#endif

View File

@ -23,6 +23,7 @@ libpanfrost_encoder_files = files(
'pan_encoder.h',
'pan_invocation.c',
'pan_tiler.c',
)
libpanfrost_encoder = static_library(

View File

@ -53,4 +53,17 @@ panfrost_pack_work_groups_fused(
unsigned size_y,
unsigned size_z);
/* Tiler structure size computation */
unsigned
panfrost_tiler_header_size(unsigned width, unsigned height, uint8_t mask);
unsigned
panfrost_tiler_body_size(unsigned width, unsigned height, uint8_t mask);
unsigned
panfrost_choose_hierarchy_mask(
unsigned width, unsigned height,
unsigned vertex_count);
#endif

View File

@ -26,7 +26,7 @@
#include "util/u_math.h"
#include "util/macros.h"
#include "pan_tiler.h"
#include "pan_encoder.h"
/* Mali GPUs are tiled-mode renderers, rather than immediate-mode.
* Conceptually, the screen is divided into 16x16 tiles. Vertex shaders run.