From b1ba7ffdbd54fdb5da18d086c7b7a830e06a1cff Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 20 Feb 2019 12:50:56 +0000 Subject: [PATCH] intel: workaround VS fixed function issue on Gen9 GT1 parts The issue is noticeable in the dEQP-GLES31.functional.geometry_shading.layered.render_with_default_layer_3d test where a triangle goes missing when we use the maximum number of URB entries as specified by the documentation. Signed-off-by: Lionel Landwerlin Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107505 Reviewed-by: Kristian H. Kristensen Acked-by: Kenneth Graunke --- src/intel/dev/gen_device_info.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c index 2422c73b957..04747593291 100644 --- a/src/intel/dev/gen_device_info.c +++ b/src/intel/dev/gen_device_info.c @@ -617,6 +617,10 @@ static const struct gen_device_info gen_device_info_skl_gt1 = { .num_eu_per_subslice = 6, .l3_banks = 2, .urb.size = 192, + /* GT1 seems to have a bug in the top of the pipe (VF/VS?) fixed functions + * leading to some vertices to go missing if we use too much URB. + */ + .urb.max_entries[MESA_SHADER_VERTEX] = 928, .simulator_id = 12, }; @@ -688,6 +692,10 @@ static const struct gen_device_info gen_device_info_kbl_gt1 = { .num_subslices = { 2, }, .num_eu_per_subslice = 6, .l3_banks = 2, + /* GT1 seems to have a bug in the top of the pipe (VF/VS?) fixed functions + * leading to some vertices to go missing if we use too much URB. + */ + .urb.max_entries[MESA_SHADER_VERTEX] = 928, .simulator_id = 16, }; @@ -775,6 +783,10 @@ static const struct gen_device_info gen_device_info_cfl_gt1 = { .num_eu_per_subslice = 6, .l3_banks = 2, .urb.size = 192, + /* GT1 seems to have a bug in the top of the pipe (VF/VS?) fixed functions + * leading to some vertices to go missing if we use too much URB. + */ + .urb.max_entries[MESA_SHADER_VERTEX] = 928, .simulator_id = 24, }; static const struct gen_device_info gen_device_info_cfl_gt2 = { -- 2.30.2