This PR introduced some filters to improve the workflow when using shader_builder. Shader builder is used to validate shader compilation during buildtime and can be enabled using `WITH_GPU_BUILDTIME_SHADER_BUILDER`. During backend development shader builder is also handy as you can pin-point it to the shader/backend you're focusing on. Without filters you would insert temporary code to break on a specific shader. * `--gpu-backend` can be used to only check a specific backend. possible values are `vulkan`, `metal` or `opengl`. When argument isn't passed, all backends will be validated. * `--gpu-shader-filter` can be used to only check a subset or indivisual shader. The filter is a name starts with filter. Use `--gpu-shader-filter eevee` to validate all eevee shaders Pull Request: https://projects.blender.org/blender/blender/pulls/115888
33 lines
735 B
C++
33 lines
735 B
C++
/* SPDX-FileCopyrightText: 2021 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup gpu
|
|
*
|
|
* Descriptor type used to define shader structure, resources and interfaces.
|
|
*
|
|
* Some rule of thumb:
|
|
* - Do not include anything else than this file in each descriptor file.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "GPU_shader.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void gpu_shader_create_info_init();
|
|
void gpu_shader_create_info_exit();
|
|
|
|
bool gpu_shader_create_info_compile(const char *name_starts_with_filter);
|
|
|
|
/** Runtime create infos are not registered in the dictionary and cannot be searched. */
|
|
const GPUShaderCreateInfo *gpu_shader_create_info_get(const char *info_name);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|