On Wed, May 25, 2016 at 8:32 PM, Tim Rowley <timothy.o.row...@intel.com> wrote:
> v2: only load the clip vertex once
> ---
>  src/gallium/drivers/swr/swr_context.h  |  2 ++
>  src/gallium/drivers/swr/swr_shader.cpp | 65 
> ++++++++++++++++++++++++++++++++++
>  src/gallium/drivers/swr/swr_shader.h   |  4 +++
>  src/gallium/drivers/swr/swr_state.cpp  | 22 +++++++++++-
>  4 files changed, 92 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/swr/swr_state.cpp 
> b/src/gallium/drivers/swr/swr_state.cpp
> index f9326f3..f8d10ac 100644
> --- a/src/gallium/drivers/swr/swr_state.cpp
> +++ b/src/gallium/drivers/swr/swr_state.cpp
> @@ -849,7 +849,9 @@ swr_update_derived(struct pipe_context *pipe,
>     }
>
>     /* Raster state */
> -   if (ctx->dirty & (SWR_NEW_RASTERIZER | SWR_NEW_FRAMEBUFFER)) {
> +   if (ctx->dirty & (SWR_NEW_RASTERIZER |
> +                     SWR_NEW_VS | // clipping
> +                     SWR_NEW_FRAMEBUFFER)) {
>        pipe_rasterizer_state *rasterizer = ctx->rasterizer;
>        pipe_framebuffer_state *fb = &ctx->framebuffer;
>
> @@ -906,6 +908,11 @@ swr_update_derived(struct pipe_context *pipe,
>
>        rastState->depthClipEnable = rasterizer->depth_clip;
>
> +      rastState->clipDistanceMask =
> +         ctx->vs->info.base.num_written_clipdistance ?
> +         ctx->vs->info.base.clipdist_writemask | 
> rasterizer->clip_plane_enable :

Don't consider this to be a full review, but I think this should be &
rather than |. In addition to actually writing the clip distance, you
also have to glEnable(GL_CLIP_PLANE0..7) in order for that clip
distance to apply.

> +         rasterizer->clip_plane_enable;
> +
>        SwrSetRastState(ctx->swrContext, rastState);
>     }
>

Separately, you make some mentions of culling... if you actually
implemented cull distances, make sure to enable the
PIPE_CAP_CULL_DISTANCE cap.

Cheers,

  -ilia
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to