intel/isl: Reduce header file duplication
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
611076a41a
commit
2d68d27071
|
@ -37,10 +37,6 @@ __gen_combine_address(void *data, void *loc, uint64_t addr, uint32_t delta)
|
|||
|
||||
#include "isl_priv.h"
|
||||
|
||||
#define __PASTE2(x, y) x ## y
|
||||
#define __PASTE(x, y) __PASTE2(x, y)
|
||||
#define isl_genX(x) __PASTE(isl_, genX(x))
|
||||
|
||||
static const uint32_t isl_to_gen_ds_surftype[] = {
|
||||
#if GEN_GEN >= 9
|
||||
/* From the SKL PRM, "3DSTATE_DEPTH_STENCIL::SurfaceType":
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright © 2017 Intel Corporation
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* NOTE: The header can be included multiple times, from the same file.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Gen-specific function declarations. This header must *not* be included
|
||||
* directly. Instead, it is included multiple times by isl_priv.h
|
||||
*
|
||||
* In this header file, the usual isl_genX() macro is available.
|
||||
*/
|
||||
|
||||
void
|
||||
isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_genX(buffer_fill_state_s)(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
|
@ -158,98 +158,38 @@ isl_extent3d_el_to_sa(enum isl_format fmt, struct isl_extent3d extent_el)
|
|||
};
|
||||
}
|
||||
|
||||
void
|
||||
isl_gen4_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
/* This is useful for adding the isl_prefix to genX functions */
|
||||
#define __PASTE2(x, y) x ## y
|
||||
#define __PASTE(x, y) __PASTE2(x, y)
|
||||
#define isl_genX(x) __PASTE(isl_, genX(x))
|
||||
|
||||
void
|
||||
isl_gen5_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen6_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen7_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen75_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
void
|
||||
isl_gen8_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
void
|
||||
isl_gen9_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen10_surf_fill_state_s(const struct isl_device *dev, void *state,
|
||||
const struct isl_surf_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen4_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen5_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen6_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen7_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen75_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen8_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen9_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen10_buffer_fill_state_s(void *state,
|
||||
const struct isl_buffer_fill_state_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen4_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen5_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen6_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen7_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen75_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen8_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen9_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
|
||||
void
|
||||
isl_gen10_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
|
||||
const struct isl_depth_stencil_hiz_emit_info *restrict info);
|
||||
#ifdef genX
|
||||
# include "isl_genX_priv.h"
|
||||
#else
|
||||
# define genX(x) gen4_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen5_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen6_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen7_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen75_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen8_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen9_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
# define genX(x) gen10_##x
|
||||
# include "isl_genX_priv.h"
|
||||
# undef genX
|
||||
#endif
|
||||
|
||||
#endif /* ISL_PRIV_H */
|
||||
|
|
|
@ -37,10 +37,6 @@ __gen_combine_address(void *data, void *loc, uint64_t addr, uint32_t delta)
|
|||
|
||||
#include "isl_priv.h"
|
||||
|
||||
#define __PASTE2(x, y) x ## y
|
||||
#define __PASTE(x, y) __PASTE2(x, y)
|
||||
#define isl_genX(x) __PASTE(isl_, genX(x))
|
||||
|
||||
#if GEN_GEN >= 8
|
||||
static const uint8_t isl_to_gen_halign[] = {
|
||||
[4] = HALIGN4,
|
||||
|
|
Loading…
Reference in New Issue