Blender Git Commits

Blender Git "temp-eevee-gpencil-rewrite" branch commits.

Page: 2 / 9

September 29, 2021, 15:25 (GMT)
Merge branch 'master' into draw-viewport-data
September 29, 2021, 15:24 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite

# Conflicts:
# source/blender/draw/engines/eevee/eevee_cryptomatte.c
# source/blender/draw/engines/eevee/eevee_effects.c
# source/blender/draw/engines/eevee/eevee_engine.c
# source/blender/draw/engines/eevee/eevee_lookdev.c
# source/blender/draw/engines/eevee/eevee_materials.c
# source/blender/draw/engines/eevee/eevee_motion_blur.c
# source/blender/draw/engines/eevee/eevee_private.h
# source/blender/draw/engines/eevee/eevee_render.c
# source/blender/draw/engines/eevee/eevee_subsurface.c
# source/blender/draw/engines/eevee/eevee_volumes.c
# source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
# source/blender/draw/engines/eevee/shaders/effect_downsample_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
# source/blender/draw/intern/DRW_render.h
# source/blender/draw/intern/draw_cache.h
# source/blender/gpu/GPU_material.h
# source/blender/gpu/intern/gpu_codegen.c
# source/blender/gpu/intern/gpu_material.c
# source/blender/gpu/shaders/gpu_shader_codegen_lib.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_hair_info.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl
# source/blender/makesdna/DNA_gpencil_types.h
# source/blender/makesdna/DNA_node_types.h
# source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
# source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
September 29, 2021, 09:31 (GMT)
Merge branch 'master' into draw-viewport-data

# Conflicts:
# source/blender/draw/DRW_engine.h
# source/blender/draw/intern/draw_manager.c
# source/blender/draw/intern/draw_manager.h
September 29, 2021, 09:24 (GMT)
Cleanup: Remove compiler warning and fix some comments
September 29, 2021, 09:14 (GMT)
Cleanup: Remove compiler warnings
September 29, 2021, 09:14 (GMT)
EEVEE: Fix crash when destroying the Instance (in debug build)

This was caused by the StructArrayBuffer wrapper not being tagged as NonMovable.
The UBO was in fact being freed at creation time in debug build, but the
pointer was kept as valid in the copied wrapper.

Changing the higher level structure to not use the copy constructor to avoid this.
September 15, 2021, 15:15 (GMT)
EEVEE: Film: Make smooth transition not rely on dtxl->color persistence

This is a needed change for the viewport compositor. The compositor
needs to draw to `dtxl->color` to have correct overlay / background
composition.

The solution here is to have a separate buffer that keeps the first
sample we blend from. This increases VRAM usage but it is the most
elegant option.
September 13, 2021, 15:14 (GMT)
EEVEE: More Windows 64bits changes

Missing in previous commit
September 13, 2021, 15:02 (GMT)
EEVEE: Fix Windows 64bits error

Windows is different of Linux
September 12, 2021, 17:37 (GMT)
EEVEE: Fix compiler errors in Windows

September 7, 2021, 06:41 (GMT)
EEVEE: Use special depth shader to resolve the depth buffer

This was the cause of a bug on Intel Integrated GPU and might as well
impact other platforms.
August 25, 2021, 13:38 (GMT)
EEVEE: LightGrid: Fix divide by zero leading to wrong world lighting

This integer divide by zero was evaluated to 0 on all platform but apple,
where it yields 1. The world lighting would then sample the 1 sample of the
first grid instead of its own sample.
August 19, 2021, 08:01 (GMT)
EEVEE: Film: Fix undefined viewport color values after resizing

This was caused by the blend mode that was used even with full opacity.
This caused issues with the viewport was resized and the color of the
framebuffer becomes undefined, leading to undefined values in the blend
equation.

Another fix would be to clear the viewport color on resize inside the
GPUViewport.
July 20, 2021, 14:48 (GMT)
EEVEE: Fix compilation on OSX platform

OSX driver does not support loose semicolon in code
July 19, 2021, 21:04 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite

