anv: enable graphics pipeline libraries by default
Since we are disabling mesh, which has issues with gpl, enable gpl by default now, leaving the renamed environment variable as a way to disable it for debug purposes. Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22910>
This commit is contained in:
@@ -430,10 +430,10 @@ on Windows.
|
|||||||
Intel driver environment variables
|
Intel driver environment variables
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
.. envvar:: ANV_GPL
|
.. envvar:: ANV_NO_GPL
|
||||||
|
|
||||||
If set to 1, true, or yes, then VK_EXT_graphics_pipeline_library
|
If set to 1, true, or yes, then VK_EXT_graphics_pipeline_library
|
||||||
will be exposed, which may be incompatible with mesh shaders.
|
will be disabled.
|
||||||
|
|
||||||
.. envvar:: INTEL_BLACKHOLE_DEFAULT
|
.. envvar:: INTEL_BLACKHOLE_DEFAULT
|
||||||
|
|
||||||
|
@@ -4,12 +4,3 @@ deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk"
|
|||||||
caselists = ["/deqp/mustpass/vk-master.txt"]
|
caselists = ["/deqp/mustpass/vk-master.txt"]
|
||||||
fraction = 2
|
fraction = 2
|
||||||
renderer_check = "TGL GT2"
|
renderer_check = "TGL GT2"
|
||||||
|
|
||||||
[[deqp]]
|
|
||||||
deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk"
|
|
||||||
caselists = ["/deqp/mustpass/vk-master.txt"]
|
|
||||||
fraction = 2
|
|
||||||
include = ["dEQP-VK.pipeline.pipeline_library"]
|
|
||||||
prefix = "gpl-"
|
|
||||||
[deqp.env]
|
|
||||||
ANV_GPL = "true"
|
|
||||||
|
@@ -315,7 +315,7 @@ get_device_extensions(const struct anv_physical_device *device,
|
|||||||
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
|
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
|
||||||
.EXT_global_priority_query = device->max_context_priority >=
|
.EXT_global_priority_query = device->max_context_priority >=
|
||||||
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
|
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
|
||||||
.EXT_graphics_pipeline_library = device->gpl_enabled,
|
.EXT_graphics_pipeline_library = !debug_get_bool_option("ANV_NO_GPL", false),
|
||||||
.EXT_host_query_reset = true,
|
.EXT_host_query_reset = true,
|
||||||
.EXT_image_2d_view_of_3d = true,
|
.EXT_image_2d_view_of_3d = true,
|
||||||
.EXT_image_robustness = true,
|
.EXT_image_robustness = true,
|
||||||
@@ -589,7 +589,8 @@ get_features(const struct anv_physical_device *pdevice,
|
|||||||
.globalPriorityQuery = true,
|
.globalPriorityQuery = true,
|
||||||
|
|
||||||
/* VK_EXT_graphics_pipeline_library */
|
/* VK_EXT_graphics_pipeline_library */
|
||||||
.graphicsPipelineLibrary = pdevice->gpl_enabled,
|
.graphicsPipelineLibrary =
|
||||||
|
pdevice->vk.supported_features.graphicsPipelineLibrary,
|
||||||
|
|
||||||
/* VK_KHR_fragment_shading_rate */
|
/* VK_KHR_fragment_shading_rate */
|
||||||
.pipelineFragmentShadingRate = true,
|
.pipelineFragmentShadingRate = true,
|
||||||
@@ -1343,18 +1344,6 @@ anv_physical_device_try_create(struct vk_instance *vk_instance,
|
|||||||
debug_get_bool_option("ANV_ENABLE_GENERATED_INDIRECT_DRAWS",
|
debug_get_bool_option("ANV_ENABLE_GENERATED_INDIRECT_DRAWS",
|
||||||
true);
|
true);
|
||||||
|
|
||||||
/* The GPL implementation is new, and may have issues in conjunction with
|
|
||||||
* mesh shading. Enable it by default for zink for performance reasons (where
|
|
||||||
* mesh shading is unused anyway), and have an env var for testing in CI or
|
|
||||||
* by end users.
|
|
||||||
* */
|
|
||||||
if (debug_get_bool_option("ANV_GPL",
|
|
||||||
instance->vk.app_info.engine_name != NULL &&
|
|
||||||
(strcmp(instance->vk.app_info.engine_name, "mesa zink") == 0 ||
|
|
||||||
strcmp(instance->vk.app_info.engine_name, "DXVK") == 0))) {
|
|
||||||
device->gpl_enabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned st_idx = 0;
|
unsigned st_idx = 0;
|
||||||
|
|
||||||
device->sync_syncobj_type = vk_drm_syncobj_get_type(fd);
|
device->sync_syncobj_type = vk_drm_syncobj_get_type(fd);
|
||||||
|
@@ -865,7 +865,6 @@ struct anv_physical_device {
|
|||||||
struct intel_device_info info;
|
struct intel_device_info info;
|
||||||
|
|
||||||
bool video_decode_enabled;
|
bool video_decode_enabled;
|
||||||
bool gpl_enabled;
|
|
||||||
|
|
||||||
struct brw_compiler * compiler;
|
struct brw_compiler * compiler;
|
||||||
struct isl_device isl_dev;
|
struct isl_device isl_dev;
|
||||||
|
Reference in New Issue
Block a user