X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_state_derived.c;h=9e29902619a27c55f0ca2bf99e0427ae1e54f959;hb=48d743c5019076056739561f979e7101c04acf21;hp=34961cbbac50e6fef4f9dadabe5ec695f9bca6ea;hpb=83c86e09a8d7610022eae49731ac1ed03ee4f67b;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_state_derived.c b/src/gallium/drivers/llvmpipe/lp_state_derived.c index 34961cbbac5..9e29902619a 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_derived.c +++ b/src/gallium/drivers/llvmpipe/lp_state_derived.c @@ -190,8 +190,10 @@ void llvmpipe_update_derived( struct llvmpipe_context *llvmpipe ) llvmpipe->tex_timestamp = lp_screen->timestamp; llvmpipe->dirty |= LP_NEW_SAMPLER_VIEW; } - - if (llvmpipe->dirty & (LP_NEW_FS | + + /* This needs LP_NEW_RASTERIZER because of draw_prepare_shader_outputs(). */ + if (llvmpipe->dirty & (LP_NEW_RASTERIZER | + LP_NEW_FS | LP_NEW_VS)) compute_vertex_info(llvmpipe); @@ -235,7 +237,7 @@ void llvmpipe_update_derived( struct llvmpipe_context *llvmpipe ) if (llvmpipe->dirty & LP_NEW_CONSTANTS) lp_setup_set_fs_constants(llvmpipe->setup, - Elements(llvmpipe->constants[PIPE_SHADER_FRAGMENT]), + ARRAY_SIZE(llvmpipe->constants[PIPE_SHADER_FRAGMENT]), llvmpipe->constants[PIPE_SHADER_FRAGMENT]); if (llvmpipe->dirty & (LP_NEW_SAMPLER_VIEW))