Page MenuHomeWildfire Games

Adds attachment load and store operations
ClosedPublic

Authored by vladislavbelov on Sun, Nov 20, 2:26 PM.

Details

Reviewers
phosit
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP27256: Adds framebuffer attachment load and store operations.
Summary

These operations allow to give a driver information about how do we plan to use a framebuffer. And in case we don't need its content the driver might skip useless copying.

Test Plan
  1. Apply the patch and compile the game
  2. Check the game looks the same for OpenGL (also --gles if possible) and OpenGL ARB
  3. Check post processing, MSAA, water refraction and reflection
  4. Check shadows and silhouettes
  5. Compare performance for a biggest resolution

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

vladislavbelov created this revision.Sun, Nov 20, 2:26 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
In file included from ../../../source/ps/ArchiveBuilder.cpp:28:
../../../source/renderer/backend/dummy/Device.h:81:26: warning: unused parameter 'colorAttachmentLoadOp' [-Wunused-parameter]
                const AttachmentLoadOp colorAttachmentLoadOp,
                                       ^
../../../source/renderer/backend/dummy/Device.h:82:27: warning: unused parameter 'colorAttachmentStoreOp' [-Wunused-parameter]
                const AttachmentStoreOp colorAttachmentStoreOp,
                                        ^
../../../source/renderer/backend/dummy/Device.h:83:26: warning: unused parameter 'depthStencilAttachmentLoadOp' [-Wunused-parameter]
                const AttachmentLoadOp depthStencilAttachmentLoadOp,
                                       ^
../../../source/renderer/backend/dummy/Device.h:84:27: warning: unused parameter 'depthStencilAttachmentStoreOp' [-Wunused-parameter]
                const AttachmentStoreOp depthStencilAttachmentStoreOp) override { return m_Backbuffer.get(); }
                                        ^
4 warnings generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: fatal errorfatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built: : fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built: 

