OSDN Git Service

i915: Enable intel_render path for points
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 30 Jun 2014 23:57:50 +0000 (02:57 +0300)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Thu, 16 Jul 2015 13:48:41 +0000 (21:48 +0800)
The sub-pixel adjustment for points was killed off in
 commit 60d762aa625095a8c1f9597d8530bb5a6fa61b4c
 Author: Xiang, Haihao <haihao.xiang@intel.com>
 Date:   Wed Jan 2 11:38:51 2008 +0800

    i915: Needn't adjust pixel centers. fix #12944

so if we don't need it in intel_tris.c we don't need it in
intel_render.c either, which means we can allow
intel_render.c to render points.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
src/mesa/drivers/dri/i915/intel_render.c

index bd0d658..02a3ab3 100644 (file)
@@ -54,9 +54,7 @@
  * dma buffers.  Use strip/fan hardware primitives where possible.
  * Try to simulate missing primitives with indexed vertices.
  */
-#define HAVE_POINTS      0      /* Has it, but can't use because subpixel has to
-                                 * be adjusted for points on the INTEL/I845G
-                                 */
+#define HAVE_POINTS      1
 #define HAVE_LINES       1
 #define HAVE_LINE_STRIPS 1
 #define HAVE_TRIANGLES   1
@@ -70,7 +68,7 @@
 #define HAVE_ELTS        0
 
 static const uint32_t hw_prim[GL_POLYGON + 1] = {
-   [GL_POINTS] = 0,
+   [GL_POINTS] = PRIM3D_POINTLIST,
    [GL_LINES ] = PRIM3D_LINELIST,
    [GL_LINE_LOOP] = PRIM3D_LINESTRIP,
    [GL_LINE_STRIP] = PRIM3D_LINESTRIP,
@@ -96,7 +94,7 @@ static const GLenum reduced_prim[GL_POLYGON + 1] = {
 };
 
 static const int scale_prim[GL_POLYGON + 1] = {
-   [GL_POINTS] = 0,             /* fallback case */
+   [GL_POINTS] = 1,
    [GL_LINES] = 1,
    [GL_LINE_LOOP] = 2,
    [GL_LINE_STRIP] = 2,