mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 06:20:19 +01:00
anv: remove 3DSTATE_RASTER from pipeline
At a pipeline level, we only put fixed values in this instruction. Might has well put that in the final emission and avoid : - store the instruction on the anv_graphics_pipeline - diff the instructions between pipelines Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32329>
This commit is contained in:
parent
9d8950e435
commit
2b49249a4d
4 changed files with 12 additions and 18 deletions
|
|
@ -562,7 +562,6 @@ anv_cmd_buffer_flush_pipeline_state(struct anv_cmd_buffer *cmd_buffer,
|
|||
|
||||
diff_fix_state(CLIP, partial.clip);
|
||||
diff_fix_state(SF, partial.sf);
|
||||
diff_fix_state(RASTER, partial.raster);
|
||||
diff_fix_state(MULTISAMPLE, partial.ms);
|
||||
diff_fix_state(WM, partial.wm);
|
||||
diff_fix_state(STREAMOUT, partial.so);
|
||||
|
|
|
|||
|
|
@ -4891,7 +4891,6 @@ struct anv_graphics_pipeline {
|
|||
struct {
|
||||
struct anv_gfx_state_ptr clip;
|
||||
struct anv_gfx_state_ptr sf;
|
||||
struct anv_gfx_state_ptr raster;
|
||||
struct anv_gfx_state_ptr ms;
|
||||
struct anv_gfx_state_ptr ps_extra;
|
||||
struct anv_gfx_state_ptr wm;
|
||||
|
|
|
|||
|
|
@ -2264,8 +2264,18 @@ cmd_buffer_gfx_state_emission(struct anv_cmd_buffer *cmd_buffer)
|
|||
}
|
||||
|
||||
if (BITSET_TEST(hw_state->dirty, ANV_GFX_STATE_RASTER)) {
|
||||
anv_batch_emit_merge(&cmd_buffer->batch, GENX(3DSTATE_RASTER),
|
||||
pipeline, partial.raster, raster) {
|
||||
anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_RASTER), raster) {
|
||||
/* For details on 3DSTATE_RASTER multisample state, see the BSpec
|
||||
* table "Multisample Modes State".
|
||||
*
|
||||
* NOTE: 3DSTATE_RASTER::ForcedSampleCount affects the SKL PMA fix
|
||||
* computations. If we ever set this bit to a different value, they
|
||||
* will need to be updated accordingly.
|
||||
*/
|
||||
raster.ForcedSampleCount = FSC_NUMRASTSAMPLES_0;
|
||||
raster.ForceMultisampling = false;
|
||||
raster.ScissorRectangleEnable = true;
|
||||
|
||||
SET(raster, raster, APIMode);
|
||||
SET(raster, raster, DXMultisampleRasterizationEnable);
|
||||
SET(raster, raster, AntialiasingEnable);
|
||||
|
|
|
|||
|
|
@ -764,20 +764,6 @@ emit_rs_state(struct anv_graphics_pipeline *pipeline,
|
|||
sf.PointWidth = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
anv_pipeline_emit(pipeline, partial.raster, GENX(3DSTATE_RASTER), raster) {
|
||||
/* For details on 3DSTATE_RASTER multisample state, see the BSpec table
|
||||
* "Multisample Modes State".
|
||||
*/
|
||||
/* NOTE: 3DSTATE_RASTER::ForcedSampleCount affects the BDW and SKL PMA fix
|
||||
* computations. If we ever set this bit to a different value, they will
|
||||
* need to be updated accordingly.
|
||||
*/
|
||||
raster.ForcedSampleCount = FSC_NUMRASTSAMPLES_0;
|
||||
raster.ForceMultisampling = false;
|
||||
|
||||
raster.ScissorRectangleEnable = true;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue