Mesa (7.10): i965: don't spawn GS thread for LINELOOP on Sandybridge
Zhenyu Wang
zhen at kemper.freedesktop.org
Tue Dec 28 01:09:06 UTC 2010
Module: Mesa
Branch: 7.10
Commit: 1ca240ec2d81ccf3e6a55b736b6aa11959d87b6a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ca240ec2d81ccf3e6a55b736b6aa11959d87b6a
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date: Mon Dec 27 16:39:08 2010 +0800
i965: don't spawn GS thread for LINELOOP on Sandybridge
LINELOOP is converted to LINESTRIP at the beginning of the 3D pipeline.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=32596
(cherry picked from commit b832ae8a4a77563c50a6e82c49b4732f6a0dbf11)
---
src/mesa/drivers/dri/i965/brw_gs.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_gs.c b/src/mesa/drivers/dri/i965/brw_gs.c
index 73b41fd..70c451d 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.c
+++ b/src/mesa/drivers/dri/i965/brw_gs.c
@@ -96,6 +96,9 @@ static void compile_gs_prog( struct brw_context *brw,
brw_gs_quad_strip( &c, key );
break;
case GL_LINE_LOOP:
+ /* Gen6: LINELOOP is converted to LINESTRIP at the beginning of the 3D pipeline */
+ if (intel->gen == 6)
+ return;
brw_gs_lines( &c );
break;
case GL_LINES:
@@ -189,7 +192,7 @@ static void populate_key( struct brw_context *brw,
}
if (intel->gen == 6)
- prim_gs_always = brw->primitive == GL_LINE_LOOP;
+ prim_gs_always = 0;
else
prim_gs_always = brw->primitive == GL_QUADS ||
brw->primitive == GL_QUAD_STRIP ||
More information about the mesa-commit
mailing list