radeonsi: use ac_get_llvm_processor_name
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
@@ -74,7 +74,7 @@ LLVMTargetRef ac_get_llvm_target(const char *triple)
|
|||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *ac_get_llvm_processor_name(enum radeon_family family)
|
const char *ac_get_llvm_processor_name(enum radeon_family family)
|
||||||
{
|
{
|
||||||
switch (family) {
|
switch (family) {
|
||||||
case CHIP_TAHITI:
|
case CHIP_TAHITI:
|
||||||
|
@@ -58,6 +58,8 @@ enum ac_target_machine_options {
|
|||||||
AC_TM_SUPPORTS_SPILL = (1 << 0),
|
AC_TM_SUPPORTS_SPILL = (1 << 0),
|
||||||
AC_TM_SISCHED = (1 << 1),
|
AC_TM_SISCHED = (1 << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char *ac_get_llvm_processor_name(enum radeon_family family);
|
||||||
LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family, enum ac_target_machine_options tm_options);
|
LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family, enum ac_target_machine_options tm_options);
|
||||||
|
|
||||||
LLVMTargetRef ac_get_llvm_target(const char *triple);
|
LLVMTargetRef ac_get_llvm_target(const char *triple);
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
#include "vl/vl_decoder.h"
|
#include "vl/vl_decoder.h"
|
||||||
#include "vl/vl_video_buffer.h"
|
#include "vl/vl_video_buffer.h"
|
||||||
#include "radeon/radeon_video.h"
|
#include "radeon/radeon_video.h"
|
||||||
|
#include "amd/common/ac_llvm_util.h"
|
||||||
#include "amd/common/sid.h"
|
#include "amd/common/sid.h"
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
@@ -996,40 +997,6 @@ static int r600_get_video_param(struct pipe_screen *screen,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *si_get_llvm_processor_name(enum radeon_family family)
|
|
||||||
{
|
|
||||||
switch (family) {
|
|
||||||
case CHIP_TAHITI: return "tahiti";
|
|
||||||
case CHIP_PITCAIRN: return "pitcairn";
|
|
||||||
case CHIP_VERDE: return "verde";
|
|
||||||
case CHIP_OLAND: return "oland";
|
|
||||||
case CHIP_HAINAN: return "hainan";
|
|
||||||
case CHIP_BONAIRE: return "bonaire";
|
|
||||||
case CHIP_KABINI: return "kabini";
|
|
||||||
case CHIP_KAVERI: return "kaveri";
|
|
||||||
case CHIP_HAWAII: return "hawaii";
|
|
||||||
case CHIP_MULLINS:
|
|
||||||
return "mullins";
|
|
||||||
case CHIP_TONGA: return "tonga";
|
|
||||||
case CHIP_ICELAND: return "iceland";
|
|
||||||
case CHIP_CARRIZO: return "carrizo";
|
|
||||||
case CHIP_FIJI:
|
|
||||||
return "fiji";
|
|
||||||
case CHIP_STONEY:
|
|
||||||
return "stoney";
|
|
||||||
case CHIP_POLARIS10:
|
|
||||||
return "polaris10";
|
|
||||||
case CHIP_POLARIS11:
|
|
||||||
case CHIP_POLARIS12: /* same as polaris11 */
|
|
||||||
return "polaris11";
|
|
||||||
case CHIP_VEGA10:
|
|
||||||
case CHIP_RAVEN:
|
|
||||||
return "gfx900";
|
|
||||||
default:
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned get_max_threads_per_block(struct r600_common_screen *screen,
|
static unsigned get_max_threads_per_block(struct r600_common_screen *screen,
|
||||||
enum pipe_shader_ir ir_type)
|
enum pipe_shader_ir ir_type)
|
||||||
{
|
{
|
||||||
@@ -1064,7 +1031,7 @@ static int r600_get_compute_param(struct pipe_screen *screen,
|
|||||||
else
|
else
|
||||||
triple = "amdgcn-mesa-mesa3d";
|
triple = "amdgcn-mesa-mesa3d";
|
||||||
|
|
||||||
gpu = si_get_llvm_processor_name(rscreen->family);
|
gpu = ac_get_llvm_processor_name(rscreen->family);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
sprintf(ret, "%s-%s", gpu, triple);
|
sprintf(ret, "%s-%s", gpu, triple);
|
||||||
}
|
}
|
||||||
|
@@ -717,7 +717,6 @@ void si_screen_clear_buffer(struct r600_common_screen *rscreen, struct pipe_reso
|
|||||||
uint64_t offset, uint64_t size, unsigned value);
|
uint64_t offset, uint64_t size, unsigned value);
|
||||||
struct pipe_resource *si_resource_create_common(struct pipe_screen *screen,
|
struct pipe_resource *si_resource_create_common(struct pipe_screen *screen,
|
||||||
const struct pipe_resource *templ);
|
const struct pipe_resource *templ);
|
||||||
const char *si_get_llvm_processor_name(enum radeon_family family);
|
|
||||||
void si_need_dma_space(struct r600_common_context *ctx, unsigned num_dw,
|
void si_need_dma_space(struct r600_common_context *ctx, unsigned num_dw,
|
||||||
struct r600_resource *dst, struct r600_resource *src);
|
struct r600_resource *dst, struct r600_resource *src);
|
||||||
void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
|
void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
|
||||||
|
@@ -155,7 +155,7 @@ si_create_llvm_target_machine(struct si_screen *sscreen)
|
|||||||
sscreen->b.debug_flags & DBG(SI_SCHED) ? ",+si-scheduler" : "");
|
sscreen->b.debug_flags & DBG(SI_SCHED) ? ",+si-scheduler" : "");
|
||||||
|
|
||||||
return LLVMCreateTargetMachine(ac_get_llvm_target(triple), triple,
|
return LLVMCreateTargetMachine(ac_get_llvm_target(triple), triple,
|
||||||
si_get_llvm_processor_name(sscreen->b.family),
|
ac_get_llvm_processor_name(sscreen->b.family),
|
||||||
features,
|
features,
|
||||||
LLVMCodeGenLevelDefault,
|
LLVMCodeGenLevelDefault,
|
||||||
LLVMRelocDefault,
|
LLVMRelocDefault,
|
||||||
@@ -907,7 +907,7 @@ static void si_handle_env_var_force_family(struct si_screen *sscreen)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = CHIP_TAHITI; i < CHIP_LAST; i++) {
|
for (i = CHIP_TAHITI; i < CHIP_LAST; i++) {
|
||||||
if (!strcmp(family, si_get_llvm_processor_name(i))) {
|
if (!strcmp(family, ac_get_llvm_processor_name(i))) {
|
||||||
/* Override family and chip_class. */
|
/* Override family and chip_class. */
|
||||||
sscreen->b.family = sscreen->b.info.family = i;
|
sscreen->b.family = sscreen->b.info.family = i;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user