From fa0f938b111ffa281865613f80e425c27f3096b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 3 Aug 2018 09:48:28 +0200 Subject: [PATCH] Eevee: Fix assert with hair drawing This remove unused clip_block when not needed and the useless ubo bind that were put there for the sake of not crashing. --- source/blender/draw/engines/eevee/eevee_materials.c | 2 -- source/blender/draw/engines/eevee/shaders/prepass_vert.glsl | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index fd097aa783c..535dce7730a 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1005,12 +1005,10 @@ void EEVEE_materials_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) DRWState state = DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_WIRE; psl->depth_pass = DRW_pass_create("Depth Pass", state); stl->g_data->depth_shgrp = DRW_shgroup_create(e_data.default_prepass_sh, psl->depth_pass); - DRW_shgroup_uniform_block(stl->g_data->depth_shgrp, "clip_block", sldata->clip_ubo); state = DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_CULL_BACK; psl->depth_pass_cull = DRW_pass_create("Depth Pass Cull", state); stl->g_data->depth_shgrp_cull = DRW_shgroup_create(e_data.default_prepass_sh, psl->depth_pass_cull); - DRW_shgroup_uniform_block(stl->g_data->depth_shgrp_cull, "clip_block", sldata->clip_ubo); state = DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_CLIP_PLANES | DRW_STATE_WIRE; psl->depth_pass_clip = DRW_pass_create("Depth Pass Clip", state); diff --git a/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl b/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl index f2e9e7001e8..e110937c5aa 100644 --- a/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl +++ b/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl @@ -2,10 +2,12 @@ uniform mat4 ModelViewProjectionMatrix; uniform mat4 ModelMatrix; +#ifdef CLIP_PLANES /* keep in sync with DRWManager.view_data */ layout(std140) uniform clip_block { vec4 ClipPlanes[1]; }; +#endif #ifndef HAIR_SHADER in vec3 pos;