On Fri, Mar 10, 2017 at 01:38:16PM +0100, Iago Toral Quiroga wrote: > --- > src/intel/vulkan/anv_blorp.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c > index d79c5e0..c871f03 100644 > --- a/src/intel/vulkan/anv_blorp.c > +++ b/src/intel/vulkan/anv_blorp.c > @@ -72,6 +72,9 @@ upload_blorp_shader(struct blorp_context *blorp, > key, key_size, kernel, kernel_size, > prog_data, prog_data_size, &bind_map); > > + if (!bin) > + return; > +
This is called by brw_blorp_get_blit_kernel() which in turn is called from try_blorp_blit(). The latter will happily submit batch to the kernel where there is now no kernel to execute - that will surely lead to gpu hang. It looks to me we would need to mark down the failure here for anv so that it knows the blit failed. In addition, brw_blorp_get_blit_kernel() should tell to try_blorp_blit() that shader upload failed so that try_blorp_blit() won't send the invalid batch to the gpu. Jason: any thoughts? > /* The cache already has a reference and it's not going anywhere so there > * is no need to hold a second reference. > */ > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev