Mesa (master): mesa: Require per-sample shading if the `sample` qualifier is used.

Chris Forbes chrisf at kemper.freedesktop.org
Sat Dec 7 04:21:29 UTC 2013


Module: Mesa
Branch: master
Commit: 88dc24663079d3b7ae62a953a770887dc0b709da
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88dc24663079d3b7ae62a953a770887dc0b709da

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Fri Nov 29 21:44:13 2013 +1300

mesa: Require per-sample shading if the `sample` qualifier is used.

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>

---

 src/mesa/program/program.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c
index 01f8c6f..cdf1c03 100644
--- a/src/mesa/program/program.c
+++ b/src/mesa/program/program.c
@@ -1049,6 +1049,14 @@ _mesa_get_min_invocations_per_fragment(struct gl_context *ctx,
     *  has no effect."
     */
    if (ctx->Multisample.Enabled) {
+      /* The ARB_gpu_shader5 specification says:
+       *
+       * "Use of the "sample" qualifier on a fragment shader input
+       *  forces per-sample shading"
+       */
+      if (prog->IsSample)
+         return MAX2(ctx->DrawBuffer->Visual.samples, 1);
+
       if (prog->Base.SystemValuesRead & (SYSTEM_BIT_SAMPLE_ID |
                                          SYSTEM_BIT_SAMPLE_POS))
          return MAX2(ctx->DrawBuffer->Visual.samples, 1);




More information about the mesa-commit mailing list