anv: Set 3DSTATE_RASTER API mode as recomended

TGL+ specification ask the API mode to be set to DX10.1 for Vulkan API.

BSpec: 46947
Reference: TGL PRMs, Volume 2d: Command Reference: Structures: 3DSTATE_RASTER_BODY
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19934>
This commit is contained in:
José Roberto de Souza 2022-11-22 08:04:58 -08:00 committed by Marge Bot
parent 505a5bc79f
commit 15c1a9ed60
2 changed files with 6 additions and 3 deletions

View file

@ -639,7 +639,7 @@ genX(rasterization_mode)(VkPolygonMode raster_mode,
*/
switch (line_mode) {
case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT:
*api_mode = DX100;
*api_mode = DX101;
#if GFX_VER <= 9
/* Prior to ICL, the algorithm the HW uses to draw wide lines
* doesn't quite match what the CTS expects, at least for rectangular
@ -662,7 +662,7 @@ genX(rasterization_mode)(VkPolygonMode raster_mode,
unreachable("Unsupported line rasterization mode");
}
} else {
*api_mode = DX100;
*api_mode = DX101;
*msaa_rasterization_enable = true;
}
}
@ -724,6 +724,7 @@ emit_rs_state(struct anv_graphics_pipeline *pipeline,
raster.ConservativeRasterizationEnable =
rs->conservative_mode != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
raster.APIMode = DX101;
GENX(3DSTATE_SF_pack)(NULL, pipeline->gfx8.sf, &sf);
GENX(3DSTATE_RASTER_pack)(NULL, pipeline->gfx8.raster, &raster);

View file

@ -311,7 +311,9 @@ init_render_queue_state(struct anv_queue *queue)
*
* Emit this before 3DSTATE_WM_HZ_OP below.
*/
anv_batch_emit(&batch, GENX(3DSTATE_RASTER), rast);
anv_batch_emit(&batch, GENX(3DSTATE_RASTER), rast) {
rast.APIMode = DX101;
}
/* SKL PRMs, Volume 2a: Command Reference: Instructions: 3DSTATE_WM_HZ_OP:
*