LunarG / VulkanTools

Tools to aid in Vulkan development
Other
662 stars 174 forks source link

layer: Update Android layer settings doc #2045

Closed christophe-lunarg closed 2 months ago

christophe-lunarg commented 2 months ago

Note that VK_APIDUMP_LOG_FILENAME is still supported for backward compatibility reason but VK_API_DUMP_LOG_FILENAME is the expect name.

Environment variable layer settings names are built this way: VK_[VENDOR_][LAYER_NAME_POSTFIX_]SETTING_NAME

For Android, the name are build similarly: debug.vulkan.[VENDOR.][LAYER_NAME_POSTFIX.]setting_name

The layer settings library will first search the full name : debug.vulkan.lunarg.api_dump.setting_name

And then trim the vendor name: debug.vulkan.api_dump.setting_name

And then trim the layer name: debug.vulkan.setting_name

Enabling using the same setting for multiple layers and also as a trick to be more backward compatible with the previous layer setting system and each layer implementation that were quite inconsistent.

An inconsistency with API Dump is that in the environment name the _ was remove... There is a workaround in API dump to support both API_DUMP and APIDUMP.

Unfortunately using a _ in apidump_log_filename as a separator between the layer name and the setting name is a case that was not covered by the layer setting library... Should we add backward compatbility for that? That will be a pretty hacky thing to do, sadly not the only thing hacky in the layer settings library as the layer settings across layers were badly inconsistent with details like this...

ci-tester-lunarg commented 2 months ago

CI VulkanTools build # 3227 passed.

mark-lunarg commented 2 months ago

Hey @christophe-lunarg, this is great and is exactly what I had hoped for. I think the doc change is appropriate, and I do not think it is worth trying to retroactively add support for the apidump_setting_name stuff in the old docs (obviously, these settings are not used very often). So I think this is good to go as-is. Note that there is also documentation in the SDK that should be updated to match also. Thanks for this! Oh, one more thing, I think the description you added for this PR is valuable enough to live permanently in the vulkan-utility-library docs someplace -- excellent!