radv: add radv_get_num_physical_sgprs() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset
2018-04-06 14:06:24 +02:00
parent b30dec738a
commit 2f7bb93146
2 changed files with 10 additions and 11 deletions

View File

@@ -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) {