radeonsi/nir: add depth layout to scan pass

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Timothy Arceri 2018-02-09 21:09:35 +11:00
parent 6a8efbe652
commit ce836487b8
1 changed files with 19 additions and 0 deletions

View File

@ -279,6 +279,25 @@ void si_nir_scan_shader(const struct nir_shader *nir,
if (nir->info.stage == MESA_SHADER_FRAGMENT) {
info->properties[TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL] = nir->info.fs.early_fragment_tests;
info->properties[TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE] = nir->info.fs.post_depth_coverage;
if (nir->info.fs.depth_layout != FRAG_DEPTH_LAYOUT_NONE) {
switch (nir->info.fs.depth_layout) {
case FRAG_DEPTH_LAYOUT_ANY:
info->properties[TGSI_PROPERTY_FS_DEPTH_LAYOUT] = TGSI_FS_DEPTH_LAYOUT_ANY;
break;
case FRAG_DEPTH_LAYOUT_GREATER:
info->properties[TGSI_PROPERTY_FS_DEPTH_LAYOUT] = TGSI_FS_DEPTH_LAYOUT_GREATER;
break;
case FRAG_DEPTH_LAYOUT_LESS:
info->properties[TGSI_PROPERTY_FS_DEPTH_LAYOUT] = TGSI_FS_DEPTH_LAYOUT_LESS;
break;
case FRAG_DEPTH_LAYOUT_UNCHANGED:
info->properties[TGSI_PROPERTY_FS_DEPTH_LAYOUT] = TGSI_FS_DEPTH_LAYOUT_UNCHANGED;
break;
default:
unreachable("Unknow depth layout");
}
}
}
if (nir->info.stage == MESA_SHADER_COMPUTE) {