diff options
author | marha <marha@users.sourceforge.net> | 2014-05-01 17:03:50 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-05-01 17:03:50 +0200 |
commit | aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa (patch) | |
tree | 37bc7921f864ead4f6eb357b31a1eb66d46aaef9 /mesalib/src/mesa/state_tracker/st_atom_msaa.c | |
parent | 2e0adb33e03e3142f1412ed570415c5ce616dcef (diff) | |
parent | ea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4 (diff) | |
download | vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.gz vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.bz2 vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
libxcb/src/xcb_util.c
mesalib/src/mesa/drivers/dri/common/dri_util.c
xorg-server/os/utils.c
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_atom_msaa.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_atom_msaa.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_atom_msaa.c b/mesalib/src/mesa/state_tracker/st_atom_msaa.c index 2f3a42e02..703cb5e75 100644 --- a/mesalib/src/mesa/state_tracker/st_atom_msaa.c +++ b/mesalib/src/mesa/state_tracker/st_atom_msaa.c @@ -27,8 +27,10 @@ #include "st_context.h" +#include "pipe/p_screen.h" #include "pipe/p_context.h" #include "st_atom.h" +#include "st_program.h" #include "cso_cache/cso_context.h" #include "util/u_framebuffer.h" @@ -70,6 +72,18 @@ static void update_sample_mask( struct st_context *st ) } } +static void update_sample_shading( struct st_context *st ) +{ + if (!st->fp) + return; + + if (!st->ctx->Extensions.ARB_sample_shading) + return; + + cso_set_min_samples( + st->cso_context, + _mesa_get_min_invocations_per_fragment(st->ctx, &st->fp->Base, false)); +} const struct st_tracked_state st_update_msaa = { "st_update_msaa", /* name */ @@ -79,3 +93,12 @@ const struct st_tracked_state st_update_msaa = { }, update_sample_mask /* update */ }; + +const struct st_tracked_state st_update_sample_shading = { + "st_update_sample_shading", /* name */ + { /* dirty */ + (_NEW_MULTISAMPLE | _NEW_PROGRAM | _NEW_BUFFERS), /* mesa */ + ST_NEW_FRAGMENT_PROGRAM | ST_NEW_FRAMEBUFFER, /* st */ + }, + update_sample_shading /* update */ +}; |