Module: Mesa
Branch: master
Commit: 4a091b0788664f73bbb35c14d04c00cebf37e17a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a091b0788664f73bbb35c14d04c00cebf37e17a

Author: Dave Airlie <airl...@redhat.com>
Date:   Thu Aug 17 02:08:46 2017 +0100

radv: don't crash if we have no framebuffer

Recording secondaries with no framebuffer attachment may
make this happen, though this might not be the complete solution.

(esp if someone does meta stuff in there, would we have to
save things, not sure).

Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airl...@redhat.com>

---

 src/amd/vulkan/radv_cmd_buffer.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index cbe0de17db..fe8f3f2cb8 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -1212,6 +1212,10 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer 
*cmd_buffer)
        struct radv_framebuffer *framebuffer = cmd_buffer->state.framebuffer;
        const struct radv_subpass *subpass = cmd_buffer->state.subpass;
 
+       /* this may happen for inherited secondary recording */
+       if (!framebuffer)
+               return;
+
        for (i = 0; i < 8; ++i) {
                if (i >= subpass->color_count || 
subpass->color_attachments[i].attachment == VK_ATTACHMENT_UNUSED) {
                        radeon_set_context_reg(cmd_buffer->cs, 
R_028C70_CB_COLOR0_INFO + i * 0x3C,

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to