Mesa (master): radv/ac: frag shader only needs ring offsets if sample positions enabled
Dave Airlie
airlied at kemper.freedesktop.org
Tue Apr 18 23:01:00 UTC 2017
Module: Mesa
Branch: master
Commit: 0b62669c8d8f01c68e22e0ef380cdd606c9045dc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b62669c8d8f01c68e22e0ef380cdd606c9045dc
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Apr 18 05:35:05 2017 +1000
radv/ac: frag shader only needs ring offsets if sample positions enabled
mostly documenting things, since with modern llvm we always have the
spill enabled.
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/amd/common/ac_nir_to_llvm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index b3e522dd73..1ca27d5e70 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -572,10 +572,13 @@ static void create_function(struct nir_to_llvm_context *ctx)
ctx->stage == MESA_SHADER_VERTEX ||
ctx->stage == MESA_SHADER_TESS_CTRL ||
ctx->stage == MESA_SHADER_TESS_EVAL ||
- ctx->stage == MESA_SHADER_FRAGMENT ||
ctx->is_gs_copy_shader)
need_ring_offsets = true;
+ if (ctx->stage == MESA_SHADER_FRAGMENT &&
+ ctx->shader_info->info.ps.needs_sample_positions)
+ need_ring_offsets = true;
+
if (need_ring_offsets && !ctx->options->supports_spill) {
arg_types[arg_idx++] = const_array(ctx->v16i8, 16); /* address of rings */
}
More information about the mesa-commit
mailing list