llvmpipe: Faithfully honour pipe_rasterizer_state::rasterizer_discard flag.
D3D10 established that rasterization should be discarded when a null PS was bound, and depth/stencil state was disabled, and llvmpipe followed those semantics. Nowadays all APIs have explicit rasterization discard flag, and so does Gallium, so it's better for llvmpipe to faithfully follow that flag, and trust the state tracker to follow the right semantics. Second guessing pipe_rasterizer_state::rasterizer_discard actually causes problems, specially when no depth-stencil surface is bound, as D3D10 mandates rasterization should still happen, yet among all the translation layers it often happens depth-stencil enablement is optimized away when no depth-stencil is bound, which in turn was causing llvmpipe to disable rasterization when it shouldn't. Reviewed-by:Brian Paul <brianp@vmware.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!20155>