From: Kenneth Graunke Date: Tue, 4 Oct 2016 06:41:09 +0000 (-0700) Subject: i965: Store a clip_distance_mask field similar to cull_distance_mask. X-Git-Tag: upstream/17.1.0~4562 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a1a292d17710a2bfb33f798c9f5fda73a5985261;p=platform%2Fupstream%2Fmesa.git i965: Store a clip_distance_mask field similar to cull_distance_mask. This isn't useful for legacy GL, but will be used in Vulkan. Signed-off-by: Kenneth Graunke Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/brw_compiler.h b/src/mesa/drivers/dri/i965/brw_compiler.h index c2400f9..65a7478 100644 --- a/src/mesa/drivers/dri/i965/brw_compiler.h +++ b/src/mesa/drivers/dri/i965/brw_compiler.h @@ -626,6 +626,7 @@ struct brw_vue_prog_data { GLuint urb_read_length; GLuint total_grf; + uint32_t clip_distance_mask; uint32_t cull_distance_mask; /* Used for calculating urb partitions. In the VS, this is the size of the diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 8601bb5..bee4d88 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -1376,6 +1376,8 @@ brw_compile_tes(const struct brw_compiler *compiler, return NULL; } + prog_data->base.clip_distance_mask = + ((1 << nir->info->clip_distance_array_size) - 1); prog_data->base.cull_distance_mask = ((1 << nir->info->cull_distance_array_size) - 1) << nir->info->clip_distance_array_size; diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index 4da8f6e..b9e592f 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -2121,6 +2121,8 @@ brw_compile_vs(const struct brw_compiler *compiler, void *log_data, const unsigned *assembly = NULL; + prog_data->base.clip_distance_mask = + ((1 << shader->info->clip_distance_array_size) - 1); prog_data->base.cull_distance_mask = ((1 << shader->info->cull_distance_array_size) - 1) << shader->info->clip_distance_array_size; diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp index 5e2dcc0..900d9d3 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp @@ -621,6 +621,8 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data, brw_nir_lower_vue_outputs(shader, is_scalar); shader = brw_postprocess_nir(shader, compiler->devinfo, is_scalar); + prog_data->base.clip_distance_mask = + ((1 << shader->info->clip_distance_array_size) - 1); prog_data->base.cull_distance_mask = ((1 << shader->info->cull_distance_array_size) - 1) << shader->info->clip_distance_array_size;