st/mesa: negate the can_force_persample_interp flag

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Marek Olšák
2015-10-20 00:12:53 +02:00
parent f4e938e9ae
commit b99645f819
4 changed files with 6 additions and 5 deletions

View File

@@ -239,7 +239,7 @@ static void update_raster_state( struct st_context *st )
/* _NEW_MULTISAMPLE | _NEW_BUFFERS */ /* _NEW_MULTISAMPLE | _NEW_BUFFERS */
raster->force_persample_interp = raster->force_persample_interp =
st->can_force_persample_interp && !st->force_persample_in_shader &&
ctx->Multisample._Enabled && ctx->Multisample._Enabled &&
ctx->Multisample.SampleShading && ctx->Multisample.SampleShading &&
ctx->Multisample.MinSampleShadingValue * ctx->Multisample.MinSampleShadingValue *

View File

@@ -76,7 +76,7 @@ update_fp( struct st_context *st )
* Ignore sample qualifier while computing this flag. * Ignore sample qualifier while computing this flag.
*/ */
key.persample_shading = key.persample_shading =
!st->can_force_persample_interp && st->force_persample_in_shader &&
!(stfp->Base.Base.SystemValuesRead & (SYSTEM_BIT_SAMPLE_ID | !(stfp->Base.Base.SystemValuesRead & (SYSTEM_BIT_SAMPLE_ID |
SYSTEM_BIT_SAMPLE_POS)) && SYSTEM_BIT_SAMPLE_POS)) &&
_mesa_get_min_invocations_per_fragment(st->ctx, &stfp->Base, true) > 1; _mesa_get_min_invocations_per_fragment(st->ctx, &stfp->Base, true) > 1;

View File

@@ -235,8 +235,9 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe,
PIPE_BIND_SAMPLER_VIEW); PIPE_BIND_SAMPLER_VIEW);
st->prefer_blit_based_texture_transfer = screen->get_param(screen, st->prefer_blit_based_texture_transfer = screen->get_param(screen,
PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER); PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER);
st->can_force_persample_interp = screen->get_param(screen, st->force_persample_in_shader =
PIPE_CAP_FORCE_PERSAMPLE_INTERP); screen->get_param(screen, PIPE_CAP_SAMPLE_SHADING) &&
!screen->get_param(screen, PIPE_CAP_FORCE_PERSAMPLE_INTERP);
st->has_shareable_shaders = screen->get_param(screen, st->has_shareable_shaders = screen->get_param(screen,
PIPE_CAP_SHAREABLE_SHADERS); PIPE_CAP_SHAREABLE_SHADERS);
st->needs_texcoord_semantic = st->needs_texcoord_semantic =

View File

@@ -98,7 +98,7 @@ struct st_context
boolean has_etc1; boolean has_etc1;
boolean has_etc2; boolean has_etc2;
boolean prefer_blit_based_texture_transfer; boolean prefer_blit_based_texture_transfer;
boolean can_force_persample_interp; boolean force_persample_in_shader;
boolean has_shareable_shaders; boolean has_shareable_shaders;
boolean needs_texcoord_semantic; boolean needs_texcoord_semantic;