Mesa (master): i965: Introduce a brw_vue_prog_data:: include_vue_handles flag.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Oct 21 22:02:37 UTC 2015


Module: Mesa
Branch: master
Commit: 72d84ae7ceaed4e723376a18d09689be183e0155
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72d84ae7ceaed4e723376a18d09689be183e0155

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Sep 29 14:43:29 2015 -0700

i965: Introduce a brw_vue_prog_data::include_vue_handles flag.

Tessellation shaders and SIMD8 geometry shaders may need to resort to
the pull model for inputs at times.  When set, the state upload code
will tell the hardware to provide URB handles for input data.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

---

 src/mesa/drivers/dri/i965/brw_compiler.h  |    3 +++
 src/mesa/drivers/dri/i965/gen8_gs_state.c |    2 ++
 2 files changed, 5 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_compiler.h b/src/mesa/drivers/dri/i965/brw_compiler.h
index 10e1fde..6a9799e 100644
--- a/src/mesa/drivers/dri/i965/brw_compiler.h
+++ b/src/mesa/drivers/dri/i965/brw_compiler.h
@@ -485,6 +485,9 @@ struct brw_vue_prog_data {
    struct brw_stage_prog_data base;
    struct brw_vue_map vue_map;
 
+   /** Should the hardware deliver input VUE handles for URB pull loads? */
+   bool include_vue_handles;
+
    GLuint urb_read_length;
    GLuint total_grf;
 
diff --git a/src/mesa/drivers/dri/i965/gen8_gs_state.c b/src/mesa/drivers/dri/i965/gen8_gs_state.c
index d766ca7..6738e85 100644
--- a/src/mesa/drivers/dri/i965/gen8_gs_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_gs_state.c
@@ -68,6 +68,8 @@ gen8_upload_gs_state(struct brw_context *brw)
                  GEN7_GS_OUTPUT_VERTEX_SIZE_SHIFT) |
                 (brw->gs.prog_data->output_topology <<
                  GEN7_GS_OUTPUT_TOPOLOGY_SHIFT) |
+                (prog_data->include_vue_handles ?
+                 GEN7_GS_INCLUDE_VERTEX_HANDLES : 0) |
                 (prog_data->urb_read_length <<
                  GEN6_GS_URB_READ_LENGTH_SHIFT) |
                 (0 << GEN6_GS_URB_ENTRY_READ_OFFSET_SHIFT) |




More information about the mesa-commit mailing list