summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-04-05 16:14:39 -0700
committerIan Romanick <[email protected]>2011-04-05 16:14:39 -0700
commit50dccfdbefcf0a5c35668287508916a3a74da4c8 (patch)
treec152495ca9d45c4adb6cddae436e40e72c32593d
parent22035e3d8423ac62d6d8b648170a01fbd1cc5fa0 (diff)
Revert "i965: bump VS thread number to 60 on SNB"
Increasing the number of VS threads beyond 1 causes some regressions in vertex shader tests on Sugar Bay GT1 systems. This reverts commit c21a44463a402a886bf58d0e689d5a098eda1ff4. References: https://bugs.freedesktop.org/show_bug.cgi?id=35730
-rw-r--r--src/mesa/drivers/dri/i965/brw_vs_emit.c10
-rw-r--r--src/mesa/drivers/dri/i965/gen6_vs_state.c3
2 files changed, 2 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c
index 6ec62554cc4..0411ce0b36c 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c
@@ -1561,7 +1561,6 @@ static void emit_vertex_write( struct brw_vs_compile *c)
int eot;
GLuint len_vertex_header = 2;
int next_mrf, i;
- int msg_len;
if (c->key.copy_edgeflag) {
brw_MOV(p,
@@ -1728,20 +1727,13 @@ static void emit_vertex_write( struct brw_vs_compile *c)
eot = (c->first_overflow_output == 0);
- msg_len = c->nr_outputs + 2 + len_vertex_header;
- if (intel->gen >= 6) {
- /* interleaved urb write message length for gen6 should be multiple of 2 */
- if ((msg_len % 2) != 0)
- msg_len++;
- }
-
brw_urb_WRITE(p,
brw_null_reg(), /* dest */
0, /* starting mrf reg nr */
c->r0, /* src */
0, /* allocate */
1, /* used */
- MIN2(msg_len - 1, (BRW_MAX_MRF - 1)), /* msg len */
+ MIN2(c->nr_outputs + 1 + len_vertex_header, (BRW_MAX_MRF-1)), /* msg len */
0, /* response len */
eot, /* eot */
eot, /* writes complete */
diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c
index 20dfb132f66..ed132bdbd93 100644
--- a/src/mesa/drivers/dri/i965/gen6_vs_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c
@@ -136,8 +136,7 @@ upload_vs_state(struct brw_context *brw)
OUT_BATCH((1 << GEN6_VS_DISPATCH_START_GRF_SHIFT) |
(brw->vs.prog_data->urb_read_length << GEN6_VS_URB_READ_LENGTH_SHIFT) |
(0 << GEN6_VS_URB_ENTRY_READ_OFFSET_SHIFT));
-
- OUT_BATCH(((60 - 1) << GEN6_VS_MAX_THREADS_SHIFT) | /* max 60 threads for gen6 */
+ OUT_BATCH((0 << GEN6_VS_MAX_THREADS_SHIFT) |
GEN6_VS_STATISTICS_ENABLE |
GEN6_VS_ENABLE);
ADVANCE_BATCH();