Revision 59a0099 by Clément Foucault (draw-viewport-data, eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 29, 2021, 15:25 (GMT) |
Merge branch 'master' into draw-viewport-data |
Revision 225c1b0 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision f8cfd7e by Clément Foucault (draw-viewport-data, eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision dc0c074 by Clément Foucault (draw-viewport-data, eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 29, 2021, 09:24 (GMT) |
Cleanup: Remove compiler warning and fix some comments |
Revision ab6a6ff by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 29, 2021, 09:14 (GMT) |
Cleanup: Remove compiler warnings |
Revision 2994b6d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision d3a8256 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 41c84bb by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 13, 2021, 15:14 (GMT) |
EEVEE: More Windows 64bits changes Missing in previous commit |
Revision 9711cdd by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 13, 2021, 15:02 (GMT) |
EEVEE: Fix Windows 64bits error Windows is different of Linux |
Revision 85b6e6d by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 12, 2021, 17:37 (GMT) |
EEVEE: Fix compiler errors in Windows |
Revision c51604e by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 9207920 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision f79788f by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision c4287db by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 20, 2021, 14:48 (GMT) |
EEVEE: Fix compilation on OSX platform OSX driver does not support loose semicolon in code |
Revision 62aa72d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision 0053d2f by Clément Foucault (draw-viewport-data, eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision 6206a30 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision e3ff83a by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 15, 2021, 15:26 (GMT) |
GPUFramebuffer: Bump maximum color attachement to 8 This is needed for EEVEE's new deferred render pipeline. |
Revision 80b9246 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 3, 2021, 12:45 (GMT) |
GPU: Shader: Add debug context line count This gives more detail, when the error line is misleading. |
Revision 169a2a5 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 3, 2021, 12:44 (GMT) |
EEVEE: Fix crash caused by transparent material without prepass |
|