[Mesa-dev] [PATCH 17/20] i965: Upload UBO surfaces before emitting constant state packet

Abdiel Janulgue abdiel.janulgue at linux.intel.com
Fri Sep 11 01:33:31 PDT 2015


Now that UBOs are uploaded as push constants. We need to obtain and
append the amount of push constant entries generated by the UBO entry
fetches to the 3DSTATE_CONSTANT_* packets.

v2: GEN8 support

Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
---
 src/mesa/drivers/dri/i965/brw_state_upload.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
index b2ca9c2..280340f 100644
--- a/src/mesa/drivers/dri/i965/brw_state_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
@@ -197,6 +197,9 @@ static const struct brw_tracked_state *gen7_render_atoms[] =
    &brw_vs_image_surfaces, /* Before vs push/pull constants and binding table */
    &brw_gs_image_surfaces, /* Before gs push/pull constants and binding table */
    &brw_wm_image_surfaces, /* Before wm push/pull constants and binding table */
+   &brw_vs_ubo_surfaces,
+   &brw_gs_ubo_surfaces,
+   &brw_wm_ubo_surfaces,
 
    &gen6_vs_push_constants, /* Before vs_state */
    &gen6_gs_push_constants, /* Before gs_state */
@@ -206,13 +209,10 @@ static const struct brw_tracked_state *gen7_render_atoms[] =
     * table upload must be last.
     */
    &brw_vs_pull_constants,
-   &brw_vs_ubo_surfaces,
    &brw_vs_abo_surfaces,
    &brw_gs_pull_constants,
-   &brw_gs_ubo_surfaces,
    &brw_gs_abo_surfaces,
    &brw_wm_pull_constants,
-   &brw_wm_ubo_surfaces,
    &brw_wm_abo_surfaces,
    &gen6_renderbuffer_surfaces,
    &brw_texture_surfaces,
@@ -281,6 +281,9 @@ static const struct brw_tracked_state *gen8_render_atoms[] =
    &brw_vs_image_surfaces, /* Before vs push/pull constants and binding table */
    &brw_gs_image_surfaces, /* Before gs push/pull constants and binding table */
    &brw_wm_image_surfaces, /* Before wm push/pull constants and binding table */
+   &brw_vs_ubo_surfaces,
+   &brw_gs_ubo_surfaces,
+   &brw_wm_ubo_surfaces,
 
    &gen6_vs_push_constants, /* Before vs_state */
    &gen6_gs_push_constants, /* Before gs_state */
@@ -290,13 +293,10 @@ static const struct brw_tracked_state *gen8_render_atoms[] =
     * table upload must be last.
     */
    &brw_vs_pull_constants,
-   &brw_vs_ubo_surfaces,
    &brw_vs_abo_surfaces,
    &brw_gs_pull_constants,
-   &brw_gs_ubo_surfaces,
    &brw_gs_abo_surfaces,
    &brw_wm_pull_constants,
-   &brw_wm_ubo_surfaces,
    &brw_wm_abo_surfaces,
    &gen6_renderbuffer_surfaces,
    &brw_texture_surfaces,
-- 
1.9.1



More information about the mesa-dev mailing list