anv/cmd_buffer: Add an anv_genX_call macro

This is copied and pasted from the similar macro we added to ISL.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
This commit is contained in:
Jason Ekstrand 2017-11-27 08:29:34 -08:00
parent ab7543b13d
commit c180c2c868
1 changed files with 25 additions and 15 deletions

View File

@ -314,24 +314,34 @@ VkResult anv_ResetCommandBuffer(
return anv_cmd_buffer_reset(cmd_buffer);
}
#define anv_genX_call(devinfo, func, ...) \
switch ((devinfo)->gen) { \
case 7: \
if ((devinfo)->is_haswell) { \
gen75_##func(__VA_ARGS__); \
} else { \
gen7_##func(__VA_ARGS__); \
} \
break; \
case 8: \
gen8_##func(__VA_ARGS__); \
break; \
case 9: \
gen9_##func(__VA_ARGS__); \
break; \
case 10: \
gen10_##func(__VA_ARGS__); \
break; \
default: \
assert(!"Unknown hardware generation"); \
}
void
anv_cmd_buffer_emit_state_base_address(struct anv_cmd_buffer *cmd_buffer)
{
switch (cmd_buffer->device->info.gen) {
case 7:
if (cmd_buffer->device->info.is_haswell)
return gen75_cmd_buffer_emit_state_base_address(cmd_buffer);
else
return gen7_cmd_buffer_emit_state_base_address(cmd_buffer);
case 8:
return gen8_cmd_buffer_emit_state_base_address(cmd_buffer);
case 9:
return gen9_cmd_buffer_emit_state_base_address(cmd_buffer);
case 10:
return gen10_cmd_buffer_emit_state_base_address(cmd_buffer);
default:
unreachable("unsupported gen\n");
}
anv_genX_call(&cmd_buffer->device->info,
cmd_buffer_emit_state_base_address,
cmd_buffer);
}
void anv_CmdBindPipeline(