const struct brw_tracked_state brw_wm_binding_table = {
.dirty = {
.mesa = 0,
- .brw = BRW_NEW_BATCH | BRW_NEW_SURFACES,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_SURFACES,
.cache = CACHE_NEW_WM_PROG
},
.emit = brw_upload_wm_binding_table,
const struct brw_tracked_state brw_binding_table_pointers = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_STATE_BASE_ADDRESS |
- BRW_NEW_VS_BINDING_TABLE |
- BRW_NEW_GS_BINDING_TABLE |
- BRW_NEW_PS_BINDING_TABLE),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GS_BINDING_TABLE |
+ BRW_NEW_PS_BINDING_TABLE |
+ BRW_NEW_STATE_BASE_ADDRESS |
+ BRW_NEW_VS_BINDING_TABLE,
.cache = 0,
},
.emit = gen4_upload_binding_table_pointers,
const struct brw_tracked_state gen6_binding_table_pointers = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_STATE_BASE_ADDRESS |
- BRW_NEW_VS_BINDING_TABLE |
- BRW_NEW_GS_BINDING_TABLE |
- BRW_NEW_PS_BINDING_TABLE),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GS_BINDING_TABLE |
+ BRW_NEW_PS_BINDING_TABLE |
+ BRW_NEW_STATE_BASE_ADDRESS |
+ BRW_NEW_VS_BINDING_TABLE,
.cache = 0,
},
.emit = gen6_upload_binding_table_pointers,
const struct brw_tracked_state brw_cc_vp = {
.dirty = {
- .mesa = _NEW_VIEWPORT | _NEW_TRANSFORM,
+ .mesa = _NEW_TRANSFORM |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0
},
const struct brw_tracked_state brw_cc_unit = {
.dirty = {
- .mesa = _NEW_STENCIL | _NEW_COLOR | _NEW_DEPTH | _NEW_BUFFERS,
- .brw = BRW_NEW_BATCH | BRW_NEW_STATS_WM,
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_DEPTH |
+ _NEW_STENCIL,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATS_WM,
.cache = CACHE_NEW_CC_VP
},
.emit = upload_cc_unit,
const struct brw_tracked_state brw_clip_prog = {
.dirty = {
- .mesa = (_NEW_LIGHT |
- _NEW_TRANSFORM |
- _NEW_POLYGON |
- _NEW_BUFFERS),
- .brw = (BRW_NEW_REDUCED_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT |
- BRW_NEW_INTERPOLATION_MAP)
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POLYGON |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_INTERPOLATION_MAP |
+ BRW_NEW_REDUCED_PRIMITIVE |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
},
.emit = brw_upload_clip_prog
};
const struct brw_tracked_state brw_clip_unit = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_BUFFERS | _NEW_VIEWPORT,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE |
- BRW_NEW_CURBE_OFFSETS |
- BRW_NEW_URB_FENCE),
+ .mesa = _NEW_BUFFERS |
+ _NEW_TRANSFORM |
+ _NEW_VIEWPORT,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CURBE_OFFSETS |
+ BRW_NEW_PROGRAM_CACHE |
+ BRW_NEW_URB_FENCE,
.cache = CACHE_NEW_CLIP_PROG
},
.emit = brw_upload_clip_unit,
.dirty = {
.mesa = _NEW_TRANSFORM,
.brw = BRW_NEW_CONTEXT,
- .cache = CACHE_NEW_VS_PROG | CACHE_NEW_WM_PROG
+ .cache = CACHE_NEW_VS_PROG |
+ CACHE_NEW_WM_PROG
},
.emit = calculate_curbe_offsets
};
const struct brw_tracked_state brw_constant_buffer = {
.dirty = {
.mesa = _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_URB_FENCE |
- BRW_NEW_PSP | /* Implicit - hardware requires this, not used above */
- BRW_NEW_CURBE_OFFSETS |
- BRW_NEW_BATCH),
- .cache = (CACHE_NEW_VS_PROG |
- CACHE_NEW_WM_PROG)
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CURBE_OFFSETS |
+ BRW_NEW_PSP | /* Implicit - hardware requires this, not used above */
+ BRW_NEW_URB_FENCE,
+ .cache = CACHE_NEW_VS_PROG |
+ CACHE_NEW_WM_PROG
},
.emit = brw_upload_constant_buffer,
};
const struct brw_tracked_state brw_vertices = {
.dirty = {
.mesa = _NEW_POLYGON,
- .brw = BRW_NEW_BATCH | BRW_NEW_VERTICES,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_VERTICES,
.cache = CACHE_NEW_VS_PROG,
},
.emit = brw_emit_vertices,
const struct brw_tracked_state brw_index_buffer = {
.dirty = {
.mesa = 0,
- .brw = BRW_NEW_BATCH | BRW_NEW_INDEX_BUFFER,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_INDEX_BUFFER,
.cache = 0,
},
.emit = brw_emit_index_buffer,
const struct brw_tracked_state brw_ff_gs_prog = {
.dirty = {
- .mesa = (_NEW_LIGHT),
- .brw = (BRW_NEW_PRIMITIVE |
- BRW_NEW_TRANSFORM_FEEDBACK),
+ .mesa = _NEW_LIGHT,
+ .brw = BRW_NEW_PRIMITIVE |
+ BRW_NEW_TRANSFORM_FEEDBACK,
.cache = CACHE_NEW_VS_PROG
},
.emit = brw_upload_ff_gs_prog
const struct brw_tracked_state brw_gs_prog = {
.dirty = {
- .mesa = (_NEW_LIGHT | _NEW_BUFFERS | _NEW_TEXTURE),
- .brw = (BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_VUE_MAP_VS |
- BRW_NEW_TRANSFORM_FEEDBACK),
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_TEXTURE,
+ .brw = BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_TRANSFORM_FEEDBACK |
+ BRW_NEW_VUE_MAP_VS,
},
.emit = brw_upload_gs_prog
};
const struct brw_tracked_state brw_gs_unit = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE |
- BRW_NEW_CURBE_OFFSETS |
- BRW_NEW_URB_FENCE),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CURBE_OFFSETS |
+ BRW_NEW_PROGRAM_CACHE |
+ BRW_NEW_URB_FENCE,
.cache = CACHE_NEW_FF_GS_PROG
},
.emit = brw_upload_gs_unit,
const struct brw_tracked_state brw_gs_pull_constants = {
.dirty = {
- .mesa = (_NEW_PROGRAM_CONSTANTS),
- .brw = (BRW_NEW_BATCH | BRW_NEW_GEOMETRY_PROGRAM),
+ .mesa = _NEW_PROGRAM_CONSTANTS,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM,
.cache = CACHE_NEW_GS_PROG,
},
.emit = brw_upload_gs_pull_constants,
const struct brw_tracked_state brw_gs_ubo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_UNIFORM_BUFFER,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_UNIFORM_BUFFER,
.cache = CACHE_NEW_GS_PROG,
},
.emit = brw_upload_gs_ubo_surfaces,
const struct brw_tracked_state brw_gs_abo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_ATOMIC_BUFFER,
+ .brw = BRW_NEW_ATOMIC_BUFFER |
+ BRW_NEW_BATCH,
.cache = CACHE_NEW_GS_PROG,
},
.emit = brw_upload_gs_abo_surfaces,
const struct brw_tracked_state brw_interpolation_map = {
.dirty = {
.mesa = _NEW_LIGHT,
- .brw = (BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_VUE_MAP_GEOM_OUT)
+ .brw = BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
},
.emit = brw_setup_vue_interpolation
};
const struct brw_tracked_state brw_psp_urb_cbs = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_URB_FENCE |
- BRW_NEW_BATCH |
- BRW_NEW_STATE_BASE_ADDRESS),
- .cache = (CACHE_NEW_VS_UNIT |
- CACHE_NEW_FF_GS_UNIT |
- CACHE_NEW_FF_GS_PROG |
- CACHE_NEW_CLIP_UNIT |
- CACHE_NEW_SF_UNIT |
- CACHE_NEW_WM_UNIT |
- CACHE_NEW_CC_UNIT)
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS |
+ BRW_NEW_URB_FENCE,
+ .cache = CACHE_NEW_CC_UNIT |
+ CACHE_NEW_CLIP_UNIT |
+ CACHE_NEW_FF_GS_PROG |
+ CACHE_NEW_FF_GS_UNIT |
+ CACHE_NEW_SF_UNIT |
+ CACHE_NEW_VS_UNIT |
+ CACHE_NEW_WM_UNIT,
},
.emit = upload_psp_urb_cbs,
};
const struct brw_tracked_state brw_polygon_stipple = {
.dirty = {
- .mesa = (_NEW_POLYGONSTIPPLE |
- _NEW_POLYGON),
+ .mesa = _NEW_POLYGON |
+ _NEW_POLYGONSTIPPLE,
.brw = BRW_NEW_CONTEXT,
.cache = 0
},
const struct brw_tracked_state brw_polygon_stipple_offset = {
.dirty = {
- .mesa = (_NEW_BUFFERS |
- _NEW_POLYGON),
+ .mesa = _NEW_BUFFERS |
+ _NEW_POLYGON,
.brw = BRW_NEW_CONTEXT,
.cache = 0
},
const struct brw_tracked_state brw_state_base_address = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_PROGRAM_CACHE,
.cache = 0,
},
.emit = upload_state_base_address
const struct brw_tracked_state brw_sf_prog = {
.dirty = {
- .mesa = (_NEW_HINT | _NEW_LIGHT | _NEW_POLYGON | _NEW_POINT |
- _NEW_TRANSFORM | _NEW_BUFFERS | _NEW_PROGRAM),
- .brw = (BRW_NEW_REDUCED_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT |
- BRW_NEW_INTERPOLATION_MAP)
+ .mesa = _NEW_BUFFERS |
+ _NEW_HINT |
+ _NEW_LIGHT |
+ _NEW_POINT |
+ _NEW_POLYGON |
+ _NEW_PROGRAM |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_INTERPOLATION_MAP |
+ BRW_NEW_REDUCED_PRIMITIVE |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
},
.emit = brw_upload_sf_prog
};
const struct brw_tracked_state brw_sf_vp = {
.dirty = {
- .mesa = (_NEW_VIEWPORT |
- _NEW_SCISSOR |
- _NEW_BUFFERS),
+ .mesa = _NEW_BUFFERS |
+ _NEW_SCISSOR |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0
},
const struct brw_tracked_state brw_sf_unit = {
.dirty = {
- .mesa = (_NEW_POLYGON |
- _NEW_PROGRAM |
- _NEW_LIGHT |
- _NEW_LINE |
- _NEW_POINT |
- _NEW_SCISSOR |
- _NEW_BUFFERS),
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE |
- BRW_NEW_URB_FENCE),
- .cache = (CACHE_NEW_SF_VP |
- CACHE_NEW_SF_PROG)
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_LINE |
+ _NEW_POINT |
+ _NEW_POLYGON |
+ _NEW_PROGRAM |
+ _NEW_SCISSOR,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_PROGRAM_CACHE |
+ BRW_NEW_URB_FENCE,
+ .cache = CACHE_NEW_SF_PROG |
+ CACHE_NEW_SF_VP,
},
.emit = upload_sf_unit,
};
.dirty = {
.mesa = 0,
.brw = BRW_NEW_CURBE_OFFSETS,
- .cache = (CACHE_NEW_VS_PROG |
- CACHE_NEW_SF_PROG)
+ .cache = CACHE_NEW_SF_PROG |
+ CACHE_NEW_VS_PROG,
},
.emit = recalculate_urb_fence
};
*/
const struct brw_tracked_state brw_vs_prog = {
.dirty = {
- .mesa = (_NEW_TRANSFORM | _NEW_POLYGON | _NEW_POINT | _NEW_LIGHT |
- _NEW_TEXTURE |
- _NEW_BUFFERS),
- .brw = (BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_VERTICES),
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POINT |
+ _NEW_POLYGON |
+ _NEW_TEXTURE |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_VERTICES,
.cache = 0
},
.emit = brw_upload_vs_prog
const struct brw_tracked_state brw_vs_unit = {
.dirty = {
.mesa = _NEW_TRANSFORM,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE |
- BRW_NEW_CURBE_OFFSETS |
- BRW_NEW_URB_FENCE |
- BRW_NEW_VERTEX_PROGRAM),
- .cache = CACHE_NEW_VS_PROG | CACHE_NEW_SAMPLER
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CURBE_OFFSETS |
+ BRW_NEW_PROGRAM_CACHE |
+ BRW_NEW_URB_FENCE |
+ BRW_NEW_VERTEX_PROGRAM,
+ .cache = CACHE_NEW_SAMPLER |
+ CACHE_NEW_VS_PROG,
},
.emit = brw_upload_vs_unit,
};
const struct brw_tracked_state brw_vs_pull_constants = {
.dirty = {
- .mesa = (_NEW_PROGRAM_CONSTANTS),
- .brw = (BRW_NEW_BATCH | BRW_NEW_VERTEX_PROGRAM),
+ .mesa = _NEW_PROGRAM_CONSTANTS,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = CACHE_NEW_VS_PROG,
},
.emit = brw_upload_vs_pull_constants,
const struct brw_tracked_state brw_vs_ubo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_UNIFORM_BUFFER,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_UNIFORM_BUFFER,
.cache = CACHE_NEW_VS_PROG,
},
.emit = brw_upload_vs_ubo_surfaces,
const struct brw_tracked_state brw_vs_abo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_ATOMIC_BUFFER,
+ .brw = BRW_NEW_ATOMIC_BUFFER |
+ BRW_NEW_BATCH,
.cache = CACHE_NEW_VS_PROG,
},
.emit = brw_upload_vs_abo_surfaces,
const struct brw_tracked_state brw_wm_prog = {
.dirty = {
- .mesa = (_NEW_COLOR |
- _NEW_DEPTH |
- _NEW_STENCIL |
- _NEW_POLYGON |
- _NEW_LINE |
- _NEW_HINT |
- _NEW_LIGHT |
- _NEW_FRAG_CLAMP |
- _NEW_BUFFERS |
- _NEW_TEXTURE |
- _NEW_MULTISAMPLE),
- .brw = (BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_REDUCED_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT |
- BRW_NEW_STATS_WM)
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_DEPTH |
+ _NEW_FRAG_CLAMP |
+ _NEW_HINT |
+ _NEW_LIGHT |
+ _NEW_LINE |
+ _NEW_MULTISAMPLE |
+ _NEW_POLYGON |
+ _NEW_STENCIL |
+ _NEW_TEXTURE,
+ .brw = BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_REDUCED_PRIMITIVE |
+ BRW_NEW_STATS_WM |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
},
.emit = brw_upload_wm_prog
};
const struct brw_tracked_state brw_wm_unit = {
.dirty = {
- .mesa = (_NEW_POLYGON |
- _NEW_POLYGONSTIPPLE |
- _NEW_LINE |
- _NEW_COLOR |
- _NEW_BUFFERS),
-
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_PROGRAM_CACHE |
- BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_CURBE_OFFSETS |
- BRW_NEW_STATS_WM),
-
- .cache = (CACHE_NEW_WM_PROG |
- CACHE_NEW_SAMPLER)
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_LINE |
+ _NEW_POLYGON |
+ _NEW_POLYGONSTIPPLE,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CURBE_OFFSETS |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_PROGRAM_CACHE |
+ BRW_NEW_STATS_WM,
+ .cache = CACHE_NEW_SAMPLER |
+ CACHE_NEW_WM_PROG,
},
.emit = brw_upload_wm_unit,
};
const struct brw_tracked_state brw_wm_pull_constants = {
.dirty = {
- .mesa = (_NEW_PROGRAM_CONSTANTS),
- .brw = (BRW_NEW_BATCH | BRW_NEW_FRAGMENT_PROGRAM),
+ .mesa = _NEW_PROGRAM_CONSTANTS,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM,
.cache = CACHE_NEW_WM_PROG,
},
.emit = brw_upload_wm_pull_constants,
const struct brw_tracked_state brw_renderbuffer_surfaces = {
.dirty = {
- .mesa = (_NEW_COLOR |
- _NEW_BUFFERS),
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR,
.brw = BRW_NEW_BATCH,
.cache = 0
},
.dirty = {
.mesa = _NEW_TEXTURE,
.brw = BRW_NEW_BATCH |
- BRW_NEW_TEXTURE_BUFFER |
- BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_FRAGMENT_PROGRAM |
BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_FRAGMENT_PROGRAM,
+ BRW_NEW_TEXTURE_BUFFER |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = 0
},
.emit = brw_update_texture_surfaces,
const struct brw_tracked_state brw_wm_ubo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_UNIFORM_BUFFER,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_UNIFORM_BUFFER,
.cache = CACHE_NEW_WM_PROG,
},
.emit = brw_upload_wm_ubo_surfaces,
const struct brw_tracked_state brw_wm_abo_surfaces = {
.dirty = {
.mesa = _NEW_PROGRAM,
- .brw = BRW_NEW_BATCH | BRW_NEW_ATOMIC_BUFFER,
+ .brw = BRW_NEW_ATOMIC_BUFFER |
+ BRW_NEW_BATCH,
.cache = CACHE_NEW_WM_PROG,
},
.emit = brw_upload_wm_abo_surfaces,
const struct brw_tracked_state gen6_blend_state = {
.dirty = {
- .mesa = (_NEW_COLOR |
- _NEW_BUFFERS |
- _NEW_MULTISAMPLE),
- .brw = BRW_NEW_BATCH | BRW_NEW_STATE_BASE_ADDRESS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_MULTISAMPLE,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
.cache = 0,
},
.emit = gen6_upload_blend_state,
const struct brw_tracked_state gen6_color_calc_state = {
.dirty = {
- .mesa = _NEW_COLOR | _NEW_STENCIL,
- .brw = BRW_NEW_BATCH | BRW_NEW_STATE_BASE_ADDRESS,
+ .mesa = _NEW_COLOR |
+ _NEW_STENCIL,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
.cache = 0,
},
.emit = gen6_upload_color_calc_state,
const struct brw_tracked_state gen6_clip_state = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_LIGHT | _NEW_BUFFERS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_TRANSFORM,
.brw = BRW_NEW_CONTEXT |
BRW_NEW_META_IN_PROGRESS |
BRW_NEW_RASTERIZER_DISCARD,
const struct brw_tracked_state gen7_clip_state = {
.dirty = {
- .mesa = _NEW_BUFFERS | _NEW_LIGHT | _NEW_POLYGON | _NEW_TRANSFORM,
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POLYGON |
+ _NEW_TRANSFORM,
.brw = BRW_NEW_CONTEXT |
BRW_NEW_META_IN_PROGRESS |
BRW_NEW_RASTERIZER_DISCARD,
const struct brw_tracked_state gen6_depth_stencil_state = {
.dirty = {
- .mesa = _NEW_DEPTH | _NEW_STENCIL | _NEW_BUFFERS,
- .brw = BRW_NEW_BATCH | BRW_NEW_STATE_BASE_ADDRESS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_DEPTH |
+ _NEW_STENCIL,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
.cache = 0,
},
.emit = gen6_upload_depth_stencil_state,
const struct brw_tracked_state gen6_gs_push_constants = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION),
+ .mesa = _NEW_PROGRAM_CONSTANTS |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION,
.cache = CACHE_NEW_GS_PROG,
},
.emit = gen6_upload_gs_push_constants,
const struct brw_tracked_state gen6_gs_state = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_BATCH),
- .cache = (CACHE_NEW_GS_PROG | CACHE_NEW_FF_GS_PROG)
+ .mesa = _NEW_PROGRAM_CONSTANTS |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION,
+ .cache = CACHE_NEW_FF_GS_PROG |
+ CACHE_NEW_GS_PROG,
},
.emit = upload_gs_state,
};
const struct brw_tracked_state gen6_multisample_state = {
.dirty = {
.mesa = _NEW_MULTISAMPLE,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_NUM_SAMPLES),
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_NUM_SAMPLES,
.cache = 0
},
.emit = upload_multisample_state
const struct brw_tracked_state gen6_sampler_state = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_STATE_BASE_ADDRESS),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
.cache = CACHE_NEW_SAMPLER
},
.emit = upload_sampler_state_pointers,
const struct brw_tracked_state gen6_scissor_state = {
.dirty = {
- .mesa = _NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT,
+ .mesa = _NEW_BUFFERS |
+ _NEW_SCISSOR |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0,
},
const struct brw_tracked_state gen6_sf_state = {
.dirty = {
- .mesa = (_NEW_LIGHT |
- _NEW_PROGRAM |
- _NEW_POLYGON |
- _NEW_LINE |
- _NEW_SCISSOR |
- _NEW_BUFFERS |
- _NEW_POINT |
- _NEW_MULTISAMPLE),
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT),
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_LINE |
+ _NEW_MULTISAMPLE |
+ _NEW_POINT |
+ _NEW_POLYGON |
+ _NEW_PROGRAM |
+ _NEW_SCISSOR,
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_PRIMITIVE |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
.cache = CACHE_NEW_WM_PROG
},
.emit = upload_sf_state,
const struct brw_tracked_state gen6_sol_surface = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_TRANSFORM_FEEDBACK),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_TRANSFORM_FEEDBACK,
.cache = 0
},
.emit = gen6_update_sol_surfaces,
const struct brw_tracked_state gen6_gs_binding_table = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_SURFACES),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_VERTEX_PROGRAM |
+ BRW_NEW_SURFACES,
.cache = 0
},
.emit = brw_gs_upload_binding_table,
const struct brw_tracked_state gen6_urb = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_CONTEXT | BRW_NEW_GEOMETRY_PROGRAM),
- .cache = (CACHE_NEW_VS_PROG | CACHE_NEW_GS_PROG | CACHE_NEW_FF_GS_PROG),
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_GEOMETRY_PROGRAM,
+ .cache = CACHE_NEW_GS_PROG |
+ CACHE_NEW_VS_PROG |
+ CACHE_NEW_FF_GS_PROG,
},
.emit = gen6_upload_urb,
};
const struct brw_tracked_state gen6_sf_vp = {
.dirty = {
- .mesa = _NEW_VIEWPORT | _NEW_BUFFERS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0,
},
const struct brw_tracked_state gen6_viewport_state = {
.dirty = {
.mesa = 0,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_STATE_BASE_ADDRESS),
- .cache = (CACHE_NEW_CLIP_VP |
- CACHE_NEW_SF_VP |
- CACHE_NEW_CC_VP)
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
+ .cache = CACHE_NEW_CC_VP |
+ CACHE_NEW_CLIP_VP |
+ CACHE_NEW_SF_VP,
},
.emit = upload_viewport_state_pointers,
};
const struct brw_tracked_state gen6_vs_push_constants = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION),
+ .mesa = _NEW_PROGRAM_CONSTANTS |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = CACHE_NEW_VS_PROG,
},
.emit = gen6_upload_vs_push_constants,
const struct brw_tracked_state gen6_vs_state = {
.dirty = {
- .mesa = _NEW_TRANSFORM | _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_BATCH |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION),
+ .mesa = _NEW_PROGRAM_CONSTANTS |
+ _NEW_TRANSFORM,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = CACHE_NEW_VS_PROG
},
.emit = upload_vs_state,
const struct brw_tracked_state gen6_wm_push_constants = {
.dirty = {
.mesa = _NEW_PROGRAM_CONSTANTS,
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION,
.cache = CACHE_NEW_WM_PROG,
},
.emit = gen6_upload_wm_push_constants,
const struct brw_tracked_state gen6_wm_state = {
.dirty = {
- .mesa = (_NEW_LINE |
- _NEW_COLOR |
- _NEW_BUFFERS |
- _NEW_PROGRAM_CONSTANTS |
- _NEW_POLYGON |
- _NEW_MULTISAMPLE),
- .brw = (BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_BATCH |
- BRW_NEW_PUSH_CONSTANT_ALLOCATION),
- .cache = (CACHE_NEW_WM_PROG)
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_LINE |
+ _NEW_MULTISAMPLE |
+ _NEW_POLYGON |
+ _NEW_PROGRAM_CONSTANTS,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_PUSH_CONSTANT_ALLOCATION,
+ .cache = CACHE_NEW_WM_PROG
},
.emit = upload_wm_state,
};
const struct brw_tracked_state gen7_gs_state = {
.dirty = {
.mesa = _NEW_TRANSFORM,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_BATCH),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_GEOMETRY_PROGRAM,
.cache = CACHE_NEW_GS_PROG
},
.emit = upload_gs_state,
*/
const struct brw_tracked_state gen7_depthbuffer = {
.dirty = {
- .mesa = (_NEW_BUFFERS | _NEW_DEPTH | _NEW_STENCIL),
+ .mesa = _NEW_BUFFERS |
+ _NEW_DEPTH |
+ _NEW_STENCIL,
.brw = BRW_NEW_BATCH,
.cache = 0,
},
const struct brw_tracked_state gen7_sbe_state = {
.dirty = {
- .mesa = (_NEW_BUFFERS |
- _NEW_LIGHT |
- _NEW_POINT |
- _NEW_PROGRAM),
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_PRIMITIVE |
- BRW_NEW_VUE_MAP_GEOM_OUT),
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POINT |
+ _NEW_PROGRAM,
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_GEOMETRY_PROGRAM |
+ BRW_NEW_PRIMITIVE |
+ BRW_NEW_VUE_MAP_GEOM_OUT,
.cache = CACHE_NEW_WM_PROG
},
.emit = upload_sbe_state,
const struct brw_tracked_state gen7_sf_state = {
.dirty = {
- .mesa = (_NEW_LIGHT |
- _NEW_PROGRAM |
- _NEW_POLYGON |
- _NEW_LINE |
- _NEW_SCISSOR |
- _NEW_BUFFERS |
- _NEW_POINT |
- _NEW_MULTISAMPLE),
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_LINE |
+ _NEW_MULTISAMPLE |
+ _NEW_POINT |
+ _NEW_POLYGON |
+ _NEW_PROGRAM |
+ _NEW_SCISSOR,
.brw = BRW_NEW_CONTEXT,
.cache = 0,
},
const struct brw_tracked_state gen7_sol_state = {
.dirty = {
- .mesa = (_NEW_LIGHT),
- .brw = (BRW_NEW_BATCH |
- BRW_NEW_VUE_MAP_GEOM_OUT |
- BRW_NEW_TRANSFORM_FEEDBACK)
+ .mesa = _NEW_LIGHT,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_VUE_MAP_GEOM_OUT |
+ BRW_NEW_TRANSFORM_FEEDBACK,
},
.emit = upload_sol_state,
};
const struct brw_tracked_state gen7_urb = {
.dirty = {
.mesa = 0,
- .brw = BRW_NEW_CONTEXT | BRW_NEW_GEOMETRY_PROGRAM,
- .cache = (CACHE_NEW_VS_PROG | CACHE_NEW_GS_PROG),
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_GEOMETRY_PROGRAM,
+ .cache = CACHE_NEW_VS_PROG |
+ CACHE_NEW_GS_PROG,
},
.emit = gen7_upload_urb,
};
const struct brw_tracked_state gen7_sf_clip_viewport = {
.dirty = {
- .mesa = _NEW_VIEWPORT | _NEW_BUFFERS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0,
},
const struct brw_tracked_state gen7_vs_state = {
.dirty = {
.mesa = _NEW_TRANSFORM,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_BATCH),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = CACHE_NEW_VS_PROG
},
.emit = upload_vs_state,
const struct brw_tracked_state gen7_wm_state = {
.dirty = {
- .mesa = (_NEW_LINE | _NEW_POLYGON |
- _NEW_COLOR | _NEW_BUFFERS |
- _NEW_MULTISAMPLE),
- .brw = (BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_BATCH),
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_LINE |
+ _NEW_MULTISAMPLE |
+ _NEW_POLYGON,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM,
.cache = CACHE_NEW_WM_PROG,
},
.emit = upload_wm_state,
const struct brw_tracked_state gen7_ps_state = {
.dirty = {
- .mesa = (_NEW_COLOR |
- _NEW_BUFFERS |
- _NEW_MULTISAMPLE),
- .brw = (BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_BATCH),
- .cache = (CACHE_NEW_WM_PROG)
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_MULTISAMPLE,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM,
+ .cache = CACHE_NEW_WM_PROG
},
.emit = upload_ps_state,
};
const struct brw_tracked_state gen8_blend_state = {
.dirty = {
- .mesa = _NEW_COLOR | _NEW_BUFFERS | _NEW_MULTISAMPLE,
- .brw = BRW_NEW_BATCH | BRW_NEW_STATE_BASE_ADDRESS,
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_MULTISAMPLE,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_STATE_BASE_ADDRESS,
.cache = 0,
},
.emit = gen8_upload_blend_state,
const struct brw_tracked_state gen8_ps_blend = {
.dirty = {
- .mesa = _NEW_BUFFERS | _NEW_COLOR | _NEW_MULTISAMPLE,
- .brw = BRW_NEW_CONTEXT | BRW_NEW_FRAGMENT_PROGRAM,
+ .mesa = _NEW_BUFFERS |
+ _NEW_COLOR |
+ _NEW_MULTISAMPLE,
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_FRAGMENT_PROGRAM,
.cache = 0,
},
.emit = gen8_upload_ps_blend
const struct brw_tracked_state gen8_vertices = {
.dirty = {
.mesa = _NEW_POLYGON,
- .brw = BRW_NEW_BATCH | BRW_NEW_VERTICES,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_VERTICES,
.cache = CACHE_NEW_VS_PROG,
},
.emit = gen8_emit_vertices,
const struct brw_tracked_state gen8_index_buffer = {
.dirty = {
.mesa = 0,
- .brw = BRW_NEW_BATCH | BRW_NEW_INDEX_BUFFER,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_INDEX_BUFFER,
.cache = 0,
},
.emit = gen8_emit_index_buffer,
const struct brw_tracked_state gen8_gs_state = {
.dirty = {
.mesa = _NEW_TRANSFORM,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_GEOMETRY_PROGRAM |
- BRW_NEW_BATCH),
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_GEOMETRY_PROGRAM,
.cache = CACHE_NEW_GS_PROG
},
.emit = gen8_upload_gs_state,
const struct brw_tracked_state gen8_state_base_address = {
.dirty = {
.mesa = 0,
- .brw = BRW_NEW_BATCH | BRW_NEW_PROGRAM_CACHE,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_PROGRAM_CACHE,
.cache = 0,
},
.emit = upload_state_base_address
const struct brw_tracked_state gen8_multisample_state = {
.dirty = {
.mesa = _NEW_MULTISAMPLE,
- .brw = (BRW_NEW_CONTEXT |
- BRW_NEW_NUM_SAMPLES),
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_NUM_SAMPLES,
.cache = 0
},
.emit = upload_multisample_state
const struct brw_tracked_state gen8_ps_extra = {
.dirty = {
.mesa = _NEW_MULTISAMPLE,
- .brw = BRW_NEW_CONTEXT | BRW_NEW_FRAGMENT_PROGRAM | BRW_NEW_NUM_SAMPLES,
+ .brw = BRW_NEW_CONTEXT |
+ BRW_NEW_FRAGMENT_PROGRAM |
+ BRW_NEW_NUM_SAMPLES,
.cache = CACHE_NEW_WM_PROG,
},
.emit = upload_ps_extra,
const struct brw_tracked_state gen8_wm_state = {
.dirty = {
- .mesa = _NEW_LINE | _NEW_POLYGON,
+ .mesa = _NEW_LINE |
+ _NEW_POLYGON,
.brw = BRW_NEW_CONTEXT,
.cache = CACHE_NEW_WM_PROG,
},
const struct brw_tracked_state gen8_ps_state = {
.dirty = {
.mesa = _NEW_MULTISAMPLE,
- .brw = BRW_NEW_FRAGMENT_PROGRAM |
- BRW_NEW_BATCH,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_FRAGMENT_PROGRAM,
.cache = CACHE_NEW_WM_PROG
},
.emit = upload_ps_state,
const struct brw_tracked_state gen8_sbe_state = {
.dirty = {
- .mesa = _NEW_BUFFERS | _NEW_LIGHT | _NEW_POINT | _NEW_PROGRAM,
+ .mesa = _NEW_BUFFERS |
+ _NEW_LIGHT |
+ _NEW_POINT |
+ _NEW_PROGRAM,
.brw = BRW_NEW_CONTEXT |
BRW_NEW_FRAGMENT_PROGRAM |
BRW_NEW_VUE_MAP_GEOM_OUT,
const struct brw_tracked_state gen8_sf_clip_viewport = {
.dirty = {
- .mesa = _NEW_BUFFERS | _NEW_VIEWPORT,
+ .mesa = _NEW_BUFFERS |
+ _NEW_VIEWPORT,
.brw = BRW_NEW_BATCH,
.cache = 0,
},
const struct brw_tracked_state gen8_vs_state = {
.dirty = {
.mesa = _NEW_TRANSFORM,
- .brw = BRW_NEW_CONTEXT |
- BRW_NEW_VERTEX_PROGRAM |
- BRW_NEW_BATCH,
+ .brw = BRW_NEW_BATCH |
+ BRW_NEW_CONTEXT |
+ BRW_NEW_VERTEX_PROGRAM,
.cache = CACHE_NEW_VS_PROG
},
.emit = upload_vs_state,
const struct brw_tracked_state gen8_wm_depth_stencil = {
.dirty = {
- .mesa = _NEW_BUFFERS | _NEW_DEPTH | _NEW_STENCIL,
+ .mesa = _NEW_BUFFERS |
+ _NEW_DEPTH |
+ _NEW_STENCIL,
.brw = BRW_NEW_CONTEXT,
.cache = 0,
},