radv: don't export NULL layer.
authorDave Airlie <airlied@redhat.com>
Mon, 19 Mar 2018 20:02:58 +0000 (20:02 +0000)
committerDave Airlie <airlied@redhat.com>
Mon, 19 Mar 2018 21:36:48 +0000 (21:36 +0000)
We have some cases where in subpass we want the layer but having
it be 0 and loaded in the frag shader without the vertex shader
exporting it is fine.

So don't export the layer if we don't have a value to put in it.

Fixes: d4c74aed7a8 (radv/multiview: mark layer_input if we have input attachments.)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_nir_to_llvm.c

index 7379f348d846510f314a9f02c580bddade22a1b1..ad046adfdb9374967c3cbc3ec71762a1e823a011 100644 (file)
@@ -2363,7 +2363,7 @@ handle_vs_outputs_post(struct radv_shader_context *ctx,
                outinfo->export_prim_id = true;
        }
 
-       if (export_layer_id) {
+       if (export_layer_id && layer_value) {
                LLVMValueRef values[4];
 
                values[0] = layer_value;