On Fri, May 4, 2018 at 2:50 PM, Gert Wollny <gert.wol...@collabora.com> wrote: > For that reason I think that a render state validation within st_Clear > makes sense, because it makes sure that the states like SCISSOR_TEST > or DISCARD_RASTERIZER are properly send to the driver, before clear() > is executed that makes use of these states. And while the workaround > for DISCARD_RASTERIZER is possible because if it is set then the host > should actually never see the clear command, SCISSOR_TEST is different, > its state can not be guessed on the host. > > Anyway, I happily take every hint on how this can be fixed directly in > virgl_clear or virgl in general, and thank you for taking the time to > answer me,
I thought someone else took care of the scissor thing for clears. At least they were asking about it. I have to assume that virglrenderer keeps track of the last-set rasterizer state. Based on that, you have to turn off scissors, rasterizer discard, window rectangles, stencil tests, sample masks(?), and anything else which affects clears (have a look at st_Clear -- anything that causes it to hit the fallback path which draws should be something you turn off because calling glClear() in virglrenderer). If you don't keep track of the last-set rasterizer state, then now may be a good time to start :) -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev