llvmpipe: reset viewport_index_slot in fb bind

Dave Airlie requested to merge airlied/mesa:lp-reset-viewport-slot into main

What does this MR do and why?

I hit a problem running a set of lvp caselists with
dEQP-VK.transform_feedback.simple.draw_indirect_endqueryindexed_streamid_0_16,Crash

This was crashing due to
 assert(setup->viewport_index_slot < 0);
in try_update_scene_state

This was because a previous draw had set viewport index slot to 2,
but a clear then draw sequence never resets it, so the clear gets
a scene, and when the subsequent flush happens for that scene,
the viewport_index_slot is never updated. It only gets updated on
draws.

This just resets it as lp_setup_update_state will always pick up
the correct one for the next draw.

Cc: mesa-stable

@sroland @brianp might need a check for this, the other option is to drop the assert.

Merge request reports