i915: Enable intel_render path for points
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 23 Mar 2015 12:47:31 +0000 (14:47 +0200)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 6 Oct 2015 18:16:19 +0000 (11:16 -0700)
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.

No apparent regressions on PNV in ES1 or ES2 conformance.

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

index 409760dc604efcbd99e10288f0a38c75194cf096..c1603565cc2a6157c0bdc6d6b1c6357336cc456e 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
@@ -67,7 +65,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,
@@ -93,7 +91,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,