[Mesa-dev] [PATCH 03/13] isl: Don't use designated initializers in the header
Jason Ekstrand
jason at jlekstrand.net
Sat Apr 16 19:45:11 UTC 2016
C++ doesn't support designated initializers and g++ in particular doesn't
handle them when the struct gets complicated, i.e. has a union.
---
src/intel/isl/isl.h | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index 33d43d7..c3a1106 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -988,25 +988,35 @@ isl_surf_info_is_z32_float(const struct isl_surf_init_info *info)
static inline struct isl_extent2d
isl_extent2d(uint32_t width, uint32_t height)
{
- return (struct isl_extent2d) { .w = width, .h = height };
+ struct isl_extent2d e = {
+ { width, },
+ { height, },
+ };
+ return e;
}
static inline struct isl_extent3d
isl_extent3d(uint32_t width, uint32_t height, uint32_t depth)
{
- return (struct isl_extent3d) { .w = width, .h = height, .d = depth };
+ struct isl_extent3d e = {
+ { width, },
+ { height, },
+ { depth, },
+ };
+ return e;
}
static inline struct isl_extent4d
isl_extent4d(uint32_t width, uint32_t height, uint32_t depth,
uint32_t array_len)
{
- return (struct isl_extent4d) {
- .w = width,
- .h = height,
- .d = depth,
- .a = array_len,
+ struct isl_extent4d e = {
+ { width, },
+ { height, },
+ { depth, },
+ { array_len, },
};
+ return e;
}
#define isl_surf_init(dev, surf, ...) \
@@ -1070,11 +1080,9 @@ isl_surf_get_image_alignment_sa(const struct isl_surf *surf)
{
const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
- return (struct isl_extent3d) {
- .w = fmtl->bw * surf->image_alignment_el.w,
- .h = fmtl->bh * surf->image_alignment_el.h,
- .d = fmtl->bd * surf->image_alignment_el.d,
- };
+ return isl_extent3d(fmtl->bw * surf->image_alignment_el.w,
+ fmtl->bh * surf->image_alignment_el.h,
+ fmtl->bd * surf->image_alignment_el.d);
}
/**
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list