notefile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
: noteplease rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'note
: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6496/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:179:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:179:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8193/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    12>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    12>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    12>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    12>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.cpp(94): warning C4100: 'name': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release:
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\ps\ArchiveBuilder.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\engine.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Buffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Device.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.cpp(94): warning C4100: 'name': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Framebuffer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\Texture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\renderer\backend\dummy\DeviceCommandContext.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(84): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(83): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(82): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.h(81): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter (compiling source file ..\..\..\source\graphics\tests\test_TextureManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7588/display/redirect

vladislavbelov requested review of this revision.Sun, Nov 20, 2:56 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
make[1]: *** Waiting for unfinished jobs....
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6497/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:179:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:179:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8194/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.cpp(94): warning C4100: 'name': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
Release:
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\dummy\device.cpp(94): warning C4100: 'name': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7589/display/redirect

phosit added a subscriber: phosit.Sun, Nov 20, 4:22 PM

can you upgrade glad seperatly?

can you upgrade glad seperatly?

Technically the glad update only adds glInvalidateFramebuffer which is used in this patch.

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
: fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built: fatal error: note: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built

notenote: note: : please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
1 error generated.
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6498/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8195/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
Release:
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    13>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7590/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: fatal error: fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was builtnote: 
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
: : noteplease rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was builtnote

: : noteplease rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch': please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'

1 error generated.
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
make[1]: *** Waiting for unfinished jobs....
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6499/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8196/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
Release:
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(155): warning C4100: 'depthStencilAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(154): warning C4100: 'depthStencilAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(153): warning C4100: 'colorAttachmentStoreOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]
    14>e:\jenkins\workspace\vs2015-differential\source\renderer\backend\vulkan\device.cpp(152): warning C4100: 'colorAttachmentLoadOp': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\graphics.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7591/display/redirect

Stan added a subscriber: Stan.Sun, Nov 20, 6:40 PM

May be nice to update glad headers with 2.02 to reduce diff size i think glad unused was added in there. No strong feeling

libraries/source/glad/README.md
33 ↗(On Diff #21080)

Why the ‘c’ ?

libraries/source/glad/include/glad/gl.h
1626 ↗(On Diff #21080)

Careful when committing.

vladislavbelov marked an inline comment as done.Sun, Nov 20, 6:48 PM
In D4830#205670, @Stan wrote:

May be nice to update glad headers with 2.02 to reduce diff size i think glad unused was added in there. No strong feeling

I might just regenerate glad but without adding the extensions. Because their committing depends on testing results.

libraries/source/glad/README.md
33 ↗(On Diff #21080)

It's required, the last version provides code generation for C/C++ and Rust.

libraries/source/glad/include/glad/gl.h
1626 ↗(On Diff #21080)

Indeed, a dangerous place.

Stan added a comment.Sun, Nov 20, 7:01 PM

Yeah that's what I meant :)

vladislavbelov marked an inline comment as done.Sun, Nov 20, 7:40 PM
In D4830#205677, @Stan wrote:

Yeah that's what I meant :)

Ok, will do. I think @phosit meant the same.

In D4830#205677, @Stan wrote:

Yeah that's what I meant :)

Ok, will do. I think @phosit meant the same.

Yea something similar. I didn't know glad has to be generated.

I can't compile the game but the code changes looks good.

source/renderer/Renderer.cpp
520 ↗(On Diff #21080)

atlas simulation should be tested

source/renderer/WaterManager.cpp
257 ↗(On Diff #21080)

why did you change that?

source/renderer/backend/IDevice.h
97–103 ↗(On Diff #21080)

I would pack the args in to a struct.
Also you could make three function out of this: taking color attachment, taking depth stencil attachment and taking both. so "should not be nullptr at the same time" could be checked staticly but that's propably overkill.

source/renderer/backend/gl/Device.h
141 ↗(On Diff #21080)

I would make that an array since it is not that big (36 elements) and the mapped type is nullable

vladislavbelov added inline comments.Sun, Nov 20, 9:19 PM
source/renderer/WaterManager.cpp
257 ↗(On Diff #21080)

We already use it for other depth textures.

source/renderer/backend/IDevice.h
97–103 ↗(On Diff #21080)

Yeah, I had the same thought. But the problem is that the client code becomes bigger. I'm still not sure.

source/renderer/backend/gl/Device.h
141 ↗(On Diff #21080)

In that case you need to guarantee the size but it needs additional workarounds.

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal errorfatal errorfatal error: : : file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was builtfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built

file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was builtnote
: note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'noteplease rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'

: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'fatal error: 
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6501/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
make[1]: *** Waiting for unfinished jobs....
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6502/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7593/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8198/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8199/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7594/display/redirect

phosit added inline comments.Mon, Nov 21, 12:09 PM
source/renderer/backend/IDevice.h
97–103 ↗(On Diff #21080)

(suspecting by client you mean backend/implementation)

  • Using a struct: the client code does not become bigger.
  • Multiple functions: only the interface would have to implement the three functions and then call the clients "unsave" function.
source/renderer/backend/gl/Device.h
141 ↗(On Diff #21080)

We can change it in a furture patch if it becomes apparent as a "performance hotspot". Can you add a comment.

vladislavbelov added inline comments.Wed, Nov 23, 8:08 AM
source/renderer/backend/IDevice.h
97–103 ↗(On Diff #21080)

By clients I mean users of the API ( who calls it): renderers and so on.

And I definitely agree that the struct makes the API better.

source/renderer/backend/gl/Device.h
141 ↗(On Diff #21080)

Ok, no problem.

Stan added a comment.Thu, Nov 24, 9:54 PM

Tested on GLES.
Can't test ARB (causes assertion)
Can't test high quality water (wrong qualifiers)
Normal water looks okay
Silhouettes seemed to work
MSAA FXAA and stuff don't seem to do anything there.

Got this when enabling shadows, maybe not linked to the patch

source/renderer/backend/IFramebuffer.h
31 ↗(On Diff #21083)

wrong ident

46 ↗(On Diff #21083)

here too

51 ↗(On Diff #21083)

Does doxygen support commenting enums?

vladislavbelov marked 8 inline comments as done.Sat, Nov 26, 8:21 AM
vladislavbelov added inline comments.
source/renderer/backend/IFramebuffer.h
51 ↗(On Diff #21083)

I think it should, but I'm not sure which format is required. It seems we don't use something for enumerations yet.

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: fatal error: fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
fatal error
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
notenotenote: : please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch': 
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6523/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8220/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7615/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: fatal error: fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch': 
note: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [obj/graphics_Debug/Camera.o] Error 1
make[1]: *** Waiting for unfinished jobs....
1 error generated.
make[1]: *** [obj/graphics_Debug/Canvas2D.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CinemaManager.o] Error 1
1 error generated.
make[1]: *** [obj/graphics_Debug/CameraController.o] Error 1
make: *** [graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6524/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-clang7.txt
fatal error: file '/zpool0/clang7/build/workspaces/gcc/../../../libraries/source/glad/include/glad/gl.h' has been modified since the precompiled header 'obj/graphics_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/graphics_Debug/precompiled.h.gch'
1 error generated.
make[1]: *** [graphics.make:238: obj/graphics_Debug/Camera.o] Error 1
make: *** [Makefile:127: graphics] Error 2
builderr-debug-gcc7.txt
../../../source/renderer/backend/gl/DeviceCommandContext.cpp: In function 'void Renderer::Backend::GL::{anonymous}::InvalidateFramebuffer(Renderer::Backend::GL::CFramebuffer*, bool, bool)':
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: error: 'glInvalidateFramebuffer' was not declared in this scope
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
../../../source/renderer/backend/gl/DeviceCommandContext.cpp:206:3: note: suggested alternative: 'InvalidateFramebuffer'
   glInvalidateFramebuffer(GL_FRAMEBUFFER_EXT, numberOfAttachments, attachments);
   ^~~~~~~~~~~~~~~~~~~~~~~
   InvalidateFramebuffer
make[1]: *** [graphics.make:526: obj/graphics_Debug/DeviceCommandContext1.o] Error 1
make: *** [Makefile:127: graphics] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8221/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Debug:
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7616/display/redirect

Use initialization over assignement. -> more const.

I would use std::optional over passing a pointer.

Use initialization over assignement. -> more const.

I'd like to, but then it adds implicit relation for the order of arguments. So I'd prefer to leave as is until C++20 designated initializers.

I would use std::optional over passing a pointer.

I was thinking about that too. Beside additional copying for each call or stack allocation in case of std::nullopt it's mostly ok.

Use initialization over assignement. -> more const.

I'd like to, but then it adds implicit relation for the order of arguments. So I'd prefer to leave as is until C++20 designated initializers.

reasonable.

can you fix linux and mac builds.

Stan added a comment.Sat, Nov 26, 3:30 PM

Not his fault something is wrong with premake

phosit accepted this revision.Sat, Nov 26, 3:53 PM
This revision is now accepted and ready to land.Sat, Nov 26, 3:53 PM
This revision was landed with ongoing or failed builds.Sat, Nov 26, 10:55 PM
This revision was automatically updated to reflect the committed changes.
Owners added a subscriber: Restricted Owners Package.Sat, Nov 26, 10:55 PM