|Summary:||[r600g-evergreen][compute]Empty kernel execution causes crash|
|Product:||Mesa||Reporter:||Damien Hilloulin <damien.hilloulin>|
|Component:||Drivers/Gallium/r600||Assignee:||Default DRI bug account <dri-devel>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
Bug repro program source file
Description Damien Hilloulin 2014-08-15 17:57:43 UTC
Created attachment 104687 [details] 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.
Comment 1 Tom Stellard 2014-08-19 23:34:15 UTC
Created attachment 104927 [details] [review] Fix Can you try this patch?
Comment 2 Damien Hilloulin 2014-08-20 15:31:31 UTC
Fix the bug for me :) Thank you for giving a look at this bug!
Comment 3 Tom Stellard 2014-08-21 14:08:47 UTC
Fixed in git commit commit bf7a60f41d897be4d9804ba7c46633e38501ffe7