mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
anv: remove 3DSTATE_MULTISAMPLE from the pipeline
We can make this completely dynamic, there is no information from the pipeline. 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
2b49249a4d
commit
ce40a1e05b
4 changed files with 10 additions and 21 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(MULTISAMPLE, partial.ms);
|
||||
diff_fix_state(WM, partial.wm);
|
||||
diff_fix_state(STREAMOUT, partial.so);
|
||||
diff_fix_state(GS, partial.gs);
|
||||
|
|
|
|||
|
|
@ -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 ms;
|
||||
struct anv_gfx_state_ptr ps_extra;
|
||||
struct anv_gfx_state_ptr wm;
|
||||
struct anv_gfx_state_ptr so;
|
||||
|
|
|
|||
|
|
@ -2296,8 +2296,16 @@ cmd_buffer_gfx_state_emission(struct anv_cmd_buffer *cmd_buffer)
|
|||
}
|
||||
|
||||
if (BITSET_TEST(hw_state->dirty, ANV_GFX_STATE_MULTISAMPLE)) {
|
||||
anv_batch_emit_merge(&cmd_buffer->batch, GENX(3DSTATE_MULTISAMPLE),
|
||||
pipeline, partial.ms, ms) {
|
||||
anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_MULTISAMPLE), ms) {
|
||||
ms.PixelLocation = CENTER;
|
||||
|
||||
/* The PRM says that this bit is valid only for DX9:
|
||||
*
|
||||
* SW can choose to set this bit only for DX9 API. DX10/OGL API's
|
||||
* should not have any effect by setting or not setting this bit.
|
||||
*/
|
||||
ms.PixelPositionOffsetEnable = false;
|
||||
|
||||
SET(ms, ms, NumberofMultisamples);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -766,22 +766,6 @@ emit_rs_state(struct anv_graphics_pipeline *pipeline,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
emit_ms_state(struct anv_graphics_pipeline *pipeline,
|
||||
const struct vk_multisample_state *ms)
|
||||
{
|
||||
anv_pipeline_emit(pipeline, partial.ms, GENX(3DSTATE_MULTISAMPLE), ms) {
|
||||
ms.PixelLocation = CENTER;
|
||||
|
||||
/* The PRM says that this bit is valid only for DX9:
|
||||
*
|
||||
* SW can choose to set this bit only for DX9 API. DX10/OGL API's
|
||||
* should not have any effect by setting or not setting this bit.
|
||||
*/
|
||||
ms.PixelPositionOffsetEnable = false;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
emit_3dstate_clip(struct anv_graphics_pipeline *pipeline,
|
||||
const struct vk_input_assembly_state *ia,
|
||||
|
|
@ -1859,7 +1843,6 @@ genX(graphics_pipeline_emit)(struct anv_graphics_pipeline *pipeline,
|
|||
|
||||
emit_rs_state(pipeline, state->ia, state->rs, state->ms, state->rp,
|
||||
urb_deref_block_size);
|
||||
emit_ms_state(pipeline, state->ms);
|
||||
compute_kill_pixel(pipeline, state->ms, state);
|
||||
|
||||
emit_3dstate_clip(pipeline, state->ia, state->vp, state->rs);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue