https://bugs.freedesktop.org/show_bug.cgi?id=82671

          Priority: medium
            Bug ID: 82671
          Assignee: dri-devel at lists.freedesktop.org
           Summary: [r600g-evergreen][compute]Empty kernel execution
                    causes crash
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: damien.hilloulin at supelec.fr
          Hardware: All
            Status: NEW
           Version: git
         Component: Drivers/Gallium/r600
           Product: Mesa

Created attachment 104687
  --> https://bugs.freedesktop.org/attachment.cgi?id=104687&action=edit
Bug repro program source file

I gave a shot to opencl support on my evergreen card (cedar) with mesa git.
I noticed that with an empty kernel the program crash with:
evergreen_state.c:1827:evergreen_emit_vertex_buffers: Assertion `rbuffer'
failed.

I made a little debugging and I think that this is du to a bug in
evergreen_init_compute_state_functions from evergreen_compute.c .

The two concerned lines are

/* We always use at least one vertex buffer for parameters (id = 1)*/
ctx->cs_vertex_buffer_state.enabled_mask =
ctx->cs_vertex_buffer_state.dirty_mask = 0x2;

With an empty kernel there is in fact no vertex buffer used as far as I can
see.

By changing the two lines to
ctx->cs_vertex_buffer_state.enabled_mask =
ctx->cs_vertex_buffer_state.dirty_mask = 0x0;

It doesn't crash for me anymore.
However I am a total driver development noob so my interpretation (and
therefore fix) can be wrong.

You can find attacted the very small program to be able to cause the crash.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140815/15c01a9c/attachment.html>

Reply via email to