# Conflicts:
# source/blender/blenlib/BLI_assert.h
# source/blender/blenloader/intern/versioning_290.c
# source/blender/draw/engines/eevee/eevee_cryptomatte.c
# source/blender/draw/engines/eevee/eevee_depth_of_field.c
# source/blender/draw/engines/eevee/eevee_effects.c
# source/blender/draw/engines/eevee/eevee_engine.c
# source/blender/draw/engines/eevee/eevee_lightcache.c
# source/blender/draw/engines/eevee/eevee_lightprobes.c
# source/blender/draw/engines/eevee/eevee_lights.c
# source/blender/draw/engines/eevee/eevee_lookdev.c
# source/blender/draw/engines/eevee/eevee_materials.c
# source/blender/draw/engines/eevee/eevee_mist.c
# source/blender/draw/engines/eevee/eevee_motion_blur.c
# source/blender/draw/engines/eevee/eevee_occlusion.c
# source/blender/draw/engines/eevee/eevee_private.h
# source/blender/draw/engines/eevee/eevee_render.c
# source/blender/draw/engines/eevee/eevee_renderpasses.c
# source/blender/draw/engines/eevee/eevee_screen_raytrace.c
# source/blender/draw/engines/eevee/eevee_shaders.c
# source/blender/draw/engines/eevee/eevee_shadows.c
# source/blender/draw/engines/eevee/eevee_shadows_cascade.c
# source/blender/draw/engines/eevee/eevee_subsurface.c
# source/blender/draw/engines/eevee/eevee_temporal_sampling.c
# source/blender/draw/engines/eevee/eevee_volumes.c
# source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
# source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
# source/blender/draw/engines/eevee/shaders/btdf_lut_frag.glsl
# source/blender/draw/engines/eevee/shaders/closure_eval_lib.glsl
# source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl
# source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl
# source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl
# source/blender/draw/engines/eevee/shaders/eevee_depth_of_field_tiles_flatten_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_bokeh_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_gather_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_lib.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_reduce_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_resolve_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_setup_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_reflection_resolve_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_reflection_trace_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_subsurface_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_temporal_aa.glsl
# source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
# source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_vert.glsl
# source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl
# source/blender/draw/engines/eevee/shaders/lights_lib.glsl
# source/blender/draw/engines/eevee/shaders/random_lib.glsl
# source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
# source/blender/draw/engines/eevee/shaders/ssr_lib.glsl
# source/blender/draw/engines/eevee/shaders/surface_lib.glsl
# source/blender/draw/engines/eevee/shaders/volumetric_geom.glsl
# source/blender/draw/engines/eevee/shaders/volumetric_lib.glsl
# source/blender/draw/intern/draw_manager_shader.c
# source/blender/draw/intern/shaders/common_math_lib.glsl
# source/blender/gpu/CMakeLists.txt
# source/blender/gpu/intern/gpu_codegen.c
# source/blender/gpu/intern/gpu_shader.cc
# source/blender/gpu/shaders/material/gpu_shader_material_geometry.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_world_normals.glsl
# source/blender/nodes/shader/nodes/node_shader_output_aov.c
July 19, 2021, 17:47 (GMT)
DRW: Move buffer & temp textures & framebuffer management to DrawManager

This is a necessary step for EEVEE's new arch. This moves more data
to the draw manager. This makes it easier to have the render or draw
engines manage their own data.

This makes more sense and cleans-up what the GPUViewport holds

Also rewrites the Texture pool manager to be in C++.

This also move the DefaultFramebuffer/TextureList and the engine related
data to a new `DRWViewData` struct. This struct manages the per view
(as in stereo view) engine data.

There is a bit of cleanup in the way the draw manager is setup.
We now use a temporary DRWData instead of creating a dummy viewport.

Differential Revision: https://developer.blender.org/D11966
July 19, 2021, 17:01 (GMT)
EEVEE: GBuffer: Change layout

This change the gbuffer layout to use more of the hardware to converting
data back and forth. Normals are encoded as two 16 bits components and
colors as R11G11B10F format.

This was motivated by the need of better quality normals. The issue is
that this increase the GBuffer size consequently. In order to balance
this we chose to merge the refraction and Diffuse/SSS data to use the
same buffer. This means we need to stochastically chose one of these
layers (so noise appear). Given that Glass BSDFs are rarely mixed
with Diffuse BSDFs, we think this is a good tradeoff.
July 15, 2021, 15:26 (GMT)
GPUFramebuffer: Bump maximum color attachement to 8

This is needed for EEVEE's new deferred render pipeline.
July 3, 2021, 12:45 (GMT)
GPU: Shader: Add debug context line count

This gives more detail, when the error line is misleading.
July 3, 2021, 12:44 (GMT)
EEVEE: Fix crash caused by transparent material without prepass
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021