aco: do not use designated initializers

Designated initializers are a C++20 feature, but we don't use C++20. In
fact, enabling C++20 for ACO triggers new compiler errors due to some
equality semantics details.

So let's instead stop using designated initializers here.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706>
This commit is contained in:
Erik Faye-Lund 2022-04-04 10:54:07 +02:00 committed by Marge Bot
parent dcd81d2d80
commit 28dbabec8e

View file

@ -37,40 +37,40 @@ is_atomic = "".join([opcodes[name].is_atomic for name in reversed(opcode_names)]
%>
extern const aco::Info instr_info = {
.opcode_gfx7 = {
{
% for name in opcode_names:
${opcodes[name].opcode_gfx7},
% endfor
},
.opcode_gfx9 = {
{
% for name in opcode_names:
${opcodes[name].opcode_gfx9},
% endfor
},
.opcode_gfx10 = {
{
% for name in opcode_names:
${opcodes[name].opcode_gfx10},
% endfor
},
.can_use_input_modifiers = std::bitset<${len(opcode_names)}>("${can_use_input_modifiers}"),
.can_use_output_modifiers = std::bitset<${len(opcode_names)}>("${can_use_output_modifiers}"),
.is_atomic = std::bitset<${len(opcode_names)}>("${is_atomic}"),
.name = {
std::bitset<${len(opcode_names)}>("${can_use_input_modifiers}"),
std::bitset<${len(opcode_names)}>("${can_use_output_modifiers}"),
std::bitset<${len(opcode_names)}>("${is_atomic}"),
{
% for name in opcode_names:
"${name}",
% endfor
},
.format = {
{
% for name in opcode_names:
aco::Format::${str(opcodes[name].format.name)},
% endfor
},
.operand_size = {
{
% for name in opcode_names:
${opcodes[name].operand_size},
% endfor
},
.classes = {
{
% for name in opcode_names:
(instr_class)${opcodes[name].cls.value},
% endfor