anv: add support for lower_terminate_to_discard workaround
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35111>
This commit is contained in:
committed by
Marge Bot
parent
87e57a9bb2
commit
828173d79a
@@ -50,6 +50,7 @@ static const driOptionDescription anv_dri_options[] = {
|
||||
|
||||
DRI_CONF_SECTION_DEBUG
|
||||
DRI_CONF_ALWAYS_FLUSH_CACHE(false)
|
||||
DRI_CONF_VK_LOWER_TERMINATE_TO_DISCARD(false)
|
||||
DRI_CONF_VK_WSI_FORCE_BGRA8_UNORM_FIRST(false)
|
||||
DRI_CONF_VK_WSI_FORCE_SWAPCHAIN_TO_CURRENT_EXTENT(false)
|
||||
DRI_CONF_VK_X11_IGNORE_SUBOPTIMAL(false)
|
||||
@@ -211,6 +212,8 @@ anv_init_dri_options(struct anv_instance *instance)
|
||||
"custom_border_colors_without_format");
|
||||
instance->vf_component_packing =
|
||||
driQueryOptionb(&instance->dri_options, "anv_vf_component_packing");
|
||||
instance->lower_terminate_to_discard =
|
||||
driQueryOptionb(&instance->dri_options, "vk_lower_terminate_to_discard");
|
||||
|
||||
instance->stack_ids = driQueryOptioni(&instance->dri_options, "intel_stack_id");
|
||||
switch (instance->stack_ids) {
|
||||
|
||||
@@ -76,6 +76,9 @@ anv_shader_stage_to_nir(struct anv_device *device,
|
||||
|
||||
.min_ubo_alignment = ANV_UBO_ALIGNMENT,
|
||||
.min_ssbo_alignment = ANV_SSBO_ALIGNMENT,
|
||||
.workarounds = {
|
||||
.lower_terminate_to_discard = pdevice->instance->lower_terminate_to_discard,
|
||||
},
|
||||
};
|
||||
|
||||
nir_shader *nir;
|
||||
@@ -643,6 +646,11 @@ anv_pipeline_hash_common(struct mesa_sha1 *ctx,
|
||||
const bool indirect_descriptors = device->physical->indirect_descriptors;
|
||||
_mesa_sha1_update(ctx, &indirect_descriptors, sizeof(indirect_descriptors));
|
||||
|
||||
const bool lower_terminate_to_discard =
|
||||
device->physical->instance->lower_terminate_to_discard;
|
||||
_mesa_sha1_update(ctx, &lower_terminate_to_discard,
|
||||
sizeof(lower_terminate_to_discard));
|
||||
|
||||
const bool rba = device->robust_buffer_access;
|
||||
_mesa_sha1_update(ctx, &rba, sizeof(rba));
|
||||
|
||||
|
||||
@@ -1365,6 +1365,7 @@ struct anv_instance {
|
||||
bool assume_full_subgroups_with_barrier;
|
||||
bool assume_full_subgroups_with_shared_memory;
|
||||
bool limit_trig_input_range;
|
||||
bool lower_terminate_to_discard;
|
||||
bool sample_mask_out_opengl_behaviour;
|
||||
bool force_filter_addr_rounding;
|
||||
bool fp64_workaround_enabled;
|
||||
|
||||
Reference in New Issue
Block a user