diff options
author | Marek Olšák <[email protected]> | 2014-01-22 02:42:20 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-01-28 01:39:48 +0100 |
commit | 65dc588bfd3b8145131340ffe77f216be58378ac (patch) | |
tree | c11c2fcc69c0f156e93b233d44d01fcf5462dbaa /src/gallium/drivers/r600/r600_pipe.c | |
parent | d41bd71bcfa43b3aad5abbb0da9f716e631042c4 (diff) |
r600g,radeonsi: consolidate get_compute_param
v2: added fprintf to r600_get_llvm_processor_name
Reviewed-by: Michel Dänzer <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 87f3711224c..7df89f6a36c 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -510,167 +510,6 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e return 0; } -const char * r600_llvm_gpu_string(enum radeon_family family) -{ - const char * gpu_family; - - switch (family) { - case CHIP_R600: - case CHIP_RV630: - case CHIP_RV635: - case CHIP_RV670: - gpu_family = "r600"; - break; - case CHIP_RV610: - case CHIP_RV620: - case CHIP_RS780: - case CHIP_RS880: - gpu_family = "rs880"; - break; - case CHIP_RV710: - gpu_family = "rv710"; - break; - case CHIP_RV730: - gpu_family = "rv730"; - break; - case CHIP_RV740: - case CHIP_RV770: - gpu_family = "rv770"; - break; - case CHIP_PALM: - case CHIP_CEDAR: - gpu_family = "cedar"; - break; - case CHIP_SUMO: - case CHIP_SUMO2: - gpu_family = "sumo"; - break; - case CHIP_REDWOOD: - gpu_family = "redwood"; - break; - case CHIP_JUNIPER: - gpu_family = "juniper"; - break; - case CHIP_HEMLOCK: - case CHIP_CYPRESS: - gpu_family = "cypress"; - break; - case CHIP_BARTS: - gpu_family = "barts"; - break; - case CHIP_TURKS: - gpu_family = "turks"; - break; - case CHIP_CAICOS: - gpu_family = "caicos"; - break; - case CHIP_CAYMAN: - case CHIP_ARUBA: - gpu_family = "cayman"; - break; - default: - gpu_family = ""; - fprintf(stderr, "Chip not supported by r600 llvm " - "backend, please file a bug at " PACKAGE_BUGREPORT "\n"); - break; - } - return gpu_family; -} - - -static int r600_get_compute_param(struct pipe_screen *screen, - enum pipe_compute_cap param, - void *ret) -{ - struct r600_screen *rscreen = (struct r600_screen *)screen; - //TODO: select these params by asic - switch (param) { - case PIPE_COMPUTE_CAP_IR_TARGET: { - const char *gpu = r600_llvm_gpu_string(rscreen->b.family); - if (ret) { - sprintf(ret, "%s-r600--", gpu); - } - return (8 + strlen(gpu)) * sizeof(char); - } - case PIPE_COMPUTE_CAP_GRID_DIMENSION: - if (ret) { - uint64_t * grid_dimension = ret; - grid_dimension[0] = 3; - } - return 1 * sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_GRID_SIZE: - if (ret) { - uint64_t * grid_size = ret; - grid_size[0] = 65535; - grid_size[1] = 65535; - grid_size[2] = 1; - } - return 3 * sizeof(uint64_t) ; - - case PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: - if (ret) { - uint64_t * block_size = ret; - block_size[0] = 256; - block_size[1] = 256; - block_size[2] = 256; - } - return 3 * sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK: - if (ret) { - uint64_t * max_threads_per_block = ret; - *max_threads_per_block = 256; - } - return sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_GLOBAL_SIZE: - if (ret) { - uint64_t * max_global_size = ret; - /* XXX: This is what the proprietary driver reports, we - * may want to use a different value. */ - *max_global_size = 201326592; - } - return sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_INPUT_SIZE: - if (ret) { - uint64_t * max_input_size = ret; - *max_input_size = 1024; - } - return sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_LOCAL_SIZE: - if (ret) { - uint64_t * max_local_size = ret; - /* XXX: This is what the proprietary driver reports, we - * may want to use a different value. */ - *max_local_size = 32768; - } - return sizeof(uint64_t); - - case PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE: - if (ret) { - uint64_t max_global_size; - uint64_t * max_mem_alloc_size = ret; - r600_get_compute_param(screen, - PIPE_COMPUTE_CAP_MAX_GLOBAL_SIZE, - &max_global_size); - /* OpenCL requres this value be at least - * max(MAX_GLOBAL_SIZE / 4, 128 * 1024 *1024) - * I'm really not sure what value to report here, but - * MAX_GLOBAL_SIZE / 4 seems resonable. - */ - *max_mem_alloc_size = max_global_size / 4; - } - return sizeof(uint64_t); - - default: - fprintf(stderr, "unknown PIPE_COMPUTE_CAP %d\n", param); - return 0; - } -} - static void r600_destroy_screen(struct pipe_screen* pscreen) { struct r600_screen *rscreen = (struct r600_screen *)pscreen; @@ -721,7 +560,6 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) rscreen->b.b.destroy = r600_destroy_screen; rscreen->b.b.get_param = r600_get_param; rscreen->b.b.get_shader_param = r600_get_shader_param; - rscreen->b.b.get_compute_param = r600_get_compute_param; if (rscreen->b.info.chip_class >= EVERGREEN) { rscreen->b.b.is_format_supported = evergreen_is_format_supported; } else { |