<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Crash when framebuffer is VK_NULL_HANDLE in VkCommandBufferInheritanceInfo"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=98198">98198</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Crash when framebuffer is VK_NULL_HANDLE in VkCommandBufferInheritanceInfo
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>blocker
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/Vulkan/intel
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jsr184@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>jason@jlekstrand.net
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When recording the secondary command buffer with the inheritance of the
VkRenderPass but without known VkFramebuffer, the driver crashes. For example,
setting the VkCommandBufferInheritanceInfo to:

inheritance.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
inheritance.renderPass = validRenderPass;
inheritance.subpass = 0;
inheritance.framebuffer = VK_NULL_HANDLE; // not known yet VkFramebuffer object
inheritance.flags = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;

It will result in the crash in the vkCmdDraw() as the driver expects the
framebuffer is not NULL. However, the specification says:

"framebuffer optionally refers to the VkFramebuffer object that the
VkCommandBuffer will be rendering to if it is executed within a render pass
instance. It can be VK_NULL_HANDLE if the framebuffer is not known, or if the
VkCommandBuffer will not be executed within a render pass instance."

Which means, using VK_NULL_HANDLE is absolutely valid from the application
point of view and driver should not crash.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>