GPUShader: Expose create_info getter
This allows to check if a create_info extists based on its name.
This commit is contained in:
@@ -71,6 +71,8 @@ GPUShader *GPU_shader_create_ex(const char *vertcode,
|
||||
GPUShader *GPU_shader_create_from_info(const GPUShaderCreateInfo *_info);
|
||||
GPUShader *GPU_shader_create_from_info_name(const char *info_name);
|
||||
|
||||
const GPUShaderCreateInfo *GPU_shader_create_info_get(const char *info_name);
|
||||
|
||||
struct GPU_ShaderCreateFromArray_Params {
|
||||
const char **vert, **geom, **frag, **defs;
|
||||
};
|
||||
|
||||
@@ -249,6 +249,11 @@ GPUShader *GPU_shader_create_compute(const char *computecode,
|
||||
shname);
|
||||
}
|
||||
|
||||
const GPUShaderCreateInfo *GPU_shader_create_info_get(const char *info_name)
|
||||
{
|
||||
return gpu_shader_create_info_get(info_name);
|
||||
}
|
||||
|
||||
GPUShader *GPU_shader_create_from_info_name(const char *info_name)
|
||||
{
|
||||
using namespace blender::gpu::shader;
|
||||
|
||||
@@ -302,6 +302,7 @@ const GPUShaderCreateInfo *gpu_shader_create_info_get(const char *info_name)
|
||||
{
|
||||
if (g_create_infos->contains(info_name) == false) {
|
||||
printf("Error: Cannot find shader create info named \"%s\"\n", info_name);
|
||||
return nullptr;
|
||||
}
|
||||
ShaderCreateInfo *info = g_create_infos->lookup(info_name);
|
||||
return reinterpret_cast<const GPUShaderCreateInfo *>(info);
|
||||
|
||||
Reference in New Issue
Block a user