SIMD comments
authorBrian <brian.paul@tungstengraphics.com>
Tue, 3 Jul 2007 23:31:59 +0000 (17:31 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 3 Jul 2007 23:31:59 +0000 (17:31 -0600)
src/mesa/pipe/softpipe/sp_quad_alpha_test.c
src/mesa/pipe/softpipe/sp_quad_depth_test.c

index 0059b3abf4ff562ff07f8934cb7ac07f6e780b27..e0f7225d74847acd1bfbcb87bb060fe361df8ee0 100644 (file)
@@ -23,6 +23,10 @@ alpha_test_quad(struct quad_stage *qs, struct quad_header *quad)
       quad->mask = 0x0;
       break;
    case PIPE_FUNC_LESS:
+      /*
+       * If quad->mask were an array [4] we could do this SIMD-style:
+       * quad->mask &= (quad->outputs.color[3] <= vec4(ref));
+       */
       for (j = 0; j < QUAD_SIZE; j++) {
          if (quad->mask & (1 << j)) {
             if (quad->outputs.color[3][j] >= ref) {
index b72bbac0d4a5e2be1c79433a10d0aab40da99921..fcd6a22e1d3bc92b89222160c64d46bcce7ff2da 100644 (file)
@@ -54,6 +54,7 @@ depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
       break;
    case PIPE_FUNC_LESS:
       /* Note this is pretty much a single sse or cell instruction.  
+       * Like this:  quad->mask &= (quad->outputs.depth < zzzz);
        */
       for (j = 0; j < QUAD_SIZE; j++) {
         if (quad->outputs.depth[j] < zzzz[j])