Skip to content
Snippets Groups Projects
Commit da5840f3 authored by Jose Fonseca's avatar Jose Fonseca Committed by Marge Bot
Browse files

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: default avatarBrian Paul <brianp@vmware.com>
Reviewed-by: default avatarRoland Scheidegger <sroland@vmware.com>
Part-of: <mesa/mesa!20155>
parent 36a7d678
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment