diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2018-04-06 14:06:24 +0200 |
---|---|---|
committer | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2018-04-09 14:28:13 +0200 |
commit | 2f7bb93146743497a6b9fa703b0135c22af6fe31 (patch) | |
tree | 3a72a01082b07876d73156d470b9c80ef3acde6a | |
parent | b30dec738a66d5427916b56f4428bb3d45dd4756 (diff) |
radv: add radv_get_num_physical_sgprs() helper
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 15 | ||||
-rw-r--r-- | src/amd/vulkan/radv_shader.h | 6 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index f46beab8c1..59ad2f3819 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -597,15 +597,6 @@ radv_get_shader_name(struct radv_shader_variant *var, gl_shader_stage stage) }; } -static uint32_t -get_total_sgprs(struct radv_device *device) -{ - if (device->physical_device->rad_info.chip_class >= VI) - return 800; - else - return 512; -} - static void generate_shader_stats(struct radv_device *device, struct radv_shader_variant *variant, @@ -637,7 +628,9 @@ generate_shader_stats(struct radv_device *device, } if (conf->num_sgprs) - max_simd_waves = MIN2(max_simd_waves, get_total_sgprs(device) / conf->num_sgprs); + max_simd_waves = + MIN2(max_simd_waves, + radv_get_num_physical_sgprs(device->physical_device) / conf->num_sgprs); if (conf->num_vgprs) max_simd_waves = MIN2(max_simd_waves, 256 / conf->num_vgprs); @@ -720,7 +713,7 @@ radv_GetShaderInfoAMD(VkDevice _device, VkShaderStatisticsInfoAMD statistics = {}; statistics.shaderStageMask = shaderStage; statistics.numPhysicalVgprs = 256; - statistics.numPhysicalSgprs = get_total_sgprs(device); + statistics.numPhysicalSgprs = radv_get_num_physical_sgprs(device->physical_device); statistics.numAvailableSgprs = statistics.numPhysicalSgprs; if (stage == MESA_SHADER_COMPUTE) { diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index ae30d6125b..f5c0645b5f 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -362,4 +362,10 @@ static inline unsigned shader_io_get_unique_index(gl_varying_slot slot) unreachable("illegal slot in get unique index\n"); } +static inline uint32_t +radv_get_num_physical_sgprs(struct radv_physical_device *physical_device) +{ + return physical_device->rad_info.chip_class >= VI ? 800 : 512; +} + #endif |