Skip to content

vkconfig: Add multiple triggers to layer developer messages #2669

@christophe-lunarg

Description

@christophe-lunarg

Eg:

"triggers": [
    {
        "label": "Only info"
        "conditions": [
            { "setting": { "key": "gpu_dump_descriptors", "value": true }},
            { "setting": { "key": "gpu_dump_to_stdout", "value": false }},
            { "setting": { "key": "report_flags", "value": ["info"]}, "operator": "NOT" }
        ]
    },
    {
        "label": "Info and warning"
        "conditions": [
            { "setting": { "key": "gpu_dump_descriptors", "value": true }},
            { "setting": { "key": "gpu_dump_to_stdout", "value": false }},
            { "setting": { "key": "report_flags", "value": ["info", "warning"]}, "operator": "NOT" }
        ]
    }
],

Instead of:

"conditions": [
    { "setting": { "key": "gpu_dump_copy_memory_indirect", "value": true }},
    { "setting": { "key": "gpu_dump_to_stdout", "value": false }},
    { "setting": { "key": "report_flags", "value": ["info"]}, "operator": "NOT" }
],

The JSON schema:

                    "conditions": {
                        "type": "array",
                        "items": {
                            "required": [
                                "setting"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "setting": {
                                    "$ref": "#/definitions/setting_data"
                                },
                                "operator": {
                                    "type": "string",
                                    "enum": [ "NONE", "NOT" ]
                                }
                            }
                        }
                    },
                    "triggers": {
                        "type": "array",
                        "items": {
                            "required": [
                                "label",
                                "conditions"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "label": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "platforms": {
                                    "$ref": "#/definitions/platforms"
                                },
                                "conditions": {
                                    "$ref": "#/definitions/conditions"
                                }
                            }
                        }
                    },

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions