From e31e4c4a4f45dd11b10585dd6e5c045fcf875bff Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 29 Oct 2018 19:53:39 -0700 Subject: [PATCH] assert fail if dual blending is enabled and the shader doesn't do it this situation will likely lead to GPU hangs. asserting will allow us to walk up the stack in gdb to find exactly who's making this happen. --- src/mesa/drivers/dri/i965/brw_state_upload.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 7f20579fb87..2923d5b7a88 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -635,6 +635,13 @@ brw_upload_pipeline_state(struct brw_context *brw, void brw_upload_render_state(struct brw_context *brw) { brw_upload_pipeline_state(brw, BRW_RENDER_PIPELINE); + + const struct brw_wm_prog_data *wm_prog_data = (void *)brw->wm.base.prog_data; + struct gl_context *ctx = &brw->ctx; + + if (wm_prog_data && + (ctx->Color.BlendEnabled & 1) && ctx->Color.Blend[0]._UsesDualSrc) + assert(wm_prog_data->dual_src_blend); } static inline void -- 2.19.0