i965/fs: Allow constant propagation into logical send sources.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_derived.c
index 34961cbbac50e6fef4f9dadabe5ec695f9bca6ea..9e29902619a27c55f0ca2bf99e0427ae1e54f959 100644 (file)
@@ -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))