diff --git a/source/blender/draw/engines/eevee/shaders/eevee_geom_volume_vert.glsl b/source/blender/draw/engines/eevee/shaders/eevee_geom_volume_vert.glsl index bffd8f6b165..5a8e9cb2d15 100644 --- a/source/blender/draw/engines/eevee/shaders/eevee_geom_volume_vert.glsl +++ b/source/blender/draw/engines/eevee/shaders/eevee_geom_volume_vert.glsl @@ -28,4 +28,14 @@ void main() interp.P = drw_point_object_to_world(lP); gl_Position = reverse_z::transform(drw_point_world_to_homogenous(interp.P)); + +#ifdef MAT_SHADOW + /* Volumes currently do not support shadow. But the shader validation pipeline still compiles the + * shadow variant of this shader. Avoid linking error on Intel Windows drivers. */ +# ifdef SHADOW_UPDATE_ATOMIC_RASTER + shadow_iface.shadow_view_id = 0; +# endif + shadow_clip.position = float3(0); + shadow_clip.vector = float3(0); +#endif } diff --git a/source/blender/draw/engines/eevee/shaders/eevee_geom_world_vert.glsl b/source/blender/draw/engines/eevee/shaders/eevee_geom_world_vert.glsl index a9ab71bad4e..c4b0003a65a 100644 --- a/source/blender/draw/engines/eevee/shaders/eevee_geom_world_vert.glsl +++ b/source/blender/draw/engines/eevee/shaders/eevee_geom_world_vert.glsl @@ -29,4 +29,14 @@ void main() interp.N = float3(1); gl_Position = reverse_z::transform(gl_Position); + +#ifdef MAT_SHADOW + /* This shader currently does not support shadow. But the shader validation pipeline still + * compiles the shadow variant of this shader. Avoid linking error on Intel Windows drivers. */ +# ifdef SHADOW_UPDATE_ATOMIC_RASTER + shadow_iface.shadow_view_id = 0; +# endif + shadow_clip.position = float3(0); + shadow_clip.vector = float3(0); +#endif } diff --git a/source/blender/editors/interface/regions/interface_region_tooltip.cc b/source/blender/editors/interface/regions/interface_region_tooltip.cc index abc2914daea..79718fb973f 100644 --- a/source/blender/editors/interface/regions/interface_region_tooltip.cc +++ b/source/blender/editors/interface/regions/interface_region_tooltip.cc @@ -1509,10 +1509,10 @@ static ARegion *ui_tooltip_create_with_data(bContext *C, init_rect.ymin = init_rect_overlap->ymin - pad; init_rect.ymax = init_rect_overlap->ymax + pad; rcti rect_clamp; - rect_clamp.xmin = 0; - rect_clamp.xmax = win_size[0]; - rect_clamp.ymin = 0; - rect_clamp.ymax = win_size[1]; + rect_clamp.xmin = pad_x + pad; + rect_clamp.xmax = win_size[0] - pad_x - pad; + rect_clamp.ymin = pad_y + pad; + rect_clamp.ymax = win_size[1] - pad_y - pad; /* try right. */ const int size_x = BLI_rcti_size_x(&rect_i); const int size_y = BLI_rcti_size_y(&rect_i); diff --git a/source/blender/python/gpu/gpu_py_shader.cc b/source/blender/python/gpu/gpu_py_shader.cc index db4143b6a97..62cd9d28ed2 100644 --- a/source/blender/python/gpu/gpu_py_shader.cc +++ b/source/blender/python/gpu/gpu_py_shader.cc @@ -1049,6 +1049,11 @@ PyDoc_STRVAR( "All built-in shaders have the ``mat4 ModelViewProjectionMatrix`` uniform.\n" "\n" "Its value must be modified using the :class:`gpu.matrix` module.\n" + "\n" + ".. important::\n" + "\n" + " Shader uniforms must be explicitly initialized to avoid retaining values from previous " + "executions.\n" "\n" PYDOC_BUILTIN_SHADER_DESCRIPTION); static PyModuleDef pygpu_shader_module_def = { /*m_base*/ PyModuleDef_HEAD_INIT,