[Mesa-dev] [PATCH v2 00/24] anv: Handle out of memory situations better

Iago Toral itoral at igalia.com
Wed Mar 15 12:34:40 UTC 2017


Hi Emil,

On Wed, 2017-03-15 at 12:11 +0000, Emil Velikov wrote:
> Hi Iago,
> 
> On 10 March 2017 at 12:38, Iago Toral Quiroga <itoral at igalia.com>
> wrote:
> 
> > 
> > Iago Toral Quiroga (24):
> >   anv: remove unnecessary function prototype.
> >   anv: do not try to ref/unref NULL shaders
> >   anv/blorp: return early if we failed to create the shader binary
> >   anv/cmd_buffer: report errors in vkBeginCommandBuffer()
> >   anv/cmd_buffer: add a status field to anv_batch
> >   anv: add anv_batch_set_error() and anv_batch_has_error() helpers
> >   anv: handle allocation failure in anv_batch_emit_batch()
> >   anv: handle allocation failure in anv_batch_emit_dwords()
> >   anv: avoid crashes when failing to allocate batches
> >   anv: handle failures when growing reloc lists
> >   anv/cmd_buffer: report tracked errors in vkEndCommandBuffer()
> >   anv/cmd_buffer: skip vkCmdNextSubpass() for broken command
> > buffers
> >   anv/cmd_buffer: skip vkCmdEndRenderPass() for broken command
> > buffers
> >   anv/cmd_buffer: handle allocation errors during
> > vkCmdBeginRenderPass()
> >   anv/cmd_buffer: handle out of memory during vkCmdPushConstants
> >   anv: handle memory allocation errors during queue submissions
> >   anv/cmd_buffer: skip vkCmdDraw*() on broken command buffers
> >   anv/cmd_buffer: skip vkCmdDispatch() on broken command buffers
> >   anv/cmd_buffer: skip vkCmdExecuteCommands() on broken command
> > buffers
> >   anv/device: assert that commands submitted to a queue are not
> > bogus
> >   anv/blorp: make anv_cmd_buffer_alloc_blorp_binding_table() return
> > a
> >     VkResult
> >   anv: handle errors while allocating new binding table blocks
> >   anv: handle errors in emit_binding_table() and emit_samplers()
> >   anv: improve error reporting when creating pipelines
> > 
> I'm wondering if we what at least some of these for stable.
> Admittedly
> they seems handle corner cases, but still.

Since these only attempt to handle OOM in certain scenarios I think
they are not particularly important for stable, so unless Jason or Topi
think otherwise, I think we can skip them for stable. 

Also, since the series relies on various points in the code setting an
error in an object so that we can do proper error reporting at a later
moment, I think we might want to go with the entire series or none at
all to avoid the risk of having a situation  where we end up with half-
baked error management in some places that can lead to hard to debug
scenarios, etc

> If so, please send a list with sha(s) or add the Cc: mesa-stable tag
> if you haven't merged them yet.
> 
> Thanks
> Emil
> 


More information about the mesa-dev mailing list