DRW: Make missing uniform debuging print only once

This commit is contained in:
Clément Foucault 2019-01-17 19:39:27 +01:00
parent e3b3b32076
commit 844cda8f22
2 changed files with 5 additions and 3 deletions

View File

@ -122,8 +122,6 @@ static void drw_shgroup_uniform(DRWShadingGroup *shgroup, const char *name,
}
if (location == -1) {
if (G.debug & G_DEBUG_GPU)
fprintf(stderr, "Warning: Pass : %s, Uniform '%s' not found!\n", shgroup->pass_parent->name, name);
/* Nice to enable eventually, for now eevee uses uniforms that might not exist. */
// BLI_assert(0);
return;

View File

@ -30,6 +30,7 @@
*/
#include "MEM_guardedalloc.h"
#include "BKE_global.h"
#include "GPU_shader_interface.h"
@ -316,11 +317,14 @@ const GPUShaderInput *GPU_shaderinterface_uniform(const GPUShaderInterface *shad
const GPUShaderInput *GPU_shaderinterface_uniform_ensure(const GPUShaderInterface *shaderface, const char *name)
{
/* TODO: Warn if we find a matching builtin, since these can be looked up much quicker. */
const GPUShaderInput *input = GPU_shaderinterface_uniform(shaderface, name);
/* If input is not found add it so it's found next time. */
if (input == NULL) {
input = add_uniform((GPUShaderInterface *)shaderface, name);
if ((G.debug & G_DEBUG_GPU) && (input->location == -1)) {
fprintf(stderr, "GPUShaderInterface: Warning: Uniform '%s' not found!\n", name);
}
}
return (input->location != -1) ? input : NULL;
}