mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 06:30:11 +01:00
nir/builder: Don't use designated initializers
Designated initializers are not allowed in C++ (not even C++11). Since nir_lower_samplers is now using nir_builder, and nir_lower_samplers is in C++, this breaks the build on some compilers. Aparently, GCC 5 allows it in some limited extent because mesa still builds on my system without this patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92052 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
d513388c8a
commit
46362db4a6
1 changed files with 18 additions and 3 deletions
|
|
@ -76,21 +76,36 @@ nir_build_imm(nir_builder *build, unsigned num_components, nir_const_value value
|
|||
static inline nir_ssa_def *
|
||||
nir_imm_float(nir_builder *build, float x)
|
||||
{
|
||||
nir_const_value v = { { .f = {x, 0, 0, 0} } };
|
||||
nir_const_value v;
|
||||
|
||||
memset(&v, 0, sizeof(v));
|
||||
v.f[0] = x;
|
||||
|
||||
return nir_build_imm(build, 1, v);
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_imm_vec4(nir_builder *build, float x, float y, float z, float w)
|
||||
{
|
||||
nir_const_value v = { { .f = {x, y, z, w} } };
|
||||
nir_const_value v;
|
||||
|
||||
memset(&v, 0, sizeof(v));
|
||||
v.f[0] = x;
|
||||
v.f[1] = y;
|
||||
v.f[2] = z;
|
||||
v.f[3] = w;
|
||||
|
||||
return nir_build_imm(build, 4, v);
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_imm_int(nir_builder *build, int x)
|
||||
{
|
||||
nir_const_value v = { { .i = {x, 0, 0, 0} } };
|
||||
nir_const_value v;
|
||||
|
||||
memset(&v, 0, sizeof(v));
|
||||
v.i[0] = x;
|
||||
|
||||
return nir_build_imm(build, 1, v);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue