From 36c22b5dfbe365dbfcd26b2ded83f96c261e1024 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2022 12:42:16 -0600 Subject: [PATCH] llvmpipe: minor code re-org in lp_state_fs_analysis.c And add comments. Signed-off-by: Brian Paul Reviewed-by: Roland Scheidegger Part-of: --- .../drivers/llvmpipe/lp_state_fs_analysis.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs_analysis.c b/src/gallium/drivers/llvmpipe/lp_state_fs_analysis.c index 6bf36bc347c..c36fe3c2385 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs_analysis.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs_analysis.c @@ -311,11 +311,13 @@ llvmpipe_nir_is_linear_compat(struct nir_shader *shader, } +/* + * Analyze the given NIR fragment shader and set its shader->kind field + * to LP_FS_KIND_x. + */ void llvmpipe_fs_analyse_nir(struct lp_fragment_shader *shader) { - shader->kind = LP_FS_KIND_GENERAL; - if (shader->info.base.num_inputs <= LP_MAX_LINEAR_INPUTS && shader->info.base.num_outputs == 1 && !shader->info.indirect_textures && @@ -324,18 +326,21 @@ llvmpipe_fs_analyse_nir(struct lp_fragment_shader *shader) shader->info.num_texs <= LP_MAX_LINEAR_TEXTURES && llvmpipe_nir_is_linear_compat(shader->base.ir.nir, &shader->info)) { shader->kind = LP_FS_KIND_LLVM_LINEAR; + } else { + shader->kind = LP_FS_KIND_GENERAL; } } +/* + * Analyze the given TGSI fragment shader and set its shader->kind field + * to LP_FS_KIND_x. + */ void llvmpipe_fs_analyse(struct lp_fragment_shader *shader, const struct tgsi_token *tokens) { - shader->kind = LP_FS_KIND_GENERAL; - - if (shader->kind == LP_FS_KIND_GENERAL && - shader->info.base.num_inputs <= LP_MAX_LINEAR_INPUTS && + if (shader->info.base.num_inputs <= LP_MAX_LINEAR_INPUTS && shader->info.base.num_outputs == 1 && !shader->info.indirect_textures && !shader->info.sampler_texture_units_different && @@ -349,6 +354,8 @@ llvmpipe_fs_analyse(struct lp_fragment_shader *shader, shader->info.base.opcode_count[TGSI_OPCODE_END] == shader->info.base.num_instructions)) { shader->kind = LP_FS_KIND_LLVM_LINEAR; + } else { + shader->kind = LP_FS_KIND_GENERAL; } if (shader->kind == LP_FS_KIND_GENERAL &&