anv/meta_clear: Use repclear again
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 8 Mar 2016 19:19:02 +0000 (11:19 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 8 Mar 2016 23:40:11 +0000 (15:40 -0800)
src/intel/vulkan/anv_meta_clear.c

index bce9446084457a1fec74393362a6bc86f0bfdd54..a24e59950be2facf8129618d206352cad8d0dd4b 100644 (file)
@@ -297,14 +297,15 @@ create_color_pipeline(struct anv_device *device,
       .pAttachments = blend_attachment_state
    };
 
-   /* Disable repclear because we do not want the compiler to replace the
-    * shader. We need the shader to write to the specified color attachment,
-    * but the repclear shader writes to all color attachments.
+   /* Use the repclear shader.  Since the NIR shader we are providing has
+    * exactly one output, that output will get compacted down to binding
+    * table entry 0.  The hard-coded repclear shader is then exactly what
+    * we want regardless of what attachment we are actually clearing.
     */
    return
       create_pipeline(device, samples, vs_nir, fs_nir, &vi_state, &ds_state,
                       &cb_state, &device->meta_state.alloc,
-                      /*use_repclear*/ false, pipeline);
+                      /*use_repclear*/ true, pipeline);
 }
 
 static void