diff options
author | Eric Anholt <eric@anholt.net> | 2017-10-10 13:25:45 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2018-01-12 21:51:40 -0800 |
commit | fb4face86ad9f58ea0410c3633fda211836b7df5 (patch) | |
tree | 0a8eba95afd2bf73bb3757d5e3dc775d92a76d57 | |
parent | 7dedfd9660779c11110aaffdf2a7a85da628ac52 (diff) |
broadcom/vc5: Introduce v3dx_macros.h and v3dx_pack.h headers.
This will be used by vc5 for prefixing functions and including the pack
header in v3d-version-dependent code, following the model of anv.
-rw-r--r-- | src/broadcom/.gitignore | 2 | ||||
-rw-r--r-- | src/broadcom/cle/v3dx_pack.h | 42 | ||||
-rw-r--r-- | src/broadcom/common/v3d_macros.h | 45 |
3 files changed, 88 insertions, 1 deletions
diff --git a/src/broadcom/.gitignore b/src/broadcom/.gitignore index 92edd58f8c..66ab6862cf 100644 --- a/src/broadcom/.gitignore +++ b/src/broadcom/.gitignore @@ -1,3 +1,3 @@ cle/v3d_xml.h -cle/*_pack.h +cle/v3d_packet_v*_pack.h qpu/tests/qpu_disasm diff --git a/src/broadcom/cle/v3dx_pack.h b/src/broadcom/cle/v3dx_pack.h new file mode 100644 index 0000000000..af8ed0881f --- /dev/null +++ b/src/broadcom/cle/v3dx_pack.h @@ -0,0 +1,42 @@ +/* + * Copyright © 2015 Intel Corporation + * Copyright © 2015 Broadcom + * + * 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. + */ + +#ifndef V3DX_PACK_H +#define V3DX_PACK_H + +#ifndef V3D_VERSION +# error "The V3D_VERSION macro must be defined" +#endif + +#if (V3D_VERSION == 21) +# include "cle/v3d_packet_v21_pack.h" +#elif (V3D_VERSION == 33) +# include "cle/v3d_packet_v33_pack.h" +#elif (V3D_VERSION == 41) +# include "cle/v3d_packet_v41_pack.h" +#else +# error "Need to add a pack header include for this v3d version" +#endif + +#endif /* V3DX_PACK_H */ diff --git a/src/broadcom/common/v3d_macros.h b/src/broadcom/common/v3d_macros.h new file mode 100644 index 0000000000..6ba8e7da10 --- /dev/null +++ b/src/broadcom/common/v3d_macros.h @@ -0,0 +1,45 @@ +/* + * Copyright © 2015 Intel Corporation + * Copyright © 2015 Broadcom + * + * 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. + */ + +#ifndef V3DX_MACROS_H +#define V3DX_MACROS_H + +#ifndef V3D_VERSION +# error "The V3D_VERSION macro must be defined" +#endif + +#if (V3D_VERSION == 21) +# define V3DX(x) V3D21_##x +# define v3dX(x) v3d21_##x +#elif (V3D_VERSION == 33) +# define V3DX(x) V3D33_##x +# define v3dX(x) v3d33_##x +#elif (V3D_VERSION == 41) +# define V3DX(x) V3D41_##x +# define v3dX(x) v3d41_##x +#else +# error "Need to add prefixing macros for this v3d version" +#endif + +#endif /* V3DX_MACROS_H */ |