diff options
author | Topi Pohjolainen <[email protected]> | 2016-04-19 20:08:55 +0300 |
---|---|---|
committer | Topi Pohjolainen <[email protected]> | 2016-04-21 10:20:03 +0300 |
commit | 935ce14a445f794cdccc749738353d76d0205145 (patch) | |
tree | 3aecd1634c9f020f7750d9709f061cede5199a60 | |
parent | 26fdb7e51e9f6b407ad8c635850ccffbd01876bc (diff) |
i965/blorp: Reduce the urb size requirement for vertex buffer
Signed-off-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/gen7_blorp.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp index e1e855951f8..414ec9ccfb6 100644 --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp @@ -37,11 +37,10 @@ gen7_blorp_skip_urb_config(const struct brw_context *brw) if (brw->ctx.NewDriverState & (BRW_NEW_CONTEXT | BRW_NEW_URB_SIZE)) return false; - /* Vertex elements along with full VUE header take 96 bytes. As the size - * is expressed in 64 bytes, one needs at least two times that, otherwise - * the setup can be any valid configuration. + /* Vertex buffer takes 24 bytes. As the size is expressed in 64 bytes, + * one will suffice, otherwise the setup can be any valid configuration. */ - return brw->urb.vsize >= 2; + return brw->urb.vsize > 0; } /* 3DSTATE_URB_VS @@ -66,7 +65,7 @@ gen7_blorp_emit_urb_config(struct brw_context *brw) const unsigned push_constant_bytes = 1024 * urb_size; const unsigned push_constant_chunks = push_constant_bytes / chunk_size_bytes; - const unsigned vs_size = 2; + const unsigned vs_size = 1; const unsigned vs_start = push_constant_chunks; const unsigned vs_chunks = DIV_ROUND_UP(brw->urb.min_vs_entries * vs_size * 64, chunk_size_bytes); |