├── tools
├── nsc
│ ├── __init__.py
│ ├── test
│ │ ├── hlsl
│ │ │ └── input.hlsl
│ │ ├── config
│ │ │ └── release.json.template
│ │ └── test.py
│ └── config.json.template
├── CMakeLists.txt
├── debug
│ └── VisualStudio
│ │ └── DynamicArrayVisualizer.natvis
└── xxHash256
│ └── CMakeLists.txt
├── 3rdparty
├── lzma
│ ├── CPP
│ │ ├── 7zip
│ │ │ ├── Bundles
│ │ │ │ ├── SFXWin
│ │ │ │ │ ├── resource.h
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── 7z.ico
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ └── SFXWin.dsw
│ │ │ │ ├── SFXCon
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── 7z.ico
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ └── SFXCon.dsw
│ │ │ │ ├── Alone7z
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ └── Alone.dsw
│ │ │ │ ├── Format7zR
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ └── resource.rc
│ │ │ │ ├── LzmaCon
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ └── LzmaCon.dsw
│ │ │ │ ├── SFXSetup
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── setup.ico
│ │ │ │ │ ├── resource.h
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── ExtractEngine.h
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ └── SFXSetup.dsw
│ │ │ │ └── Format7zExtractR
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ └── resource.rc
│ │ │ ├── Archive
│ │ │ │ ├── 7z
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── 7zCompressionMode.cpp
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── 7zProperties.h
│ │ │ │ │ ├── 7zRegister.cpp
│ │ │ │ │ ├── 7zHeader.cpp
│ │ │ │ │ └── 7zSpecStream.cpp
│ │ │ │ ├── Common
│ │ │ │ │ ├── ParseProperties.cpp
│ │ │ │ │ ├── ParseProperties.h
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── DummyOutStream.cpp
│ │ │ │ │ ├── OutStreamWithCRC.cpp
│ │ │ │ │ ├── DummyOutStream.h
│ │ │ │ │ └── ItemNameUtils.h
│ │ │ │ ├── Icons
│ │ │ │ │ └── 7z.ico
│ │ │ │ ├── StdAfx.h
│ │ │ │ ├── XzHandler.h
│ │ │ │ ├── Archive.def
│ │ │ │ └── Archive2.def
│ │ │ ├── Common
│ │ │ │ ├── MethodId.cpp
│ │ │ │ ├── LockedStream.cpp
│ │ │ │ ├── LockedStream.h
│ │ │ │ ├── StdAfx.h
│ │ │ │ ├── MethodId.h
│ │ │ │ ├── FilePathAutoRename.h
│ │ │ │ ├── StreamUtils.h
│ │ │ │ ├── UniqBlocks.h
│ │ │ │ ├── OffsetStream.h
│ │ │ │ ├── VirtThread.h
│ │ │ │ └── ProgressUtils.h
│ │ │ ├── SubBuild.mak
│ │ │ ├── UI
│ │ │ │ ├── Client7z
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── Client7z.dsw
│ │ │ │ ├── Console
│ │ │ │ │ ├── StdAfx.cpp
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── resource.rc
│ │ │ │ │ ├── BenchCon.h
│ │ │ │ │ ├── ConsoleClose.h
│ │ │ │ │ ├── UserInputUtils.h
│ │ │ │ │ └── List.h
│ │ │ │ ├── FileManager
│ │ │ │ │ ├── ProgressDialogRes.h
│ │ │ │ │ ├── ComboDialogRes.h
│ │ │ │ │ ├── PasswordDialogRes.h
│ │ │ │ │ ├── PropertyName.h
│ │ │ │ │ ├── BrowseDialogRes.h
│ │ │ │ │ ├── FormatUtils.h
│ │ │ │ │ ├── ProgressDialog.rc
│ │ │ │ │ ├── DialogSize.h
│ │ │ │ │ ├── PasswordDialog.rc
│ │ │ │ │ ├── PropertyName.cpp
│ │ │ │ │ ├── resourceGui.h
│ │ │ │ │ ├── OverwriteDialogRes.h
│ │ │ │ │ ├── FormatUtils.cpp
│ │ │ │ │ ├── ComboDialog.h
│ │ │ │ │ ├── PasswordDialog.h
│ │ │ │ │ └── ProgressDialog2.rc
│ │ │ │ ├── GUI
│ │ │ │ │ ├── resource2.h
│ │ │ │ │ └── ExtractDialogRes.h
│ │ │ │ ├── Common
│ │ │ │ │ ├── StdAfx.h
│ │ │ │ │ ├── SortUtils.h
│ │ │ │ │ ├── Property.h
│ │ │ │ │ ├── SetProperties.h
│ │ │ │ │ ├── ArchiveName.h
│ │ │ │ │ ├── DefaultName.h
│ │ │ │ │ ├── TempFiles.h
│ │ │ │ │ ├── TempFiles.cpp
│ │ │ │ │ ├── ExtractMode.h
│ │ │ │ │ ├── WorkDir.h
│ │ │ │ │ ├── UpdatePair.h
│ │ │ │ │ ├── PropIDUtils.h
│ │ │ │ │ └── SortUtils.cpp
│ │ │ │ └── Explorer
│ │ │ │ │ └── MyMessages.h
│ │ │ ├── MyVersion.h
│ │ │ ├── MyVersionInfo.rc
│ │ │ ├── Compress
│ │ │ │ ├── StdAfx.h
│ │ │ │ ├── BcjRegister.cpp
│ │ │ │ ├── CopyRegister.cpp
│ │ │ │ ├── LzmaRegister.cpp
│ │ │ │ ├── PpmdRegister.cpp
│ │ │ │ ├── Lzma2Register.cpp
│ │ │ │ ├── BranchMisc.cpp
│ │ │ │ ├── BcjCoder.cpp
│ │ │ │ ├── Bcj2Register.cpp
│ │ │ │ ├── BcjCoder.h
│ │ │ │ └── BranchMisc.h
│ │ │ ├── Crypto
│ │ │ │ ├── StdAfx.h
│ │ │ │ ├── MyAesReg.cpp
│ │ │ │ └── 7zAesRegister.cpp
│ │ │ ├── LzmaDec.mak
│ │ │ ├── Aes.mak
│ │ │ ├── Crc.mak
│ │ │ ├── Crc64.mak
│ │ │ ├── Asm.mak
│ │ │ ├── IProgress.h
│ │ │ ├── IPassword.h
│ │ │ └── IDecl.h
│ │ ├── Common
│ │ │ ├── MyVector.cpp
│ │ │ ├── StdAfx.h
│ │ │ ├── CRC.cpp
│ │ │ ├── XzCrc64Init.cpp
│ │ │ ├── MyUnknown.h
│ │ │ ├── MyException.h
│ │ │ ├── UTFConvert.h
│ │ │ ├── Defs.h
│ │ │ ├── ListFileUtils.h
│ │ │ ├── Lang.h
│ │ │ ├── TextConfig.h
│ │ │ ├── ComTry.h
│ │ │ ├── MyTypes.h
│ │ │ └── AutoPtr.h
│ │ └── Windows
│ │ │ ├── StdAfx.h
│ │ │ ├── Control
│ │ │ ├── StdAfx.h
│ │ │ ├── ImageList.cpp
│ │ │ ├── Edit.h
│ │ │ └── Trackbar.h
│ │ │ ├── Synchronization.cpp
│ │ │ ├── FileMapping.cpp
│ │ │ ├── ErrorMsg.h
│ │ │ ├── ResourceString.h
│ │ │ ├── Defs.h
│ │ │ ├── CommonDialog.h
│ │ │ ├── FileSystem.h
│ │ │ └── Handle.h
│ ├── C
│ │ ├── Util
│ │ │ ├── LzmaLib
│ │ │ │ ├── LzmaLib.def
│ │ │ │ ├── resource.rc
│ │ │ │ ├── LzmaLibExports.c
│ │ │ │ ├── LzmaLib.dsw
│ │ │ │ └── makefile
│ │ │ ├── 7z
│ │ │ │ ├── Precomp.c
│ │ │ │ ├── Precomp.h
│ │ │ │ ├── 7z.dsw
│ │ │ │ └── makefile
│ │ │ ├── SfxSetup
│ │ │ │ ├── Precomp.c
│ │ │ │ ├── setup.ico
│ │ │ │ ├── resource.rc
│ │ │ │ ├── Precomp.h
│ │ │ │ ├── SfxSetup.dsw
│ │ │ │ ├── makefile
│ │ │ │ └── makefile_con
│ │ │ └── Lzma
│ │ │ │ ├── makefile
│ │ │ │ └── LzmaUtil.dsw
│ │ ├── Precomp.h
│ │ ├── DllSecur.h
│ │ ├── Sort.h
│ │ ├── 7zAlloc.h
│ │ ├── Delta.h
│ │ ├── Sha256.h
│ │ ├── 7zBuf.c
│ │ ├── 7zCrc.h
│ │ ├── XzCrc64.h
│ │ ├── RotateDefs.h
│ │ └── 7zBuf.h
│ ├── DOC
│ │ ├── installer.txt
│ │ └── lzma-history.txt
│ ├── Java
│ │ └── SevenZip
│ │ │ └── ICodeProgress.java
│ └── CS
│ │ └── 7zip
│ │ └── Compress
│ │ └── LZ
│ │ └── IMatchFinder.cs
├── dxc
│ └── test
│ │ └── test.cpp
├── boost
│ └── dep
│ │ └── wave.cmake
└── pstl
│ └── oneDPL
│ └── CMakeLists.txt
├── docker
├── ninja.env
├── ci-windows.env
└── compose.yml
├── include
└── nbl
│ ├── builtin
│ ├── hlsl
│ │ ├── scan
│ │ │ ├── descriptors.hlsl
│ │ │ └── parameters_struct.hlsl
│ │ ├── surface_transform.h
│ │ ├── math
│ │ │ └── geometry.hlsl
│ │ ├── cpp_compat.hlsl
│ │ ├── workgroup2
│ │ │ ├── basic.hlsl
│ │ │ └── impl
│ │ │ │ ├── virtual_wg_size_def.hlsl
│ │ │ │ └── items_per_invoc_def.hlsl
│ │ ├── blit
│ │ │ └── default_normalize.comp.hlsl
│ │ ├── ext
│ │ │ └── FullScreenTriangle
│ │ │ │ └── SVertexAttributes.hlsl
│ │ ├── memory.hlsl
│ │ ├── bxdf
│ │ │ ├── bxdf_traits.hlsl
│ │ │ ├── reflection
│ │ │ │ └── iridescent.hlsl
│ │ │ └── transmission
│ │ │ │ └── iridescent.hlsl
│ │ ├── concepts
│ │ │ └── matrix.hlsl
│ │ ├── subgroup
│ │ │ └── basic.hlsl
│ │ ├── sort
│ │ │ └── common.hlsl
│ │ ├── array_accessors.hlsl
│ │ ├── shapes
│ │ │ └── circle.hlsl
│ │ └── utility.hlsl
│ ├── shader
│ │ └── loader
│ │ │ ├── gltf
│ │ │ ├── color.vert
│ │ │ ├── color.frag
│ │ │ ├── uv.frag
│ │ │ ├── no_uv_color.frag
│ │ │ ├── no_uv_color.vert
│ │ │ ├── uv.vert
│ │ │ └── common.glsl
│ │ │ └── mtl
│ │ │ ├── fragment_uv.frag
│ │ │ ├── vertex_uv.vert
│ │ │ ├── vertex_no_uv.vert
│ │ │ └── fragment_no_uv.frag
│ ├── glsl
│ │ ├── utils
│ │ │ ├── compressed_normal_matrix_t.glsl
│ │ │ └── common.glsl
│ │ ├── ext
│ │ │ ├── RadixSort
│ │ │ │ └── parameters_struct.glsl
│ │ │ ├── RadeonRays
│ │ │ │ ├── intersection.glsl
│ │ │ │ └── ray.glsl
│ │ │ ├── EnvmapImportanceSampling
│ │ │ │ ├── gen_luma.comp
│ │ │ │ └── structs.glsl
│ │ │ ├── MitsubaLoader
│ │ │ │ └── instance_data_struct.glsl
│ │ │ ├── DepthPyramidGenerator
│ │ │ │ └── common.glsl
│ │ │ └── FFT
│ │ │ │ └── parameters_struct.glsl
│ │ ├── transform_tree
│ │ │ ├── global_transform_update.comp
│ │ │ ├── modification_request_range.glsl
│ │ │ └── global_transform_and_normal_matrix_update.comp
│ │ ├── workgroup
│ │ │ ├── basic.glsl
│ │ │ └── shared_arithmetic.glsl
│ │ ├── sampling
│ │ │ ├── box_muller_transform.glsl
│ │ │ ├── linear.glsl
│ │ │ ├── envmap.glsl
│ │ │ └── quantized_sequence.glsl
│ │ ├── math
│ │ │ └── constants.glsl
│ │ ├── bxdf
│ │ │ ├── bsdf
│ │ │ │ └── specular
│ │ │ │ │ └── common.glsl
│ │ │ └── brdf
│ │ │ │ └── diffuse
│ │ │ │ └── fresnel_correction.glsl
│ │ ├── bump_mapping
│ │ │ └── fragment.glsl
│ │ ├── culling_lod_selection
│ │ │ ├── potentially_visible_instance_draw_struct.glsl
│ │ │ └── dispatch_indirect_params.glsl
│ │ ├── barycentric
│ │ │ └── extensions.glsl
│ │ ├── scene
│ │ │ └── animation.glsl
│ │ ├── material_compiler
│ │ │ └── common_declarations.glsl
│ │ ├── property_pool
│ │ │ └── transfer.glsl
│ │ ├── subgroup
│ │ │ └── shared_shuffle_portability.glsl
│ │ └── loader
│ │ │ └── mtl
│ │ │ └── common.glsl
│ ├── material
│ │ ├── debug
│ │ │ ├── vertex_normal
│ │ │ │ ├── specialized_shader.frag
│ │ │ │ └── specialized_shader.vert
│ │ │ ├── vertex_uv
│ │ │ │ └── specialized_shader.frag
│ │ │ └── vertex_color
│ │ │ │ └── specialized_shader.vert
│ │ └── lambertian
│ │ │ └── singletexture
│ │ │ ├── specialized_shader.frag
│ │ │ └── specialized_shader.vert
│ └── cache
│ │ └── ICacheKeyCreator.h
│ ├── undef_logging_macros.h
│ ├── asset
│ ├── IImageView.h
│ ├── RasterizationStates.h
│ ├── material_compiler
│ │ └── IFrontend.h
│ ├── filters
│ │ └── CBufferToImageCopyImageFilter.h
│ ├── metadata
│ │ ├── CPLYMetadata.h
│ │ └── IPolygonGeometryMetadata.h
│ └── interchange
│ │ ├── IImageLoader.h
│ │ └── IGeometryWriter.h
│ ├── video
│ ├── EApiType.h
│ ├── utilities
│ │ └── renderdoc.h
│ ├── definitions.h
│ ├── alloc
│ │ └── IBufferAllocator.h
│ ├── IGPURenderpass.h
│ ├── IGPUFramebuffer.h
│ ├── debug
│ │ └── IDebugCallback.h
│ └── CVulkanImage.h
│ ├── ui
│ ├── definitions.h
│ ├── IWindowManagerWin32.h
│ ├── IWindowAndroid.h
│ ├── IWindowWin32.h
│ └── declarations.h
│ ├── system
│ ├── definitions.h
│ ├── CSystemLinux.h
│ ├── CFileViewVirtualAllocatorWin32.h
│ ├── CFileViewVirtualAllocatorPOSIX.h
│ ├── CFileViewAPKAllocator.h
│ ├── CStdoutLoggerAndroid.h
│ ├── CStdoutLogger.h
│ ├── CSystemAndroid.h
│ └── SBuiltinFile.h
│ ├── ext
│ ├── Bullet
│ │ └── README.md
│ ├── ImGui
│ │ └── builtin
│ │ │ └── hlsl
│ │ │ ├── psinput.hlsl
│ │ │ └── common.hlsl
│ └── OptiX
│ │ └── SbtRecord.h
│ ├── scene
│ └── scene.h
│ ├── logging_macros.h
│ ├── nblunpack.h
│ └── core
│ ├── definitions.h
│ ├── math
│ ├── colorutil.h
│ └── matrixutil.h
│ ├── util
│ └── to_underlying.h
│ ├── sampling
│ └── RandomSampler.h
│ ├── string
│ └── StringLiteral.h
│ └── IBuffer.h
├── jobs-email.gif
├── .gitconfig
├── src
└── nbl
│ ├── video
│ ├── IDeviceMemoryBacked.cpp
│ ├── CVulkanDeviceFunctionTable.h
│ ├── ISemaphore.cpp
│ ├── CVulkanGraphicsPipeline.cpp
│ ├── CVulkanQueryPool.cpp
│ ├── pch_video.h
│ ├── utilities
│ │ └── ICommandPoolCache.cpp
│ ├── CVulkanDescriptorSet.cpp
│ ├── IDeviceMemoryAllocation.cpp
│ ├── CVulkanGraphicsPipeline.h
│ └── CVulkanFramebuffer.h
│ ├── gtml.cpp
│ ├── asset
│ ├── IAsset.cpp
│ ├── interchange
│ │ ├── IAssetWriter.cpp
│ │ ├── IImageLoader.cpp
│ │ ├── IImageWriter.cpp
│ │ ├── IImageAssetHandlerBase.cpp
│ │ └── CGLTFWriter.cpp
│ └── filters
│ │ └── CBasicImageFilterCommon.cpp
│ ├── builtin
│ └── MTLdefaults.h
│ ├── core
│ ├── pch_core.h
│ └── hash
│ │ └── blake.cpp
│ ├── system
│ ├── ILogger.cpp
│ ├── CFileViewAPKAllocator.cpp
│ ├── CFileViewVirtualAllocatorPOSIX.cpp
│ ├── CFileViewVirtualAllocatorWin32.cpp
│ └── CColoredStdoutLoggerWin32.cpp
│ └── ext
│ ├── Bullet
│ ├── BulletUtility.cpp
│ └── CInstancedMotionState.cpp
│ └── OptiX
│ └── CMakeLists.txt
├── cmake
├── adjust
│ ├── template
│ │ └── vendor
│ │ │ ├── C_Clang.cmake
│ │ │ ├── C_MSVC.cmake
│ │ │ ├── CXX_Clang.cmake
│ │ │ ├── CXX_MSVC.cmake
│ │ │ └── impl
│ │ │ ├── reset.cmake
│ │ │ └── MSVC.cmake
│ └── definitions.cmake
├── FindZLIB.cmake
├── config
│ └── msvc
│ │ └── application.exe.config
├── manifest
│ └── msvc
│ │ └── devshgraphicsprogramming.nabla.manifest
├── install
│ └── nbl
│ │ └── sharedDefines.h.in
└── FindGitBash.cmake
├── smoke
└── pch.hpp
├── .github
├── pull_request_template.md
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
├── compose.yml
├── source
└── Nabla
│ └── COSOperator.h
└── .gitignore
/tools/nsc/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/resource.h:
--------------------------------------------------------------------------------
1 | #define IDI_ICON 1
2 |
--------------------------------------------------------------------------------
/docker/ninja.env:
--------------------------------------------------------------------------------
1 | NINJA_STATUS=[%r jobs, %f/%t edges, %oe/s, elapsed %ws]:
--------------------------------------------------------------------------------
/docker/ci-windows.env:
--------------------------------------------------------------------------------
1 | NBL_CI_MODE=ON
2 | NBL_CI_BUILD_DIRECTORY=C:\mount\nabla\build-ct
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/scan/descriptors.hlsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | // choerent -> globallycoherent
--------------------------------------------------------------------------------
/tools/nsc/test/hlsl/input.hlsl:
--------------------------------------------------------------------------------
1 | [numthreads(256,1,1)]
2 | void main()
3 | {
4 |
5 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/MethodId.cpp:
--------------------------------------------------------------------------------
1 | // MethodId.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/SubBuild.mak:
--------------------------------------------------------------------------------
1 | cd $(@D)
2 | $(MAKE) -nologo $(TARGETS)
3 | cd ..
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/MyVector.cpp:
--------------------------------------------------------------------------------
1 | // Common/MyVector.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/jobs-email.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/jobs-email.gif
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/LzmaLib/LzmaLib.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | LzmaCompress
3 | LzmaUncompress
4 |
5 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/LockedStream.cpp:
--------------------------------------------------------------------------------
1 | // LockedStream.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/MyVersion.h:
--------------------------------------------------------------------------------
1 | #define USE_COPYRIGHT_CR
2 | #include "../../C/7zVersion.h"
3 |
--------------------------------------------------------------------------------
/include/nbl/undef_logging_macros.h:
--------------------------------------------------------------------------------
1 | #undef NBL_LOG
2 | #undef NBL_LOG_ERROR
3 | #undef NBL_LOG_FUNCTION
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // StdAfx.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/MyVersionInfo.rc:
--------------------------------------------------------------------------------
1 | #include "MyVersion.h"
2 | #include "..\..\C\7zVersion.rc"
3 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp:
--------------------------------------------------------------------------------
1 | // CompressionMethod.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp:
--------------------------------------------------------------------------------
1 | // ParseProperties.cpp
2 |
3 | #include "StdAfx.h"
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_PROGRESS 97
2 |
3 | #define IDC_PROGRESS1 100
4 |
--------------------------------------------------------------------------------
/include/nbl/asset/IImageView.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/include/nbl/asset/IImageView.h
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/LzmaLib/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../7zVersion.rc"
2 |
3 | MY_VERSION_INFO_DLL("LZMA library", "LZMA")
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/GUI/resource2.h:
--------------------------------------------------------------------------------
1 | #define IDS_PROGRESS_COMPRESSING 3301
2 | #define IDS_ARCHIVES_COLON 3907
3 |
--------------------------------------------------------------------------------
/3rdparty/lzma/DOC/installer.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/DOC/installer.txt
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../MyVersionInfo.rc"
2 |
3 | MY_VERSION_INFO_APP("LZMA", "lzma")
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/DOC/lzma-history.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/DOC/lzma-history.txt
--------------------------------------------------------------------------------
/.gitconfig:
--------------------------------------------------------------------------------
1 | [alias]
2 | devsh = "!f() { git -c submodule.ci.update=checkout -c submodule.Ditt-Reference-Scenes.update=checkout \"$@\"; }; f"
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/7z/Precomp.c:
--------------------------------------------------------------------------------
1 | /* Precomp.c -- StdAfx
2 | 2013-01-21 : Igor Pavlov : Public domain */
3 |
4 | #include "Precomp.h"
5 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Client7z/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../MyVersionInfo.rc"
2 |
3 | MY_VERSION_INFO_APP("7-Zip client" , "7zcl")
4 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/Precomp.c:
--------------------------------------------------------------------------------
1 | /* Precomp.c -- StdAfx
2 | 2013-01-21 : Igor Pavlov : Public domain */
3 |
4 | #include "Precomp.h"
5 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/setup.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/C/Util/SfxSetup/setup.ico
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_COMBO 98
2 |
3 | #define IDT_COMBO 100
4 | #define IDC_COMBO 101
5 |
--------------------------------------------------------------------------------
/include/nbl/asset/RasterizationStates.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/include/nbl/asset/RasterizationStates.h
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/LockedStream.h:
--------------------------------------------------------------------------------
1 | // LockedStream.h
2 |
3 | #ifndef __LOCKED_STREAM_H
4 | #define __LOCKED_STREAM_H
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Icons/7z.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/CPP/7zip/Archive/Icons/7z.ico
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/7z.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/7z.ico
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/7z.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/7z.ico
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/surface_transform.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/include/nbl/builtin/hlsl/surface_transform.h
--------------------------------------------------------------------------------
/src/nbl/video/IDeviceMemoryBacked.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/IDeviceMemoryBacked.h"
2 |
3 | namespace nbl::video
4 | {
5 |
6 | ICleanup::~ICleanup() {}
7 |
8 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Devsh-Graphics-Programming/Nabla/HEAD/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../7zVersion.rc"
2 |
3 | MY_VERSION_INFO_APP("7z Setup SFX small", "7zS2.sfx")
4 |
5 | 1 ICON "setup.ico"
6 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/ParseProperties.h:
--------------------------------------------------------------------------------
1 | // ParseProperties.h
2 |
3 | #ifndef __PARSE_PROPERTIES_H
4 | #define __PARSE_PROPERTIES_H
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../MyVersionInfo.rc"
2 |
3 | MY_VERSION_INFO_APP("7z Console SFX", "7z.sfx")
4 |
5 | 101 ICON "7z.ico"
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Crypto/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/LzmaDec.mak:
--------------------------------------------------------------------------------
1 | !IF "$(PLATFORM)" == "x64"
2 | CFLAGS_C_SPEC = -D_LZMA_DEC_OPT
3 | ASM_OBJS = $(ASM_OBJS) \
4 | $O\LzmaDecOpt.obj
5 | !ENDIF
6 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Control/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/C_Clang.cmake:
--------------------------------------------------------------------------------
1 | include_guard(GLOBAL)
2 |
3 | set(LANG C)
4 | include("${CMAKE_CURRENT_LIST_DIR}/impl/Clang.cmake")
5 | # append unique C options here
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/C_MSVC.cmake:
--------------------------------------------------------------------------------
1 | include_guard(GLOBAL)
2 |
3 | set(LANG C)
4 | include("${CMAKE_CURRENT_LIST_DIR}/impl/MSVC.cmake")
5 | # append unique C options here
--------------------------------------------------------------------------------
/src/nbl/gtml.cpp:
--------------------------------------------------------------------------------
1 | #include "git_info.h"
2 |
3 | namespace nbl {
4 | const gtml::GitInfo& getGitInfo(gtml::E_GIT_REPO_META repo) {
5 | return gtml::gitMeta[repo];
6 | }
7 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Client7z/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/Java/SevenZip/ICodeProgress.java:
--------------------------------------------------------------------------------
1 | package SevenZip;
2 |
3 | public interface ICodeProgress
4 | {
5 | public void SetProgress(long inSize, long outSize);
6 | }
7 |
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/CXX_Clang.cmake:
--------------------------------------------------------------------------------
1 | include_guard(GLOBAL)
2 |
3 | set(LANG CXX)
4 | include("${CMAKE_CURRENT_LIST_DIR}/impl/Clang.cmake")
5 | # append unique CXX options here
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/CXX_MSVC.cmake:
--------------------------------------------------------------------------------
1 | include_guard(GLOBAL)
2 |
3 | set(LANG CXX)
4 | include("${CMAKE_CURRENT_LIST_DIR}/impl/MSVC.cmake")
5 | # append unique CXX options here
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/tools/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(nsc)
2 | add_subdirectory(xxHash256)
3 |
4 | if(NBL_BUILD_IMGUI)
5 | add_subdirectory(nite EXCLUDE_FROM_ALL)
6 | endif()
7 |
8 | NBL_ADJUST_FOLDERS(tools)
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/color.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_UV_ATTRIBUTES
4 |
5 | #include "nbl/builtin/shader/loader/gltf/vertex_impl.glsl"
6 |
7 | #undef _DISABLE_UV_ATTRIBUTES
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zR/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../../../C/7zVersion.rc"
2 |
3 | MY_VERSION_INFO_DLL("7z Reduced Standalone Plugin", "7zr")
4 |
5 | 101 ICON "../../Archive/Icons/7z.ico"
6 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_PASSWORD 3800
2 | #define IDT_PASSWORD_ENTER 3801
3 | #define IDX_PASSWORD_SHOW 3803
4 |
5 | #define IDE_PASSWORD_PASSWORD 120
6 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/CRC.cpp:
--------------------------------------------------------------------------------
1 | // Common/CRC.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../C/7zCrc.h"
6 |
7 | struct CCRCTableInit { CCRCTableInit() { CrcGenerateTable(); } } g_CRCTableInit;
8 |
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/color.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_UV_ATTRIBUTES
4 |
5 | #include "nbl/builtin/shader/loader/gltf/fragment_impl.glsl"
6 |
7 | #undef _DISABLE_UV_ATTRIBUTES
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/uv.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_COLOR_ATTRIBUTES
4 |
5 | #include "nbl/builtin/shader/loader/gltf/fragment_impl.glsl"
6 |
7 | #undef _DISABLE_COLOR_ATTRIBUTES
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/XzHandler.h:
--------------------------------------------------------------------------------
1 | // XzHandler.h
2 |
3 | #ifndef __XZ_HANDLER_H
4 | #define __XZ_HANDLER_H
5 |
6 | namespace NArchive {
7 | namespace NXz {
8 |
9 | }}
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../MyVersionInfo.rc"
2 |
3 | MY_VERSION_INFO_APP("7-Zip Console" , "7z")
4 |
5 | #ifndef UNDER_CE
6 | 1 24 MOVEABLE PURE "Console.manifest"
7 | #endif
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/XzCrc64Init.cpp:
--------------------------------------------------------------------------------
1 | // XzCrc64Init.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../C/XzCrc64.h"
6 |
7 | static struct CCrc64Gen { CCrc64Gen() { Crc64GenerateTable(); } } g_Crc64TableInit;
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Control/ImageList.cpp:
--------------------------------------------------------------------------------
1 | // Windows/Control/ImageList.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "ImageList.h"
6 |
7 | namespace NWindows {
8 | namespace NControl {
9 |
10 | }}
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../../../C/7zVersion.rc"
2 |
3 | MY_VERSION_INFO_DLL("7z Extracting Reduced Standalone Plugin", "7zxr")
4 |
5 | 101 ICON "../../Archive/Icons/7z.ico"
6 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/MethodId.h:
--------------------------------------------------------------------------------
1 | // MethodId.h
2 |
3 | #ifndef __7Z_METHOD_ID_H
4 | #define __7Z_METHOD_ID_H
5 |
6 | #include "../../Common/MyTypes.h"
7 |
8 | typedef UInt64 CMethodId;
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Synchronization.cpp:
--------------------------------------------------------------------------------
1 | // Windows/Synchronization.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "Synchronization.h"
6 |
7 | namespace NWindows {
8 | namespace NSynchronization {
9 |
10 | }}
11 |
--------------------------------------------------------------------------------
/tools/nsc/test/config/release.json.template:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [],
3 | "data": [
4 | {
5 | "dependencies": [],
6 | "command": [
7 | "${NBL_EXECUTABLE_GEN_EXP_FILEPATH}"
8 | ]
9 | }
10 | ]
11 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Precomp.h:
--------------------------------------------------------------------------------
1 | /* Precomp.h -- StdAfx
2 | 2013-11-12 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_PRECOMP_H
5 | #define __7Z_PRECOMP_H
6 |
7 | #include "Compiler.h"
8 | /* #include "7zTypes.h" */
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Aes.mak:
--------------------------------------------------------------------------------
1 | C_OBJS = $(C_OBJS) \
2 | $O\Aes.obj
3 |
4 | !IF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" && "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64"
5 | ASM_OBJS = $(ASM_OBJS) \
6 | $O\AesOpt.obj
7 | !ENDIF
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/FileMapping.cpp:
--------------------------------------------------------------------------------
1 | // Windows/FileMapping.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "FileMapping.h"
6 |
7 | namespace NWindows {
8 | namespace NFile {
9 | namespace NMapping {
10 |
11 |
12 | }}}
13 |
--------------------------------------------------------------------------------
/cmake/FindZLIB.cmake:
--------------------------------------------------------------------------------
1 | if(NOT TARGET ZLIB::ZLIB)
2 | message(FATAL_ERROR "define ZLIB::ZLIB target!")
3 | endif()
4 |
5 | set(ZLIB_FOUND TRUE)
6 | set(ZLIB_LIBRARY ZLIB::ZLIB)
7 | set(ZLIB_INCLUDE_DIR "${THIRD_PARTY_SOURCE_DIR}/zlib;${THIRD_PARTY_BINARY_DIR}/zlib")
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/7z/Precomp.h:
--------------------------------------------------------------------------------
1 | /* Precomp.h -- StdAfx
2 | 2013-06-16 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_PRECOMP_H
5 | #define __7Z_PRECOMP_H
6 |
7 | #include "../../Compiler.h"
8 | #include "../../7zTypes.h"
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Alone7z/resource.rc:
--------------------------------------------------------------------------------
1 | #include "../../../../C/7zVersion.rc"
2 |
3 | MY_VERSION_INFO_APP("7-Zip Reduced Standalone Console", "7zr")
4 |
5 | #ifndef UNDER_CE
6 | 1 24 MOVEABLE PURE "../../UI/Console/Console.manifest"
7 | #endif
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/resource.h:
--------------------------------------------------------------------------------
1 | #define IDI_ICON 1
2 |
3 | #define IDS_EXTRACTION_ERROR_TITLE 7
4 | #define IDS_EXTRACTION_ERROR_MESSAGE 8
5 | #define IDS_CANNOT_CREATE_FOLDER 3003
6 | #define IDS_PROGRESS_EXTRACTING 3300
7 |
--------------------------------------------------------------------------------
/cmake/config/msvc/application.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/Precomp.h:
--------------------------------------------------------------------------------
1 | /* Precomp.h -- StdAfx
2 | 2013-06-16 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_PRECOMP_H
5 | #define __7Z_PRECOMP_H
6 |
7 | #include "../../Compiler.h"
8 | #include "../../7zTypes.h"
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/smoke/pch.hpp:
--------------------------------------------------------------------------------
1 | #ifndef SMOKE_PCH_HPP
2 | #define SMOKE_PCH_HPP
3 |
4 | #include
5 | #include
6 |
7 | #include
8 | #include
9 | #include
10 | #include
11 |
12 | #endif // SMOKE_PCH_HPP
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.h:
--------------------------------------------------------------------------------
1 | // SortUtils.h
2 |
3 | #ifndef __SORT_UTLS_H
4 | #define __SORT_UTLS_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | void SortFileNames(const UStringVector &strings, CUIntVector &indices);
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Crc.mak:
--------------------------------------------------------------------------------
1 | C_OBJS = $(C_OBJS) \
2 | $O\7zCrc.obj
3 | !IF "$(PLATFORM)" == "ia64" || "$(PLATFORM)" == "mips" || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64"
4 | C_OBJS = $(C_OBJS) \
5 | !ELSE
6 | ASM_OBJS = $(ASM_OBJS) \
7 | !ENDIF
8 | $O\7zCrcOpt.obj
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/FilePathAutoRename.h:
--------------------------------------------------------------------------------
1 | // FilePathAutoRename.h
2 |
3 | #ifndef __FILE_PATH_AUTO_RENAME_H
4 | #define __FILE_PATH_AUTO_RENAME_H
5 |
6 | #include "../../Common/MyString.h"
7 |
8 | bool AutoRenamePath(FString &fullProcessedPath);
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Crc64.mak:
--------------------------------------------------------------------------------
1 | C_OBJS = $(C_OBJS) \
2 | $O\XzCrc64.obj
3 | !IF "$(PLATFORM)" == "ia64" || "$(PLATFORM)" == "mips" || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64"
4 | C_OBJS = $(C_OBJS) \
5 | !ELSE
6 | ASM_OBJS = $(ASM_OBJS) \
7 | !ENDIF
8 | $O\XzCrc64Opt.obj
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/Property.h:
--------------------------------------------------------------------------------
1 | // Property.h
2 |
3 | #ifndef __7Z_PROPERTY_H
4 | #define __7Z_PROPERTY_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | struct CProperty
9 | {
10 | UString Name;
11 | UString Value;
12 | };
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/PropertyName.h:
--------------------------------------------------------------------------------
1 | // PropertyName.h
2 |
3 | #ifndef __PROPERTY_NAME_H
4 | #define __PROPERTY_NAME_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | UString GetNameOfProperty(PROPID propID, const wchar_t *name);
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/no_uv_color.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_UV_ATTRIBUTES
4 | #define _DISABLE_COLOR_ATTRIBUTES
5 |
6 | #include "nbl/builtin/shader/loader/gltf/fragment_impl.glsl"
7 |
8 | #undef _DISABLE_UV_ATTRIBUTES
9 | #undef _DISABLE_COLOR_ATTRIBUTES
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/no_uv_color.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_UV_ATTRIBUTES
4 | #define _DISABLE_COLOR_ATTRIBUTES
5 |
6 | #include "nbl/builtin/shader/loader/gltf/vertex_impl.glsl"
7 |
8 | #undef _DISABLE_UV_ATTRIBUTES
9 | #undef _DISABLE_COLOR_ATTRIBUTES
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/SetProperties.h:
--------------------------------------------------------------------------------
1 | // SetProperties.h
2 |
3 | #ifndef __SETPROPERTIES_H
4 | #define __SETPROPERTIES_H
5 |
6 | #include "Property.h"
7 |
8 | HRESULT SetProperties(IUnknown *unknown, const CObjectVector &properties);
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/utils/compressed_normal_matrix_t.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_UTILS_COMPRESSED_NORMAL_MATRIX_T_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_UTILS_COMPRESSED_NORMAL_MATRIX_T_INCLUDED_
3 |
4 | struct nbl_glsl_CompressedNormalMatrix_t
5 | {
6 | uvec4 data;
7 | };
8 |
9 | #endif
--------------------------------------------------------------------------------
/cmake/manifest/msvc/devshgraphicsprogramming.nabla.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/cmake/install/nbl/sharedDefines.h.in:
--------------------------------------------------------------------------------
1 | /*
2 | Those defines are included to the installed define.h header
3 | if the library has been built as DLL.
4 | */
5 |
6 | #define _NABLA_DLL_NAME_ "@_NABLA_DLL_NAME_@"
7 | #define _DXC_DLL_NAME_ "@_DXC_DLL_NAME_@"
8 | #define _NABLA_INSTALL_DIR_ @_NABLA_INSTALL_DIR_@
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Asm.mak:
--------------------------------------------------------------------------------
1 | !IFDEF ASM_OBJS
2 | !IF "$(CPU)" == "ARM"
3 | $(ASM_OBJS): ../../../../Asm/Arm/$(*B).asm
4 | $(COMPL_ASM)
5 | !ELSEIF "$(CPU)" != "IA64" && "$(CPU)" != "MIPS" && "$(CPU)" != "ARM64"
6 | $(ASM_OBJS): ../../../../Asm/x86/$(*B).asm
7 | $(COMPL_ASM)
8 | !ENDIF
9 | !ENDIF
10 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #include
9 |
10 | // #define printf(x) NO_PRINTF_(x)
11 | // #define sprintf(x) NO_SPRINTF_(x)
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/RadixSort/parameters_struct.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_EXT_RADIXSORT_PARAMETERS_STRUCT_INCLUDED_
2 | #define _NBL_GLSL_EXT_RADIXSORT_PARAMETERS_STRUCT_INCLUDED_
3 |
4 | struct nbl_glsl_ext_RadixSort_Parameters_t
5 | {
6 | uint shift;
7 | uint element_count_total;
8 | };
9 |
10 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/uv.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | #define _DISABLE_COLOR_ATTRIBUTES // TODO change it
4 | #define _ALLOW_MATERIAL_PUSH_CONSTANTS
5 |
6 | #include "nbl/builtin/shader/loader/gltf/vertex_impl.glsl"
7 |
8 | #undef _DISABLE_COLOR_ATTRIBUTES
9 | #undef _ALLOW_MATERIAL_PUSH_CONSTANTS
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_BROWSE 95
2 |
3 | #define IDL_BROWSE 100
4 | #define IDT_BROWSE_FOLDER 101
5 | #define IDE_BROWSE_PATH 102
6 | #define IDC_BROWSE_FILTER 103
7 |
8 | #define IDB_BROWSE_PARENT 110
9 | #define IDB_BROWSE_CREATE_DIR 112
10 |
--------------------------------------------------------------------------------
/3rdparty/dxc/test/test.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #if __cplusplus >= 201703L
4 | #pragma message("'__cplusplus' is " _CRT_STRINGIZE(__cplusplus))
5 | #error C++ compiler with too high standard for DXC compilation. Your compiler must be capable of using C++11 or C++14 standard!
6 | #endif
7 |
8 | int main() { return 0; }
9 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Archive.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | CreateObject PRIVATE
3 |
4 | GetHandlerProperty PRIVATE
5 | GetNumberOfFormats PRIVATE
6 | GetHandlerProperty2 PRIVATE
7 | GetIsArc PRIVATE
8 |
9 | SetCodecs PRIVATE
10 |
11 | SetLargePageMode PRIVATE
12 | SetCaseSensitive PRIVATE
13 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/ArchiveName.h:
--------------------------------------------------------------------------------
1 | // ArchiveName.h
2 |
3 | #ifndef __ARCHIVE_NAME_H
4 | #define __ARCHIVE_NAME_H
5 |
6 | #include "../../../Windows/FileFind.h"
7 |
8 | UString CreateArchiveName(const UStringVector &paths, const NWindows::NFile::NFind::CFileInfo *fi = NULL);
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/MyUnknown.h:
--------------------------------------------------------------------------------
1 | // MyUnknown.h
2 |
3 | #ifndef __MY_UNKNOWN_H
4 | #define __MY_UNKNOWN_H
5 |
6 | #include "MyWindows.h"
7 |
8 | /*
9 | #ifdef _WIN32
10 | #include
11 | #include
12 | #else
13 | #include "MyWindows.h"
14 | #endif
15 | */
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h:
--------------------------------------------------------------------------------
1 | // StdAfx.h
2 |
3 | #ifndef __STDAFX_H
4 | #define __STDAFX_H
5 |
6 | #include "../../../Common/Common.h"
7 |
8 | #include
9 | #include
10 |
11 | // #define printf(x) NO_PRINTF_(x)
12 | // #define sprintf(x) NO_SPRINTF_(x)
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/DefaultName.h:
--------------------------------------------------------------------------------
1 | // DefaultName.h
2 |
3 | #ifndef __DEFAULT_NAME_H
4 | #define __DEFAULT_NAME_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | UString GetDefaultName2(const UString &fileName,
9 | const UString &extension, const UString &addSubExtension);
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/ErrorMsg.h:
--------------------------------------------------------------------------------
1 | // Windows/ErrorMsg.h
2 |
3 | #ifndef __WINDOWS_ERROR_MSG_H
4 | #define __WINDOWS_ERROR_MSG_H
5 |
6 | #include "../Common/MyString.h"
7 |
8 | namespace NWindows {
9 | namespace NError {
10 |
11 | UString MyFormatMessage(DWORD errorCode);
12 |
13 | }}
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/src/nbl/asset/IAsset.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/IAsset.h"
6 |
7 | using namespace nbl::asset;
8 |
9 | IAsset::~IAsset()
10 | {
11 | }
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/mtl/fragment_uv.frag:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 |
7 | #include "nbl/builtin/shader/loader/mtl/fragment_impl.glsl"
8 |
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/mtl/vertex_uv.vert:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 460 core
6 |
7 | #include "nbl/builtin/shader/loader/mtl/vertex_impl.glsl"
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/TempFiles.h:
--------------------------------------------------------------------------------
1 | // TempFiles.h
2 |
3 | #ifndef __TEMP_FILES_H
4 | #define __TEMP_FILES_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | class CTempFiles
9 | {
10 | void Clear();
11 | public:
12 | FStringVector Paths;
13 | ~CTempFiles() { Clear(); }
14 | };
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/MyException.h:
--------------------------------------------------------------------------------
1 | // Common/Exception.h
2 |
3 | #ifndef __COMMON_EXCEPTION_H
4 | #define __COMMON_EXCEPTION_H
5 |
6 | #include "MyWindows.h"
7 |
8 | struct CSystemException
9 | {
10 | HRESULT ErrorCode;
11 | CSystemException(HRESULT errorCode): ErrorCode(errorCode) {}
12 | };
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/include/nbl/video/EApiType.h:
--------------------------------------------------------------------------------
1 | #ifndef __NBL_E_API_TYPE_H_INCLUDED__
2 | #define __NBL_E_API_TYPE_H_INCLUDED__
3 |
4 | #include "nbl/core/declarations.h"
5 | #include
6 |
7 | namespace nbl::video
8 | {
9 |
10 | enum E_API_TYPE : uint32_t
11 | {
12 | EAT_VULKAN,
13 | //EAT_WEBGPU
14 | };
15 |
16 | }
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Crypto/MyAesReg.cpp:
--------------------------------------------------------------------------------
1 | // MyAesReg.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "MyAes.h"
8 |
9 | namespace NCrypto {
10 |
11 | REGISTER_FILTER_E(AES256CBC,
12 | CAesCbcDecoder(32),
13 | CAesCbcEncoder(32),
14 | 0x6F00181, "AES256CBC")
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Crypto/7zAesRegister.cpp:
--------------------------------------------------------------------------------
1 | // 7zAesRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "7zAes.h"
8 |
9 | namespace NCrypto {
10 | namespace N7z {
11 |
12 | REGISTER_FILTER_E(7zAES,
13 | CDecoder(),
14 | CEncoder(),
15 | 0x6F10701, "7zAES")
16 |
17 | }}
18 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/RadeonRays/intersection.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_EXT_RADEON_RAYS_INTERSECTION_INCLUDED_
2 | #define _NBL_EXT_RADEON_RAYS_INTERSECTION_INCLUDED_
3 |
4 | struct nbl_glsl_ext_RadeonRays_Intersection
5 | {
6 | // Shape ID
7 | int shapeid;
8 | // Primitve ID
9 | int primid;
10 | // UV parametrization
11 | vec2 uv;
12 | };
13 |
14 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/transform_tree/global_transform_update.comp:
--------------------------------------------------------------------------------
1 | #version 440 core
2 | #define NBL_GLSL_TRANSFORM_TREE_POOL_NODE_NORMAL_MATRIX_DESCRIPTOR_DECLARED
3 | #include "nbl/builtin/glsl/transform_tree/global_transform_update_common.glsl"
4 |
5 | void nbl_glsl_transform_tree_globalTransformUpdate_updateNormalMatrix(in uint nodeID, in mat4x3 globalTransform) {}
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/BcjRegister.cpp:
--------------------------------------------------------------------------------
1 | // BcjRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "BcjCoder.h"
8 |
9 | namespace NCompress {
10 | namespace NBcj {
11 |
12 | REGISTER_FILTER_E(BCJ,
13 | CCoder(false),
14 | CCoder(true),
15 | 0x3030103, "BCJ")
16 |
17 | }}
18 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/CopyRegister.cpp:
--------------------------------------------------------------------------------
1 | // CopyRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "CopyCoder.h"
8 |
9 | namespace NCompress {
10 |
11 | REGISTER_CODEC_CREATE(CreateCodec, CCopyCoder())
12 |
13 | REGISTER_CODEC_2(Copy, CreateCodec, CreateCodec, 0, "Copy")
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/mtl/vertex_no_uv.vert:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 460 core
6 | #define _NO_UV
7 |
8 | #include "nbl/builtin/shader/loader/mtl/vertex_impl.glsl"
9 |
10 | #undef _NO_UV
--------------------------------------------------------------------------------
/src/nbl/asset/interchange/IAssetWriter.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/interchange/IAssetWriter.h"
6 |
7 | nbl::asset::IAssetWriter::IAssetWriterOverride nbl::asset::IAssetWriter::s_defaultOverride;
8 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h:
--------------------------------------------------------------------------------
1 | // ExtractEngine.h
2 |
3 | #ifndef __EXTRACT_ENGINE_H
4 | #define __EXTRACT_ENGINE_H
5 |
6 | #include "../../UI/Common/LoadCodecs.h"
7 |
8 | HRESULT ExtractArchive(CCodecs *codecs, const FString &fileName, const FString &destFolder,
9 | bool showProgress, bool &isCorrupt, UString &errorMessage);
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/include/nbl/ui/definitions.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_UI_DEFINITIONS_H_INCLUDED_
5 | #define _NBL_UI_DEFINITIONS_H_INCLUDED_
6 |
7 | // dependencies
8 | #include "nbl/system/definitions.h"
9 |
10 | #endif
--------------------------------------------------------------------------------
/src/nbl/builtin/MTLdefaults.h:
--------------------------------------------------------------------------------
1 | constexpr const char* DUMMY_MTL_CONTENT = R"(==
2 | newmtl defaultMaterial
3 | Ns 10.0000
4 | Ni 1.5000
5 | d 1.0000
6 | Tr 0.0000
7 | Tf 1.0000 1.0000 1.0000
8 | illum 2
9 | Ka 1 1 1
10 | Kd 1 1 1
11 | Ks 0.0000 0.0000 0.0000
12 | Ke 0.0000 0.0000 0.0000
13 | map_Kd missing_checkerboard_texture.png
14 | ==)";
15 |
--------------------------------------------------------------------------------
/include/nbl/system/definitions.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_SYSTEM_DEFINITIONS_H_INCLUDED__
6 | #define __NBL_SYSTEM_DEFINITIONS_H_INCLUDED__
7 |
8 | #include "nbl/system/declarations.h"
9 |
10 |
11 | #endif
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/impl/reset.cmake:
--------------------------------------------------------------------------------
1 | # init profiles vars by resetting required lists
2 |
3 | foreach(LANG CXX C)
4 | foreach(WHAT COMPILE LINK DEFINITIONS)
5 | set(NBL_${LANG}_${WHAT}_OPTIONS "")
6 | foreach(CONFIG RELEASE RELWITHDEBINFO DEBUG)
7 | set(NBL_${LANG}_${CONFIG}_${WHAT}_OPTIONS "")
8 | endforeach()
9 | endforeach()
10 | endforeach()
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/BenchCon.h:
--------------------------------------------------------------------------------
1 | // BenchCon.h
2 |
3 | #ifndef __BENCH_CON_H
4 | #define __BENCH_CON_H
5 |
6 | #include
7 |
8 | #include "../../Common/CreateCoder.h"
9 | #include "../../UI/Common/Property.h"
10 |
11 | HRESULT BenchCon(DECL_EXTERNAL_CODECS_LOC_VARS
12 | const CObjectVector &props, UInt32 numIterations, FILE *f);
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/include/nbl/ext/Bullet/README.md:
--------------------------------------------------------------------------------
1 | # Bullet3 IrrlichtBaw Extension
2 |
3 | Please note this is a work in progress but here is a short description.
4 |
5 | This extension does not plan on wrapping the Bullet library as it is quite vast but providing bridges between IrrlichtBAW and Bullet to make things much more easier while giving people using this extension more freedom compared to hiding all of Bullet's features!
--------------------------------------------------------------------------------
/src/nbl/asset/interchange/IImageLoader.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/interchange/IImageLoader.h"
6 |
7 | using namespace nbl;
8 | using namespace asset;
9 |
10 | IImageLoader::~IImageLoader()
11 | {
12 |
13 | }
--------------------------------------------------------------------------------
/src/nbl/asset/interchange/IImageWriter.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/interchange/IImageWriter.h"
6 |
7 | using namespace nbl;
8 | using namespace asset;
9 |
10 | IImageWriter::~IImageWriter()
11 | {
12 |
13 | }
--------------------------------------------------------------------------------
/src/nbl/core/pch_core.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_CORE_PCH_CORE_H_INCLUDED__
6 | #define __NBL_CORE_PCH_CORE_H_INCLUDED__
7 |
8 | #include "nbl/core/declarations.h"
9 |
10 | // private headers
11 |
12 |
13 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/C/DllSecur.h:
--------------------------------------------------------------------------------
1 | /* DllSecur.h -- DLL loading for security
2 | 2018-02-19 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __DLL_SECUR_H
5 | #define __DLL_SECUR_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | #ifdef _WIN32
12 |
13 | void My_SetDefaultDllDirectories();
14 | void LoadSecurityDlls();
15 |
16 | #endif
17 |
18 | EXTERN_C_END
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/math/geometry.hlsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_HLSL_MATH_GEOMETRY_INCLUDED_
2 | #define _NBL_BUILTIN_HLSL_MATH_GEOMETRY_INCLUDED_
3 |
4 | namespace nbl
5 | {
6 | namespace hlsl
7 | {
8 | // TODO: add NBL_CONST_REF_ARG()
9 | template
10 | float_t cross2D(vector lhs, vector rhs) { return lhs.x*rhs.y - lhs.y*rhs.x; }
11 | }
12 | }
13 |
14 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Control/Edit.h:
--------------------------------------------------------------------------------
1 | // Windows/Control/Edit.h
2 |
3 | #ifndef __WINDOWS_CONTROL_EDIT_H
4 | #define __WINDOWS_CONTROL_EDIT_H
5 |
6 | #include "../Window.h"
7 |
8 | namespace NWindows {
9 | namespace NControl {
10 |
11 | class CEdit: public CWindow
12 | {
13 | public:
14 | void SetPasswordChar(WPARAM c) { SendMsg(EM_SETPASSWORDCHAR, c); }
15 | };
16 |
17 | }}
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/TempFiles.cpp:
--------------------------------------------------------------------------------
1 | // TempFiles.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../../Windows/FileDir.h"
6 |
7 | #include "TempFiles.h"
8 |
9 | using namespace NWindows;
10 | using namespace NFile;
11 |
12 | void CTempFiles::Clear()
13 | {
14 | while (!Paths.IsEmpty())
15 | {
16 | NDir::DeleteFileAlways(Paths.Back());
17 | Paths.DeleteBack();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/transform_tree/modification_request_range.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_TRANSFORM_TREE_MODIFICATION_REQUEST_RANGE_GLSL_INCLUDED_
2 | #define _NBL_GLSL_TRANSFORM_TREE_MODIFICATION_REQUEST_RANGE_GLSL_INCLUDED_
3 |
4 | struct nbl_glsl_transform_tree_modification_request_range_t
5 | {
6 | uint nodeID;
7 | int requestsBegin;
8 | int requestsEnd;
9 | uint newTimestamp;
10 | };
11 |
12 |
13 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Sort.h:
--------------------------------------------------------------------------------
1 | /* Sort.h -- Sort functions
2 | 2014-04-05 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_SORT_H
5 | #define __7Z_SORT_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | void HeapSort(UInt32 *p, size_t size);
12 | void HeapSort64(UInt64 *p, size_t size);
13 |
14 | /* void HeapSortRef(UInt32 *p, UInt32 *vals, size_t size); */
15 |
16 | EXTERN_C_END
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/LzmaLib/LzmaLibExports.c:
--------------------------------------------------------------------------------
1 | /* LzmaLibExports.c -- LZMA library DLL Entry point
2 | 2015-11-08 : Igor Pavlov : Public domain */
3 |
4 | #include "../../Precomp.h"
5 |
6 | #include
7 |
8 | BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
9 | {
10 | UNUSED_VAR(hInstance);
11 | UNUSED_VAR(dwReason);
12 | UNUSED_VAR(lpReserved);
13 | return TRUE;
14 | }
15 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/7zProperties.h:
--------------------------------------------------------------------------------
1 | // 7zProperties.h
2 |
3 | #ifndef __7Z_PROPERTIES_H
4 | #define __7Z_PROPERTIES_H
5 |
6 | #include "../../PropID.h"
7 |
8 | namespace NArchive {
9 | namespace N7z {
10 |
11 | enum
12 | {
13 | kpidPackedSize0 = kpidUserDefined,
14 | kpidPackedSize1,
15 | kpidPackedSize2,
16 | kpidPackedSize3,
17 | kpidPackedSize4
18 | };
19 |
20 | }}
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/UTFConvert.h:
--------------------------------------------------------------------------------
1 | // Common/UTFConvert.h
2 |
3 | #ifndef __COMMON_UTF_CONVERT_H
4 | #define __COMMON_UTF_CONVERT_H
5 |
6 | #include "MyString.h"
7 |
8 | bool CheckUTF8(const char *src, bool allowReduced = false) throw();
9 | bool ConvertUTF8ToUnicode(const AString &utfString, UString &resultString);
10 | void ConvertUnicodeToUTF8(const UString &unicodeString, AString &resultString);
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/include/nbl/ui/IWindowManagerWin32.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_UI_I_WINDOWMANAGER_WIN32_INCLUDED_
2 | #define _NBL_UI_I_WINDOWMANAGER_WIN32_INCLUDED_
3 |
4 | #include "nbl/ui/IWindowManager.h"
5 |
6 | #ifdef _NBL_PLATFORM_WINDOWS_
7 | namespace nbl::ui
8 | {
9 |
10 | class IWindowManagerWin32 : public IWindowManager
11 | {
12 | public:
13 | NBL_API2 static core::smart_refctd_ptr create();
14 | };
15 |
16 | }
17 | #endif
18 | #endif
--------------------------------------------------------------------------------
/src/nbl/asset/interchange/IImageAssetHandlerBase.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/interchange/IImageAssetHandlerBase.h"
6 |
7 | using namespace nbl;
8 | using namespace asset;
9 |
10 | IImageAssetHandlerBase::~IImageAssetHandlerBase()
11 | {
12 |
13 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/FormatUtils.h:
--------------------------------------------------------------------------------
1 | // FormatUtils.h
2 |
3 | #ifndef __FORMAT_UTILS_H
4 | #define __FORMAT_UTILS_H
5 |
6 | #include "../../../Common/MyTypes.h"
7 | #include "../../../Common/MyString.h"
8 |
9 | UString NumberToString(UInt64 number);
10 |
11 | UString MyFormatNew(const UString &format, const UString &argument);
12 | UString MyFormatNew(UINT resourceID, const UString &argument);
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/LzmaRegister.cpp:
--------------------------------------------------------------------------------
1 | // LzmaRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "LzmaDecoder.h"
8 |
9 | #ifndef EXTRACT_ONLY
10 | #include "LzmaEncoder.h"
11 | #endif
12 |
13 | namespace NCompress {
14 | namespace NLzma {
15 |
16 | REGISTER_CODEC_E(LZMA,
17 | CDecoder(),
18 | CEncoder(),
19 | 0x30101,
20 | "LZMA")
21 |
22 | }}
23 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/PpmdRegister.cpp:
--------------------------------------------------------------------------------
1 | // PpmdRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "PpmdDecoder.h"
8 |
9 | #ifndef EXTRACT_ONLY
10 | #include "PpmdEncoder.h"
11 | #endif
12 |
13 | namespace NCompress {
14 | namespace NPpmd {
15 |
16 | REGISTER_CODEC_E(PPMD,
17 | CDecoder(),
18 | CEncoder(),
19 | 0x30401,
20 | "PPMD")
21 |
22 | }}
23 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc:
--------------------------------------------------------------------------------
1 | #include "ProgressDialogRes.h"
2 | #include "../../GuiCommon.rc"
3 |
4 | #define xc 172
5 | #define yc 44
6 |
7 | IDD_PROGRESS DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT
8 | CAPTION "Progress"
9 | BEGIN
10 | PUSHBUTTON "Cancel", IDCANCEL, bx, by, bxs, bys
11 | CONTROL "Progress1", IDC_PROGRESS1, "msctls_progress32", PBS_SMOOTH | WS_BORDER, m, m, xc, 14
12 | END
13 |
--------------------------------------------------------------------------------
/include/nbl/builtin/material/debug/vertex_normal/specialized_shader.frag:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 |
7 | layout(location = 0) in vec3 color;
8 | layout(location = 0) out vec4 pixelColor;
9 |
10 | void main()
11 | {
12 | pixelColor = vec4(color,1.0);
13 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/Lzma2Register.cpp:
--------------------------------------------------------------------------------
1 | // Lzma2Register.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "Lzma2Decoder.h"
8 |
9 | #ifndef EXTRACT_ONLY
10 | #include "Lzma2Encoder.h"
11 | #endif
12 |
13 | namespace NCompress {
14 | namespace NLzma2 {
15 |
16 | REGISTER_CODEC_E(LZMA2,
17 | CDecoder(),
18 | CEncoder(),
19 | 0x21,
20 | "LZMA2")
21 |
22 | }}
23 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/IProgress.h:
--------------------------------------------------------------------------------
1 | // IProgress.h
2 |
3 | #ifndef __IPROGRESS_H
4 | #define __IPROGRESS_H
5 |
6 | #include "../Common/MyTypes.h"
7 |
8 | #include "IDecl.h"
9 |
10 | #define INTERFACE_IProgress(x) \
11 | STDMETHOD(SetTotal)(UInt64 total) x; \
12 | STDMETHOD(SetCompleted)(const UInt64 *completeValue) x; \
13 |
14 | DECL_INTERFACE(IProgress, 0, 5)
15 | {
16 | INTERFACE_IProgress(PURE)
17 | };
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/ResourceString.h:
--------------------------------------------------------------------------------
1 | // Windows/ResourceString.h
2 |
3 | #ifndef __WINDOWS_RESOURCE_STRING_H
4 | #define __WINDOWS_RESOURCE_STRING_H
5 |
6 | #include "../Common/MyString.h"
7 |
8 | namespace NWindows {
9 |
10 | UString MyLoadString(UINT resourceID);
11 | void MyLoadString(HINSTANCE hInstance, UINT resourceID, UString &dest);
12 | void MyLoadString(UINT resourceID, UString &dest);
13 |
14 | }
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/include/nbl/builtin/material/debug/vertex_uv/specialized_shader.frag:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 |
7 | layout(location = 0) in vec2 uv;
8 | layout(location = 0) out vec4 pixelColor;
9 |
10 | void main()
11 | {
12 | pixelColor = vec4(uv.x, uv.y, 1.0, 1.0);
13 | }
--------------------------------------------------------------------------------
/include/nbl/video/utilities/renderdoc.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_VIDEO_UTILITIES_RENDERDOC_H_INCLUDED_
2 | #define _NBL_VIDEO_UTILITIES_RENDERDOC_H_INCLUDED_
3 |
4 | #include "renderdoc/renderdoc_app.h" // renderdoc_app from /3rdparty
5 |
6 | namespace nbl::video
7 | {
8 | using renderdoc_api_t = RENDERDOC_API_1_4_1;
9 | constexpr static inline auto MinRenderdocVersion = eRENDERDOC_API_Version_1_4_1;
10 | }
11 |
12 | #endif //__NBL_VIDEO_UTILITIES_RENDERDOC_H_INCLUDED_
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanDeviceFunctionTable.h:
--------------------------------------------------------------------------------
1 | #ifndef _C_VULKAN_FUNCTION_TABLE_H_INCLUDED_
2 | #define _C_VULKAN_FUNCTION_TABLE_H_INCLUDED_
3 |
4 | #include
5 |
6 | namespace nbl::video
7 | {
8 |
9 | class CVulkanDeviceFunctionTable
10 | {
11 | public:
12 | CVulkanDeviceFunctionTable(VkDevice dev)
13 | {
14 | volkLoadDeviceTable(&vk, dev);
15 | }
16 |
17 | VolkDeviceTable vk;
18 | };
19 |
20 | }
21 |
22 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/DialogSize.h:
--------------------------------------------------------------------------------
1 | // DialogSize.h
2 |
3 | #ifndef __DIALOG_SIZE_H
4 | #define __DIALOG_SIZE_H
5 |
6 | #include "../../../Windows/Control/Dialog.h"
7 |
8 | #ifdef UNDER_CE
9 | #define BIG_DIALOG_SIZE(x, y) bool isBig = NWindows::NControl::IsDialogSizeOK(x, y);
10 | #define SIZED_DIALOG(big) (isBig ? big : big ## _2)
11 | #else
12 | #define BIG_DIALOG_SIZE(x, y)
13 | #define SIZED_DIALOG(big) big
14 | #endif
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/gltf/common.glsl:
--------------------------------------------------------------------------------
1 | #define _NBL_GLTF_POSITION_ATTRIBUTE_ID 0
2 | #define _NBL_GLTF_UV_ATTRIBUTE_ID 1
3 | #define _NBL_GLTF_COLOR_ATTRIBUTE_ID 2
4 | #define _NBL_GLTF_NORMAL_ATTRIBUTE_ID 3
5 | #define _NBL_GLTF_JOINTS_ATTRIBUTE_ID 4
6 | #define _NBL_GLTF_WEIGHTS_ATTRIBUTE_ID 5
7 |
8 | #define _NBL_GLTF_LOCAL_POS_INTERPOLANT 0
9 | #define _NBL_GLTF_UV_INTERPOLANT 1
10 | #define _NBL_GLTF_COLOR_INTERPOLANT 2
11 | #define _NBL_GLTF_NORMAL_INTERPOLANT 3
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Archive2.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | CreateObject PRIVATE
3 |
4 | GetHandlerProperty PRIVATE
5 | GetNumberOfFormats PRIVATE
6 | GetHandlerProperty2 PRIVATE
7 | GetIsArc PRIVATE
8 |
9 | GetNumberOfMethods PRIVATE
10 | GetMethodProperty PRIVATE
11 | CreateDecoder PRIVATE
12 | CreateEncoder PRIVATE
13 |
14 | GetHashers PRIVATE
15 |
16 | SetCodecs PRIVATE
17 |
18 | SetLargePageMode PRIVATE
19 | SetCaseSensitive PRIVATE
20 |
--------------------------------------------------------------------------------
/tools/nsc/test/test.py:
--------------------------------------------------------------------------------
1 | import framework as nbl
2 |
3 | def main(args = None, config_json_filepaths = None, nabla_dir = None, warnings = None):
4 | if config_json_filepaths is None:
5 | args, config_json_filepaths, nabla_dir, warnings = nbl.get_args()
6 | if nbl.ExpectedFileAsDependencyTest("Nabla DXC Tool", config_json_filepaths, nabla_dir, warnings).run():
7 | print("Test finished, passed")
8 | exit(0)
9 | else:
10 | print()
11 | exit(1)
--------------------------------------------------------------------------------
/3rdparty/lzma/C/7zAlloc.h:
--------------------------------------------------------------------------------
1 | /* 7zAlloc.h -- Allocation functions
2 | 2017-04-03 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_ALLOC_H
5 | #define __7Z_ALLOC_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | void *SzAlloc(ISzAllocPtr p, size_t size);
12 | void SzFree(ISzAllocPtr p, void *address);
13 |
14 | void *SzAllocTemp(ISzAllocPtr p, size_t size);
15 | void SzFreeTemp(ISzAllocPtr p, void *address);
16 |
17 | EXTERN_C_END
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/nbl/asset/material_compiler/IFrontend.h:
--------------------------------------------------------------------------------
1 | #ifndef __NBL_MATERIAL_COMPILER_I_FRONTEND_H_INCLUDED__
2 | #define __NBL_MATERIAL_COMPILER_I_FRONTEND_H_INCLUDED__
3 |
4 | #include
5 | #include
6 |
7 | namespace nbl::asset::material_compiler
8 | {
9 |
10 | class IFrontend : public core::IReferenceCounted
11 | {
12 | public:
13 | virtual core::smart_refctd_ptr compileToIR();
14 | };
15 |
16 | }
17 |
18 | #endif
--------------------------------------------------------------------------------
/src/nbl/video/ISemaphore.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/ILogicalDevice.h"
2 |
3 | namespace nbl::video
4 | {
5 |
6 | ISemaphore::WAIT_RESULT ISemaphore::future_base_t::wait() const
7 | {
8 | if (!m_semaphore)
9 | return ISemaphore::WAIT_RESULT::SUCCESS;
10 | auto* device = const_cast(m_semaphore->getOriginDevice());
11 | const SWaitInfo waitInfos[] = {{.semaphore=m_semaphore.get(),.value=m_waitValue}};
12 | return device->blockForSemaphores(waitInfos);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Delta.h:
--------------------------------------------------------------------------------
1 | /* Delta.h -- Delta converter
2 | 2013-01-18 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __DELTA_H
5 | #define __DELTA_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | #define DELTA_STATE_SIZE 256
12 |
13 | void Delta_Init(Byte *state);
14 | void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size);
15 | void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size);
16 |
17 | EXTERN_C_END
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/nbl/video/definitions.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_VIDEO_DEFINTIONS_H_INCLUDED__
6 | #define __NBL_VIDEO_DEFINTIONS_H_INCLUDED__
7 |
8 | // dependencies
9 | #include "nbl/asset/asset.h"
10 | #include "nbl/ui/definitions.h"
11 |
12 | //
13 | #include "nbl/video/def/IBackendObject.h"
14 |
15 |
16 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/EnvmapImportanceSampling/gen_luma.comp:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_EXT_ENVMAP_SAMPLING_GEN_LUMA_INCLUDED_
2 | #define _NBL_GLSL_EXT_ENVMAP_SAMPLING_GEN_LUMA_INCLUDED_
3 |
4 |
5 | #include
6 |
7 |
8 | layout(set = 0, binding = 2, r32f) uniform image2D lumaMap;
9 |
10 | void consume(in ivec2 pixelCoord, in vec2 uv, in float luma)
11 | {
12 | imageStore(lumaMap,pixelCoord,vec4(luma,0.f,0.f,0.f));
13 | }
14 |
15 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/7zRegister.cpp:
--------------------------------------------------------------------------------
1 | // 7zRegister.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../Common/RegisterArc.h"
6 |
7 | #include "7zHandler.h"
8 |
9 | namespace NArchive {
10 | namespace N7z {
11 |
12 | static Byte k_Signature_Dec[kSignatureSize] = {'7' + 1, 'z', 0xBC, 0xAF, 0x27, 0x1C};
13 |
14 | REGISTER_ARC_IO_DECREMENT_SIG(
15 | "7z", "7z", NULL, 7,
16 | k_Signature_Dec,
17 | 0,
18 | NArcInfoFlags::kFindSignature,
19 | NULL);
20 |
21 | }}
22 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/workgroup/basic.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_WORKGROUP_BASIC_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_WORKGROUP_BASIC_INCLUDED_
3 |
4 |
5 | #include
6 | #include
7 |
8 |
9 | //! all functions must be called in uniform control flow (all workgroup invocations active)
10 | bool nbl_glsl_workgroupElect()
11 | {
12 | return gl_LocalInvocationIndex==0u;
13 | }
14 |
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/cmake/adjust/template/vendor/impl/MSVC.cmake:
--------------------------------------------------------------------------------
1 | include("${CMAKE_CURRENT_LIST_DIR}/reset.cmake")
2 | include("${CMAKE_CURRENT_LIST_DIR}/frontend/MSVC.cmake")
3 |
4 | # vendor template with options fitting for both C and CXX LANGs
5 |
6 | if(NBL_REQUEST_SSE_4_2)
7 | NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS
8 | /arch:SSE4.2 # https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-170
9 | ) # TODO: (****) should be (?) optional but then adjust 3rdparty options on fail
10 | endif()
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/sampling/box_muller_transform.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_BOX_MULLER_TRANSFORM_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_BOX_MULLER_TRANSFORM_INCLUDED_
3 |
4 | #include
5 |
6 | vec2 nbl_glsl_BoxMullerTransform(in vec2 xi, in float stddev)
7 | {
8 | float sinPhi, cosPhi;
9 | nbl_glsl_sincos(2.0 * nbl_glsl_PI * xi.y - nbl_glsl_PI, sinPhi, cosPhi);
10 | return vec2(cosPhi, sinPhi) * sqrt(-2.0 * log(xi.x)) * stddev;
11 | }
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/src/nbl/system/ILogger.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/system/ILogger.h"
2 |
3 | namespace nbl::system
4 | {
5 | core::bitflag ILogger::DefaultLogMask()
6 | {
7 | #ifdef _NBL_DEBUG
8 | return core::bitflag(ELL_DEBUG) | ELL_INFO | ELL_WARNING | ELL_PERFORMANCE | ELL_ERROR;
9 | #elif defined(_NBL_RELWITHDEBINFO)
10 | return core::bitflag(ELL_INFO) | ELL_WARNING | ELL_PERFORMANCE | ELL_ERROR;
11 | #else
12 | return core::bitflag(ELL_WARNING) | ELL_PERFORMANCE | ELL_ERROR;
13 | #endif
14 |
15 | }
16 |
17 | }
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanGraphicsPipeline.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/CVulkanGraphicsPipeline.h"
2 |
3 | #include "nbl/video/CVulkanLogicalDevice.h"
4 |
5 | namespace nbl::video
6 | {
7 |
8 | CVulkanGraphicsPipeline::~CVulkanGraphicsPipeline()
9 | {
10 | const CVulkanLogicalDevice* vulkanDevice = static_cast(getOriginDevice());
11 | auto* vk = vulkanDevice->getFunctionTable();
12 | vk->vk.vkDestroyPipeline(vulkanDevice->getInternalObject(), m_vkPipeline, nullptr);
13 | }
14 |
15 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Explorer/MyMessages.h:
--------------------------------------------------------------------------------
1 | // MyMessages.h
2 |
3 | #ifndef __MY_MESSAGES_H
4 | #define __MY_MESSAGES_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | void ShowErrorMessage(HWND window, LPCWSTR message);
9 | inline void ShowErrorMessage(LPCWSTR message) { ShowErrorMessage(0, message); }
10 |
11 | void ShowErrorMessageHwndRes(HWND window, UInt32 langID);
12 | void ShowErrorMessageRes(UInt32 langID);
13 |
14 | void ShowLastErrorMessage(HWND window = 0);
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/Defs.h:
--------------------------------------------------------------------------------
1 | // Common/Defs.h
2 |
3 | #ifndef __COMMON_DEFS_H
4 | #define __COMMON_DEFS_H
5 |
6 | template inline T MyMin(T a, T b) { return a < b ? a : b; }
7 | template inline T MyMax(T a, T b) { return a > b ? a : b; }
8 |
9 | template inline int MyCompare(T a, T b)
10 | { return a == b ? 0 : (a < b ? -1 : 1); }
11 |
12 | inline int BoolToInt(bool v) { return (v ? 1 : 0); }
13 | inline bool IntToBool(int v) { return (v != 0); }
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/src/nbl/system/CFileViewAPKAllocator.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/system/CFileViewAPKAllocator.h"
2 |
3 | using namespace nbl::system;
4 |
5 | #ifdef _NBL_PLATFORM_ANDROID_
6 | #include
7 | #include
8 |
9 | void* CFileViewAPKAllocator::alloc(size_t size)
10 | {
11 | assert(false);
12 | exit(-0x45);
13 | return nullptr;
14 | }
15 |
16 | bool CFileViewAPKAllocator::dealloc(void* data, size_t size)
17 | {
18 | AAsset_close(reinterpret_cast(m_state));
19 | return true;
20 | }
21 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/shader/loader/mtl/fragment_no_uv.frag:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 |
7 | #define _NO_UV
8 |
9 | //also turn off texture
10 | #ifndef _NBL_FRAG_SET3_BINDINGS_DEFINED_
11 | #define _NBL_FRAG_SET3_BINDINGS_DEFINED_
12 | #endif
13 |
14 | #include "nbl/builtin/shader/loader/mtl/fragment_impl.glsl"
15 |
16 | #undef _NO_UV
--------------------------------------------------------------------------------
/include/nbl/system/CSystemLinux.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_SYSTEM_LINUX_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_SYSTEM_LINUX_H_INCLUDED_
3 |
4 |
5 | #include "nbl/system/ISystem.h"
6 | #include "nbl/system/ISystemPOSIX.h"
7 |
8 | namespace nbl::system
9 | {
10 | #ifdef _NBL_PLATFORM_LINUX_
11 |
12 | class CSystemLinux final : public ISystemPOSIX
13 | {
14 | public:
15 | inline CSystemLinux() : ISystemPOSIX() {}
16 |
17 | NBL_API2 SystemInfo getSystemInfo() const override;
18 | };
19 |
20 | #endif
21 | }
22 |
23 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/BranchMisc.cpp:
--------------------------------------------------------------------------------
1 | // BranchMisc.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "BranchMisc.h"
6 |
7 | namespace NCompress {
8 | namespace NBranch {
9 |
10 | STDMETHODIMP CCoder::Init()
11 | {
12 | _bufferPos = 0;
13 | return S_OK;
14 | }
15 |
16 | STDMETHODIMP_(UInt32) CCoder::Filter(Byte *data, UInt32 size)
17 | {
18 | UInt32 processed = (UInt32)BraFunc(data, size, _bufferPos, _encode);
19 | _bufferPos += processed;
20 | return processed;
21 | }
22 |
23 | }}
24 |
--------------------------------------------------------------------------------
/cmake/FindGitBash.cmake:
--------------------------------------------------------------------------------
1 | if(NOT DEFINED GIT_EXECUTABLE)
2 | message(FATAL_ERROR "GIT_EXECUTABLE must be defined!")
3 | endif()
4 |
5 | cmake_path(GET GIT_EXECUTABLE PARENT_PATH _GIT_CMD_INSTALL_DIR_) # /cmd directory
6 | cmake_path(GET _GIT_CMD_INSTALL_DIR_ PARENT_PATH _GIT_INSTALL_DIR_) # /Git directory
7 |
8 | find_program(GIT_BASH_EXECUTABLE NAMES "git-bash.exe" PATHS "${_GIT_INSTALL_DIR_}")
9 |
10 | include(FindPackageHandleStandardArgs)
11 | find_package_handle_standard_args(GitBash REQUIRED_VARS GIT_BASH_EXECUTABLE)
12 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/sampling/linear.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_SAMPLING_LINEAR_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_SAMPLING_LINEAR_INCLUDED_
3 |
4 |
5 | float nbl_glsl_sampling_generateLinearSample(in vec2 linearCoeffs, in float u)
6 | {
7 | const float rcpDiff = 1.0/(linearCoeffs[0]-linearCoeffs[1]);
8 | const vec2 squaredCoeffs = linearCoeffs*linearCoeffs;
9 | return abs(rcpDiff)
5 | // it includes vector and matrix
6 | #include
7 | #include
8 | #include
9 |
10 | // Had to push some stuff here to avoid circular dependencies
11 | #include
12 |
13 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp:
--------------------------------------------------------------------------------
1 | // DummyOutStream.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "DummyOutStream.h"
6 |
7 | STDMETHODIMP CDummyOutStream::Write(const void *data, UInt32 size, UInt32 *processedSize)
8 | {
9 | UInt32 realProcessedSize = size;
10 | HRESULT res = S_OK;
11 | if (_stream)
12 | res = _stream->Write(data, size, &realProcessedSize);
13 | _size += realProcessedSize;
14 | if (processedSize)
15 | *processedSize = realProcessedSize;
16 | return res;
17 | }
18 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc:
--------------------------------------------------------------------------------
1 | #include "PasswordDialogRes.h"
2 | #include "../../GuiCommon.rc"
3 |
4 | #define xc 140
5 | #define yc 72
6 |
7 | IDD_PASSWORD DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT
8 | CAPTION "Enter password"
9 | BEGIN
10 | LTEXT "&Enter password:", IDT_PASSWORD_ENTER, m, m, xc, 8
11 | EDITTEXT IDE_PASSWORD_PASSWORD, m, 20, xc, 14, ES_PASSWORD | ES_AUTOHSCROLL
12 | CONTROL "&Show password", IDX_PASSWORD_SHOW, MY_CHECKBOX, m, 42, xc, 10
13 | OK_CANCEL
14 | END
15 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/math/constants.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_MATH_CONSTANTS_INCLUDED_
6 | #define _NBL_MATH_CONSTANTS_INCLUDED_
7 |
8 | #include
9 |
10 | #define nbl_glsl_PI 3.14159265359
11 | #define nbl_glsl_RECIPROCAL_PI 0.318309886183
12 | #define nbl_glsl_SQRT_RECIPROCAL_PI 0.56418958354
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/workgroup2/basic.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2023 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_WORKGROUP2_BASIC_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_WORKGROUP2_BASIC_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/workgroup/basic.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace workgroup2
14 | {
15 | // empty
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanQueryPool.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/CVulkanQueryPool.h"
2 |
3 | #include "nbl/video/CVulkanLogicalDevice.h"
4 |
5 | namespace nbl::video
6 | {
7 |
8 | CVulkanQueryPool::~CVulkanQueryPool()
9 | {
10 | if(VK_NULL_HANDLE != m_queryPool)
11 | {
12 | const auto* vulkanDevice = static_cast(getOriginDevice());
13 | auto* vk = vulkanDevice->getFunctionTable();
14 | vk->vk.vkDestroyQueryPool(vulkanDevice->getInternalObject(), m_queryPool, nullptr);
15 | }
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/StreamUtils.h:
--------------------------------------------------------------------------------
1 | // StreamUtils.h
2 |
3 | #ifndef __STREAM_UTILS_H
4 | #define __STREAM_UTILS_H
5 |
6 | #include "../IStream.h"
7 |
8 | HRESULT ReadStream(ISequentialInStream *stream, void *data, size_t *size) throw();
9 | HRESULT ReadStream_FALSE(ISequentialInStream *stream, void *data, size_t size) throw();
10 | HRESULT ReadStream_FAIL(ISequentialInStream *stream, void *data, size_t size) throw();
11 | HRESULT WriteStream(ISequentialOutStream *stream, const void *data, size_t size) throw();
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/include/nbl/ext/ImGui/builtin/hlsl/psinput.hlsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_IMGUI_EXT_PSINPUT_HLSL_
2 | #define _NBL_IMGUI_EXT_PSINPUT_HLSL_
3 |
4 | #ifdef __HLSL_VERSION
5 | namespace nbl
6 | {
7 | namespace ext
8 | {
9 | namespace imgui
10 | {
11 | struct PSInput
12 | {
13 | float32_t4 position : SV_Position;
14 | float32_t2 uv : TEXCOORD0;
15 | float32_t4 color : COLOR0;
16 | float32_t4 clip : SV_ClipDistance;
17 | uint drawID : SV_InstanceID;
18 | };
19 | }
20 | }
21 | }
22 | #endif // __HLSL_VERSION
23 |
24 | #endif // _NBL_IMGUI_EXT_PSINPUT_HLSL_
25 |
--------------------------------------------------------------------------------
/include/nbl/system/CFileViewVirtualAllocatorWin32.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_FILE_VIEW_VIRTUAL_ALLOCATOR_WIN32_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_FILE_VIEW_VIRTUAL_ALLOCATOR_WIN32_H_INCLUDED_
3 |
4 | namespace nbl::system
5 | {
6 | #ifdef _NBL_PLATFORM_WINDOWS_
7 | class NBL_API2 CFileViewVirtualAllocatorWin32 : public IFileViewAllocator
8 | {
9 | public:
10 | using IFileViewAllocator::IFileViewAllocator;
11 |
12 | void* alloc(size_t size) override;
13 | bool dealloc(void* data, size_t size) override;
14 | };
15 | #endif
16 | }
17 |
18 | #endif
--------------------------------------------------------------------------------
/3rdparty/boost/dep/wave.cmake:
--------------------------------------------------------------------------------
1 | set(NBL_BOOST_LIBS assert;concept_check;config;core;filesystem;format;iterator;lexical_cast;mpl;multi_index;optional;pool;preprocessor;serialization;smart_ptr;spirit;static_assert;throw_exception;type_traits;atomic;container_hash;detail;io;predef;system;winapi;utility;conversion;function_types;fusion;container;integer;numeric/conversion;bind;move;tuple;array;function;mp11;variant;variant2;endian;phoenix;proto;range;regex;thread;typeof;unordered;align;intrusive;describe;functional;chrono;date_time;exception;type_index;ratio;algorithm;tokenizer)
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp:
--------------------------------------------------------------------------------
1 | // OutStreamWithCRC.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "OutStreamWithCRC.h"
6 |
7 | STDMETHODIMP COutStreamWithCRC::Write(const void *data, UInt32 size, UInt32 *processedSize)
8 | {
9 | HRESULT result = S_OK;
10 | if (_stream)
11 | result = _stream->Write(data, size, &size);
12 | if (_calculate)
13 | _crc = CrcUpdate(_crc, data, size);
14 | _size += size;
15 | if (processedSize != NULL)
16 | *processedSize = size;
17 | return result;
18 | }
19 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/ListFileUtils.h:
--------------------------------------------------------------------------------
1 | // Common/ListFileUtils.h
2 |
3 | #ifndef __COMMON_LIST_FILE_UTILS_H
4 | #define __COMMON_LIST_FILE_UTILS_H
5 |
6 | #include "MyString.h"
7 | #include "MyTypes.h"
8 |
9 | #define MY__CP_UTF16 1200
10 | #define MY__CP_UTF16BE 1201
11 |
12 | // bool ReadNamesFromListFile(CFSTR fileName, UStringVector &strings, UINT codePage = CP_OEMCP);
13 |
14 | // = CP_OEMCP
15 | bool ReadNamesFromListFile2(CFSTR fileName, UStringVector &strings, UINT codePage,
16 | DWORD &lastError);
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/EnvmapImportanceSampling/structs.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_EXT_ENVMAP_SAMPLING_PARAMETERS_STRUCT_INCLUDED_
2 | #define _NBL_GLSL_EXT_ENVMAP_SAMPLING_PARAMETERS_STRUCT_INCLUDED_
3 |
4 | struct nbl_glsl_ext_EnvmapSampling_LumaGenShaderData_t
5 | {
6 | vec4 luminanceScales;
7 | uvec2 lumaMapResolution;
8 | uvec2 padding;
9 | };
10 |
11 | struct nbl_glsl_ext_EnvmapSampling_LumaMeasurement_t
12 | {
13 | float xDirSum;
14 | float yDirSum;
15 | float zDirSum;
16 | float weightSum;
17 | float maxLuma;
18 | };
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/Lang.h:
--------------------------------------------------------------------------------
1 | // Common/Lang.h
2 |
3 | #ifndef __COMMON_LANG_H
4 | #define __COMMON_LANG_H
5 |
6 | #include "MyString.h"
7 |
8 | class CLang
9 | {
10 | wchar_t *_text;
11 | CRecordVector _ids;
12 | CRecordVector _offsets;
13 |
14 | bool OpenFromString(const AString &s);
15 | public:
16 | CLang(): _text(0) {}
17 | ~CLang() { Clear(); }
18 | bool Open(CFSTR fileName, const char *id);
19 | void Clear() throw();
20 | const wchar_t *Get(UInt32 id) const throw();
21 | };
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/src/nbl/system/CFileViewVirtualAllocatorPOSIX.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/system/IFileViewAllocator.h"
2 |
3 | using namespace nbl::system;
4 |
5 | #if defined(_NBL_PLATFORM_LINUX_) || defined(_NBL_PLATFORM_ANDROID_)
6 | #include
7 |
8 | void* CFileViewVirtualAllocatorPOSIX::alloc(size_t size)
9 | {
10 | return mmap((caddr_t)0, size, PROT_WRITE|PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
11 | }
12 | bool CFileViewVirtualAllocatorPOSIX::dealloc(void* data, size_t size)
13 | {
14 | const auto ret = munmap(data,size);
15 | return ret != -1;
16 | }
17 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/BcjCoder.cpp:
--------------------------------------------------------------------------------
1 | // BcjCoder.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "BcjCoder.h"
6 |
7 | namespace NCompress {
8 | namespace NBcj {
9 |
10 | STDMETHODIMP CCoder::Init()
11 | {
12 | _bufferPos = 0;
13 | x86_Convert_Init(_prevMask);
14 | return S_OK;
15 | }
16 |
17 | STDMETHODIMP_(UInt32) CCoder::Filter(Byte *data, UInt32 size)
18 | {
19 | UInt32 processed = (UInt32)::x86_Convert(data, size, _bufferPos, &_prevMask, _encode);
20 | _bufferPos += processed;
21 | return processed;
22 | }
23 |
24 | }}
25 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/bxdf/bsdf/specular/common.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_BXDF_BSDF_SPECULAR_COMMON_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_BXDF_BSDF_SPECULAR_COMMON_INCLUDED_
7 |
8 | #include
9 |
10 | #include
11 | #include
12 |
13 |
14 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/transform_tree/global_transform_and_normal_matrix_update.comp:
--------------------------------------------------------------------------------
1 | #version 440 core
2 | #include "nbl/builtin/glsl/transform_tree/global_transform_update_common.glsl"
3 |
4 | void nbl_glsl_transform_tree_globalTransformUpdate_updateNormalMatrix(in uint nodeID, in mat4x3 globalTransform)
5 | {
6 | mat3 sub3x3TransposeCofactors;
7 | const uint signflip = nbl_glsl_sub3x3TransposeCofactors(mat3(globalTransform),sub3x3TransposeCofactors);
8 | nodeNormalMatrix.data[nodeID] = nbl_glsl_CompressedNormalMatrix_t_encode(signflip,sub3x3TransposeCofactors);
9 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/TextConfig.h:
--------------------------------------------------------------------------------
1 | // Common/TextConfig.h
2 |
3 | #ifndef __COMMON_TEXT_CONFIG_H
4 | #define __COMMON_TEXT_CONFIG_H
5 |
6 | #include "MyString.h"
7 |
8 | struct CTextConfigPair
9 | {
10 | UString ID;
11 | UString String;
12 | };
13 |
14 | bool GetTextConfig(const AString &text, CObjectVector &pairs);
15 |
16 | int FindTextConfigItem(const CObjectVector &pairs, const char *id) throw();
17 | UString GetTextConfigValue(const CObjectVector &pairs, const char *id);
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/blit/default_normalize.comp.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2023-2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #include "nbl/builtin/hlsl/blit/parameters.hlsl"
5 |
6 | #include "nbl/builtin/hlsl/blit/common.hlsl"
7 | //#include "nbl/builtin/hlsl/blit/compute_blit.hlsl"
8 |
9 | using namespace nbl::hlsl::blit;
10 |
11 | // TODO: push constants
12 |
13 | [numthreads(ConstevalParameters::WorkGroupSize,1,1)]
14 | void main()
15 | {
16 | }
--------------------------------------------------------------------------------
/include/nbl/system/CFileViewVirtualAllocatorPOSIX.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_FILE_VIEW_VIRTUAL_ALLOCATOR_POSIX_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_FILE_VIEW_VIRTUAL_ALLOCATOR_POSIX_H_INCLUDED_
3 |
4 | namespace nbl::system
5 | {
6 | #if defined(_NBL_PLATFORM_LINUX_) || defined(_NBL_PLATFORM_ANDROID_)
7 | class CFileViewVirtualAllocatorPOSIX : public IFileViewAllocator
8 | {
9 | public:
10 | using IFileViewAllocator::IFileViewAllocator;
11 |
12 | void* alloc(size_t size) override;
13 | bool dealloc(void* data, size_t size) override;
14 | };
15 | #endif
16 | }
17 |
18 | #endif
--------------------------------------------------------------------------------
/src/nbl/system/CFileViewVirtualAllocatorWin32.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/system/IFileViewAllocator.h"
2 |
3 | using namespace nbl::system;
4 |
5 | #ifdef _NBL_PLATFORM_WINDOWS_
6 | #include "Windows.h"
7 |
8 | void* CFileViewVirtualAllocatorWin32::alloc(size_t size)
9 | {
10 | return VirtualAlloc(nullptr, size, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); // TODO: are these even the right flags? Do we want to commit everything right away?
11 | }
12 | bool CFileViewVirtualAllocatorWin32::dealloc(void* data, size_t size)
13 | {
14 | return VirtualFree(data, 0, MEM_RELEASE);
15 | }
16 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/Lzma/makefile:
--------------------------------------------------------------------------------
1 | # MY_STATIC_LINK=1
2 | PROG = LZMAc.exe
3 |
4 | CFLAGS = $(CFLAGS) \
5 |
6 | LIB_OBJS = \
7 | $O\LzmaUtil.obj \
8 |
9 | C_OBJS = \
10 | $O\Alloc.obj \
11 | $O\LzFind.obj \
12 | $O\LzFindMt.obj \
13 | $O\LzmaDec.obj \
14 | $O\LzmaEnc.obj \
15 | $O\7zFile.obj \
16 | $O\7zStream.obj \
17 | $O\Threads.obj \
18 |
19 | OBJS = \
20 | $(LIB_OBJS) \
21 | $(C_OBJS) \
22 |
23 | !include "../../../CPP/Build.mak"
24 |
25 | $(LIB_OBJS): $(*B).c
26 | $(COMPL_O2)
27 | $(C_OBJS): ../../$(*B).c
28 | $(COMPL_O2)
29 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp:
--------------------------------------------------------------------------------
1 | // PropertyName.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../../Common/IntToString.h"
6 |
7 | #include "LangUtils.h"
8 | #include "PropertyName.h"
9 |
10 | UString GetNameOfProperty(PROPID propID, const wchar_t *name)
11 | {
12 | if (propID < 1000)
13 | {
14 | UString s = LangString(1000 + propID);
15 | if (!s.IsEmpty())
16 | return s;
17 | }
18 | if (name)
19 | return name;
20 | wchar_t temp[16];
21 | ConvertUInt32ToString(propID, temp);
22 | return temp;
23 | }
24 |
--------------------------------------------------------------------------------
/src/nbl/ext/Bullet/BulletUtility.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/ext/Bullet/BulletUtility.h"
6 |
7 | #include
8 |
9 | namespace nbl
10 | {
11 | namespace ext
12 | {
13 |
14 | namespace Bullet3
15 | {
16 |
17 | /*
18 | 01 02 03 00 | 04 05 06 00 | 07 08 09 00 | 10 11 12 00
19 |
20 | 05 02 08 10 | 04 01 07 11 | 06 03 09 12
21 | */
22 |
23 |
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/resourceGui.h:
--------------------------------------------------------------------------------
1 | #define IDI_ICON 1
2 |
3 | #define IDS_MESSAGE_NO_ERRORS 3001
4 |
5 | #define IDS_PROGRESS_TESTING 3302
6 | #define IDS_OPENNING 3303
7 | #define IDS_SCANNING 3304
8 |
9 | #define IDS_CHECKSUM_CALCULATING 7500
10 | #define IDS_CHECKSUM_INFORMATION 7501
11 | #define IDS_CHECKSUM_CRC_DATA 7502
12 | #define IDS_CHECKSUM_CRC_DATA_NAMES 7503
13 | #define IDS_CHECKSUM_CRC_STREAMS_NAMES 7504
14 |
15 | #define IDS_INCORRECT_VOLUME_SIZE 7307
16 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Sha256.h:
--------------------------------------------------------------------------------
1 | /* Sha256.h -- SHA-256 Hash
2 | 2013-01-18 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __CRYPTO_SHA256_H
5 | #define __CRYPTO_SHA256_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | #define SHA256_DIGEST_SIZE 32
12 |
13 | typedef struct
14 | {
15 | UInt32 state[8];
16 | UInt64 count;
17 | Byte buffer[64];
18 | } CSha256;
19 |
20 | void Sha256_Init(CSha256 *p);
21 | void Sha256_Update(CSha256 *p, const Byte *data, size_t size);
22 | void Sha256_Final(CSha256 *p, Byte *digest);
23 |
24 | EXTERN_C_END
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Defs.h:
--------------------------------------------------------------------------------
1 | // Windows/Defs.h
2 |
3 | #ifndef __WINDOWS_DEFS_H
4 | #define __WINDOWS_DEFS_H
5 |
6 | #include "../Common/MyWindows.h"
7 |
8 | #ifdef _WIN32
9 | inline bool LRESULTToBool(LRESULT v) { return (v != FALSE); }
10 | inline bool BOOLToBool(BOOL v) { return (v != FALSE); }
11 | inline BOOL BoolToBOOL(bool v) { return (v ? TRUE: FALSE); }
12 | #endif
13 |
14 | inline VARIANT_BOOL BoolToVARIANT_BOOL(bool v) { return (v ? VARIANT_TRUE: VARIANT_FALSE); }
15 | inline bool VARIANT_BOOLToBool(VARIANT_BOOL v) { return (v != VARIANT_FALSE); }
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/include/nbl/system/CFileViewAPKAllocator.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_FILE_VIEW_APK_ALLOCATOR_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_FILE_VIEW_APK_ALLOCATOR_H_INCLUDED_
3 |
4 |
5 | #include "nbl/system/IFileViewAllocator.h"
6 |
7 |
8 | namespace nbl::system
9 | {
10 | #ifdef _NBL_PLATFORM_ANDROID_
11 | class CFileViewAPKAllocator : public IFileViewAllocator
12 | {
13 | public:
14 | using IFileViewAllocator::IFileViewAllocator;
15 |
16 | // should never be called
17 | void* alloc(size_t size) override;
18 | bool dealloc(void* data, size_t size) override;
19 | };
20 | #endif
21 | }
22 |
23 | #endif
--------------------------------------------------------------------------------
/include/nbl/video/alloc/IBufferAllocator.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_VIDEO_I_BUFFER_ALLOCATOR_BASE_H_
5 | #define _NBL_VIDEO_I_BUFFER_ALLOCATOR_BASE_H_
6 |
7 | #include "nbl/video/IGPUBuffer.h"
8 |
9 | namespace nbl::video
10 | {
11 |
12 | class IBufferAllocator
13 | {
14 | protected:
15 | IBufferAllocator() = default;
16 | virtual ~IBufferAllocator() = default;
17 | };
18 |
19 | }
20 | #endif
21 |
--------------------------------------------------------------------------------
/src/nbl/video/pch_video.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef __NBL_VIDEO_PCH_VIDEO_H_INCLUDED__
5 | #define __NBL_VIDEO_PCH_VIDEO_H_INCLUDED__
6 |
7 |
8 | #include "nbl/video/declarations.h"
9 | #include "nbl/video/definitions.h"
10 |
11 |
12 | // private headers
13 | // TODO: @AnastaZIuk what is this about?
14 | #ifndef _NBL_PCH_IGNORE_PRIVATE_HEADERS
15 |
16 | //
17 |
18 | #endif //_NBL_PCH_IGNORE_PRIVATE_HEADERS
19 |
20 | #endif
--------------------------------------------------------------------------------
/include/nbl/scene/scene.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_SCENE_H_INCLUDED__
6 | #define __NBL_SCENE_H_INCLUDED__
7 |
8 | //
9 | #include "nbl/scene/CLevelOfDetailLibrary.h"
10 | #include "nbl/scene/ITransformTreeManager.h"
11 |
12 | #include "nbl/scene/ICullingLoDSelectionSystem.h"
13 |
14 | #if 0 // not buildable on criss/vulkan branch
15 | //
16 | #include "nbl/scene/IAnimationBlendManager.h"
17 | #endif
18 |
19 | #endif
--------------------------------------------------------------------------------
/src/nbl/asset/interchange/CGLTFWriter.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2020 AnastaZIuk
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h
4 |
5 | #include "CGLTFWriter.h"
6 |
7 | #ifdef _NBL_COMPILE_WITH_GLTF_WRITER_
8 |
9 | namespace nbl
10 | {
11 | namespace asset
12 | {
13 | bool CGLTFWriter::writeAsset(system::IFile* _file, const SAssetWriteParams& _params, IAssetWriterOverride* _override)
14 | {
15 | // TODO: implementation
16 | return false;
17 | }
18 | }
19 | }
20 |
21 | #endif // _NBL_COMPILE_WITH_GLTF_WRITER_
22 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ## Description
2 |
3 |
4 | ## Testing
5 |
6 |
7 | ## TODO list:
8 |
9 |
10 |
13 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/IPassword.h:
--------------------------------------------------------------------------------
1 | // IPassword.h
2 |
3 | #ifndef __IPASSWORD_H
4 | #define __IPASSWORD_H
5 |
6 | #include "../Common/MyTypes.h"
7 | #include "../Common/MyUnknown.h"
8 |
9 | #include "IDecl.h"
10 |
11 | #define PASSWORD_INTERFACE(i, x) DECL_INTERFACE(i, 5, x)
12 |
13 | PASSWORD_INTERFACE(ICryptoGetTextPassword, 0x10)
14 | {
15 | STDMETHOD(CryptoGetTextPassword)(BSTR *password) PURE;
16 | };
17 |
18 | PASSWORD_INTERFACE(ICryptoGetTextPassword2, 0x11)
19 | {
20 | STDMETHOD(CryptoGetTextPassword2)(Int32 *passwordIsDefined, BSTR *password) PURE;
21 | };
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/ComTry.h:
--------------------------------------------------------------------------------
1 | // ComTry.h
2 |
3 | #ifndef __COM_TRY_H
4 | #define __COM_TRY_H
5 |
6 | #include "MyWindows.h"
7 | // #include "Exception.h"
8 | // #include "NewHandler.h"
9 |
10 | #define COM_TRY_BEGIN try {
11 | #define COM_TRY_END } catch(...) { return E_OUTOFMEMORY; }
12 |
13 | /*
14 | #define COM_TRY_END } \
15 | catch(const CNewException &) { return E_OUTOFMEMORY; } \
16 | catch(...) { return HRESULT_FROM_WIN32(ERROR_NOACCESS); } \
17 | */
18 | // catch(const CSystemException &e) { return e.ErrorCode; }
19 | // catch(...) { return E_FAIL; }
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/7zHeader.cpp:
--------------------------------------------------------------------------------
1 | // 7zHeader.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "7zHeader.h"
6 |
7 | namespace NArchive {
8 | namespace N7z {
9 |
10 | Byte kSignature[kSignatureSize] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
11 | #ifdef _7Z_VOL
12 | Byte kFinishSignature[kSignatureSize] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C + 1};
13 | #endif
14 |
15 | // We can change signature. So file doesn't contain correct signature.
16 | // struct SignatureInitializer { SignatureInitializer() { kSignature[0]--; } };
17 | // static SignatureInitializer g_SignatureInitializer;
18 |
19 | }}
20 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/Bcj2Register.cpp:
--------------------------------------------------------------------------------
1 | // Bcj2Register.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../Common/RegisterCodec.h"
6 |
7 | #include "Bcj2Coder.h"
8 |
9 | namespace NCompress {
10 | namespace NBcj2 {
11 |
12 | REGISTER_CODEC_CREATE_2(CreateCodec, CDecoder(), ICompressCoder2)
13 | #ifndef EXTRACT_ONLY
14 | REGISTER_CODEC_CREATE_2(CreateCodecOut, CEncoder(), ICompressCoder2)
15 | #else
16 | #define CreateCodecOut NULL
17 | #endif
18 |
19 | REGISTER_CODEC_VAR
20 | { CreateCodec, CreateCodecOut, 0x303011B, "BCJ2", 4, false };
21 |
22 | REGISTER_CODEC(BCJ2)
23 |
24 | }}
25 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/bump_mapping/fragment.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_BUMP_MAPPING_FRAGMENT_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_BUMP_MAPPING_FRAGMENT_INCLUDED_
7 |
8 | #ifndef _NBL_BUILTIN_GLSL_BUMP_MAPPING_DERIVATIVES_DECLARED_
9 | #ifndef _NBL_BUILTIN_GLSL_BUMP_MAPPING_DERIVATIVES_DECLARED_
10 | mat2x3 nbl_glsl_perturbNormal_dPdSomething();
11 | mat2 nbl_glsl_perturbNormal_dUVdSomething();
12 | #endif
13 |
14 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/MitsubaLoader/instance_data_struct.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_EXT_MITSUBA_LOADER_INSTANCE_DATA_STRUCT_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_EXT_MITSUBA_LOADER_INSTANCE_DATA_STRUCT_INCLUDED_
3 |
4 |
5 | #include
6 |
7 | struct nbl_glsl_ext_Mitsuba_Loader_instance_data_t
8 | {
9 | mat4x3 tform;
10 | vec3 normalMatrixRow0;
11 | uint padding0;
12 | vec3 normalMatrixRow1;
13 | uint padding1;
14 | vec3 normalMatrixRow2;
15 | uint determinantSignBit;
16 | nbl_glsl_MC_material_data_t material;
17 | };
18 |
19 |
20 | #endif
--------------------------------------------------------------------------------
/src/nbl/video/utilities/ICommandPoolCache.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/IPhysicalDevice.h"
2 | #include "nbl/video/ILogicalDevice.h"
3 | #include "nbl/video/utilities/ICommandPoolCache.h"
4 |
5 | using namespace nbl;
6 | using namespace video;
7 |
8 |
9 | void ICommandPoolCache::releaseSet(const uint32_t poolIx)
10 | {
11 | m_cache[poolIx]->reset();
12 | m_cmdPoolAllocator.free_addr(poolIx,1);
13 | }
14 |
15 | void ICommandPoolCache::DeferredCommandPoolResetter::operator()()
16 | {
17 | #ifdef _NBL_DEBUG
18 | assert(m_cache && m_poolIxgetCapacity());
19 | #endif // _NBL_DEBUG
20 | m_cache->releaseSet(m_poolIx);
21 | }
--------------------------------------------------------------------------------
/3rdparty/pstl/oneDPL/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.20)
2 | include(${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/toolchains/android/build.cmake)
3 |
4 | if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
5 | if(NOT DEFINED ONETBB_INSTALL_DIR)
6 | message(FATAL_ERROR "oneDPL submodule requires valid ONETBB_INSTALL_DIR!")
7 | endif()
8 |
9 | set(TBB_DIR ${ONETBB_INSTALL_DIR}/lib/cmake/TBB CACHE INTERNAL "" FORCE)
10 | set(ONEDPL_BACKEND tbb CACHE STRING "" FORCE)
11 | add_subdirectory(oneDPL oneDPL)
12 |
13 | if(ANDROID)
14 | add_compile_options(
15 | $<$:-glldb>
16 | )
17 | endif()
18 | endif()
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/culling_lod_selection/potentially_visible_instance_draw_struct.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_CULLING_LOD_SELECTION_POTENTIALLY_VISIBLE_INSTANCE_DRAW_STRUCT_GLSL_INCLUDED_
2 | #define _NBL_GLSL_CULLING_LOD_SELECTION_POTENTIALLY_VISIBLE_INSTANCE_DRAW_STRUCT_GLSL_INCLUDED_
3 |
4 |
5 | #ifdef __cplusplus
6 | #define uint uint32_t
7 | #endif
8 | struct nbl_glsl_culling_lod_selection_PotentiallyVisibleInstanceDraw_t
9 | {
10 | uint perViewPerInstanceID;
11 | uint drawBaseInstanceDWORDOffset;
12 | uint instanceID;
13 | }; // TODO: move
14 | #ifdef __cplusplus
15 | #undef uint
16 | #endif
17 |
18 |
19 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/workgroup2/impl/virtual_wg_size_def.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | DEFINE_ASSIGN(uint16_t, WorkgroupSizeLog2, _WorkgroupSizeLog2)
6 | DEFINE_ASSIGN(uint16_t, SubgroupSizeLog2, _SubgroupSizeLog2)
7 | DEFINE_ASSIGN(uint16_t, levels, SELECT(uint16_t,(_WorkgroupSizeLog2>_SubgroupSizeLog2),SELECT(uint16_t,(_WorkgroupSizeLog2>_SubgroupSizeLog2*2+2),3,2),1))
8 | DEFINE_ASSIGN(uint16_t, value, MAX(uint16_t, _SubgroupSizeLog2*levels, _WorkgroupSizeLog2))
9 |
--------------------------------------------------------------------------------
/tools/debug/VisualStudio/DynamicArrayVisualizer.natvis:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | size={item_count} elementType={"$T1"}
6 |
7 | - item_count
8 |
9 | item_count
10 | reinterpret_cast<$T1*>(this)+dummy_item_count
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | labels: enhancement
5 | ---
6 |
7 | ## Description
8 |
9 |
10 | ## Description of the related problem
11 |
13 |
14 | ## Solution proposal
15 |
16 |
17 | ## Additional context
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/ExtractMode.h:
--------------------------------------------------------------------------------
1 | // ExtractMode.h
2 |
3 | #ifndef __EXTRACT_MODE_H
4 | #define __EXTRACT_MODE_H
5 |
6 | namespace NExtract {
7 |
8 | namespace NPathMode
9 | {
10 | enum EEnum
11 | {
12 | kFullPaths,
13 | kCurPaths,
14 | kNoPaths,
15 | kAbsPaths,
16 | kNoPathsAlt // alt streams must be extracted without name of base file
17 | };
18 | }
19 |
20 | namespace NOverwriteMode
21 | {
22 | enum EEnum
23 | {
24 | kAsk,
25 | kOverwrite,
26 | kSkip,
27 | kRename,
28 | kRenameExisting
29 | };
30 | }
31 |
32 | }
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/barycentric/extensions.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_BARYCENTRIC_EXTENSIONS_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_BARYCENTRIC_EXTENSIONS_INCLUDED_
7 |
8 | #ifdef NBL_GL_NV_fragment_shader_barycentric
9 | #extension GL_NV_fragment_shader_barycentric : enable
10 | #elif defined(NBL_GL_AMD_shader_explicit_vertex_parameter)
11 | #extension GL_AMD_shader_explicit_vertex_parameter : enable
12 | #endif
13 |
14 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/DepthPyramidGenerator/common.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_GLSL_EXT_DEPTH_PYRAMID_GENERATOR_COMMON_INCLUDED_
6 | #define _NBL_GLSL_EXT_DEPTH_PYRAMID_GENERATOR_COMMON_INCLUDED_
7 |
8 | #include
9 |
10 | layout(push_constant) uniform PushConstants
11 | {
12 | nbl_glsl_depthPyramid_PushConstantsData data;
13 | } pc;
14 |
15 | #endif
--------------------------------------------------------------------------------
/tools/nsc/config.json.template:
--------------------------------------------------------------------------------
1 | {
2 | "enableParallelBuild": true,
3 | "threadsPerBuildProcess" : 2,
4 | "isExecuted": true,
5 | "scriptPath": "test/test.py",
6 | "cmake": {
7 | "configurations": [ "Release", "Debug", "RelWithDebInfo" ],
8 | "buildModes": [],
9 | "requiredOptions": []
10 | },
11 | "profiles": [
12 | {
13 | "backend": "vulkan",
14 | "platform": "windows",
15 | "buildModes": [],
16 | "runConfiguration": "Release",
17 | "gpuArchitectures": [],
18 | "inputs": [
19 | "test/config/release.json.template"
20 | ]
21 | }
22 | ],
23 | "inputs": []
24 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/ConsoleClose.h:
--------------------------------------------------------------------------------
1 | // ConsoleClose.h
2 |
3 | #ifndef __CONSOLE_CLOSE_H
4 | #define __CONSOLE_CLOSE_H
5 |
6 | namespace NConsoleClose {
7 |
8 | extern unsigned g_BreakCounter;
9 |
10 | inline bool TestBreakSignal()
11 | {
12 | #ifdef UNDER_CE
13 | return false;
14 | #else
15 | return (g_BreakCounter != 0);
16 | #endif
17 | }
18 |
19 | class CCtrlHandlerSetter
20 | {
21 | public:
22 | CCtrlHandlerSetter();
23 | virtual ~CCtrlHandlerSetter();
24 | };
25 |
26 | class CCtrlBreakException
27 | {};
28 |
29 | // void CheckCtrlBreak();
30 |
31 | }
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/compose.yml:
--------------------------------------------------------------------------------
1 | services:
2 | nsc:
3 | container_name: nsc-godbolt
4 | image: ghcr.io/devsh-graphics-programming/nabla-shader-compiler-godbolt:latest
5 | isolation: process
6 | ports:
7 | - "80:10240"
8 | volumes:
9 | - type: bind
10 | source: C:\Windows\Globalization\ICU
11 | target: C:\Windows\Globalization\ICU
12 | read_only: true
13 | - type: bind
14 | source: C:\Windows\System32
15 | target: C:\mount\Windows\System32
16 | read_only: true
17 | restart: always
18 |
19 | networks:
20 | default:
21 | external: true
22 | name: docker_default
23 |
--------------------------------------------------------------------------------
/include/nbl/ext/OptiX/SbtRecord.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_EXT_SBT_RECORD_H_INCLUDED__
6 | #define __NBL_EXT_SBT_RECORD_H_INCLUDED__
7 |
8 | #include "optix.h"
9 |
10 | namespace nbl
11 | {
12 | namespace ext
13 | {
14 | namespace OptiX
15 | {
16 |
17 | template
18 | struct SbtRecord
19 | {
20 | alignas(OPTIX_SBT_RECORD_ALIGNMENT) char header[OPTIX_SBT_RECORD_HEADER_SIZE];
21 | T data;
22 | };
23 |
24 | }
25 | }
26 | }
27 |
28 | #endif
--------------------------------------------------------------------------------
/source/Nabla/COSOperator.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2019 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine" and was originally part of the "Irrlicht Engine"
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | // See the original file in irrlicht source for authors
5 |
6 | #ifndef __NBL_C_OS_OPERATOR_H_INCLUDED__
7 | #define __NBL_C_OS_OPERATOR_H_INCLUDED__
8 |
9 | // TODO: @sadiuk
10 | virtual std::string getOperatingSystemVersion() const;
11 |
12 | // TODO: @sadiuk
13 | virtual bool getSystemMemory(uint32_t* Total, uint32_t* Avail) const;
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/UserInputUtils.h:
--------------------------------------------------------------------------------
1 | // UserInputUtils.h
2 |
3 | #ifndef __USER_INPUT_UTILS_H
4 | #define __USER_INPUT_UTILS_H
5 |
6 | #include "../../../Common/StdOutStream.h"
7 |
8 | namespace NUserAnswerMode {
9 |
10 | enum EEnum
11 | {
12 | kYes,
13 | kNo,
14 | kYesAll,
15 | kNoAll,
16 | kAutoRenameAll,
17 | kQuit,
18 | kEof,
19 | kError
20 | };
21 | }
22 |
23 | NUserAnswerMode::EEnum ScanUserYesNoAllQuit(CStdOutStream *outStream);
24 | // bool GetPassword(CStdOutStream *outStream, UString &psw);
25 | HRESULT GetPassword_HRESULT(CStdOutStream *outStream, UString &psw);
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/builtin/cache/ICacheKeyCreator.h:
--------------------------------------------------------------------------------
1 | #ifndef __I_CACHE_KEY_CREATOR_H_INCLUDED__
2 | #define __I_CACHE_KEY_CREATOR_H_INCLUDED__
3 |
4 | #include "nbl/asset/IAsset.h"
5 |
6 | namespace nbl
7 | {
8 | namespace asset
9 | {
10 | class NBL_API2 ICacheKeyCreator
11 | {
12 | public:
13 | virtual std::string to_string() = 0;
14 |
15 | template
16 | _NBL_STATIC_INLINE std::string getHexString(const Type& value)
17 | {
18 | std::stringstream stream;
19 | stream << std::setfill('0') << std::hex << value;
20 | return stream.str();
21 | };
22 | };
23 | }
24 | }
25 |
26 | #endif // __I_CACHE_KEY_CREATOR_H_INCLUDED__
27 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/scene/animation.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_SCENE_ANIMATION_INCLUDED_
2 | #define _NBL_GLSL_SCENE_ANIMATION_INCLUDED_
3 |
4 |
5 | #include
6 |
7 |
8 | struct nbl_glsl_scene_Animation_t
9 | {
10 | uint keyframeOffset; // same offset for timestamps and keyframes
11 | uint keyframesCount_interpolationMode; // 2 bits for interpolation mode
12 | };
13 |
14 | // TODO: Design for this
15 | struct nbl_glsl_scene_AnimationBlend_t
16 | {
17 | uint nodeTargetID;
18 | uint desiredTimestamp;
19 | float weight;
20 | uint animationID; // or do we stick whole animation inside?
21 | };
22 |
23 | #endif
--------------------------------------------------------------------------------
/include/nbl/logging_macros.h:
--------------------------------------------------------------------------------
1 | #if defined(NBL_LOG) || defined(NBL_LOG_ERROR)
2 | #error redefinition of NBL_LOG/NBL_LOG_ERROR. did you forgot to undefine logging macros somewhere? #include "nbl/undefine_logging_macros.h"
3 | #elif !defined(_GIT_INFO_H_INCLUDED_)
4 | #error logging macros require git meta info, include "git_info.h"
5 | #else
6 | #define NBL_LOG(SEVERITY, FORMAT, ...) NBL_LOG_FUNCTION(FORMAT" [%s][%s - %s:%d]", SEVERITY __VA_OPT__(,) __VA_ARGS__, nbl::gtml::nabla_git_info.commitShortHash, __FUNCTION__, __FILE__, __LINE__);
7 | #define NBL_LOG_ERROR(FORMAT, ...) NBL_LOG(nbl::system::ILogger::ELL_ERROR, FORMAT __VA_OPT__(,) __VA_ARGS__)
8 | #endif
--------------------------------------------------------------------------------
/src/nbl/asset/filters/CBasicImageFilterCommon.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/asset/filters/CBasicImageFilterCommon.h"
6 |
7 | using namespace nbl::asset;
8 |
9 | CBasicImageFilterCommon::~CBasicImageFilterCommon()
10 | {
11 | }
12 |
13 | CBasicInImageFilterCommon::~CBasicInImageFilterCommon()
14 | {
15 | }
16 |
17 | CBasicInOutImageFilterCommon::~CBasicInOutImageFilterCommon()
18 | {
19 | }
20 |
21 | CBasicOutImageFilterCommon::~CBasicOutImageFilterCommon()
22 | {
23 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Client7z/makefile:
--------------------------------------------------------------------------------
1 | PROG = 7zcl.exe
2 | MY_CONSOLE = 1
3 |
4 | CURRENT_OBJS = \
5 | $O\Client7z.obj \
6 |
7 | COMMON_OBJS = \
8 | $O\IntToString.obj \
9 | $O\NewHandler.obj \
10 | $O\MyString.obj \
11 | $O\StringConvert.obj \
12 | $O\StringToInt.obj \
13 | $O\MyVector.obj \
14 | $O\Wildcard.obj \
15 |
16 | WIN_OBJS = \
17 | $O\DLL.obj \
18 | $O\FileDir.obj \
19 | $O\FileFind.obj \
20 | $O\FileIO.obj \
21 | $O\FileName.obj \
22 | $O\PropVariant.obj \
23 | $O\PropVariantConv.obj \
24 |
25 | 7ZIP_COMMON_OBJS = \
26 | $O\FileStreams.obj \
27 |
28 | !include "../../7zip.mak"
29 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/MyTypes.h:
--------------------------------------------------------------------------------
1 | // Common/MyTypes.h
2 |
3 | #ifndef __COMMON_MY_TYPES_H
4 | #define __COMMON_MY_TYPES_H
5 |
6 | #include "../../C/7zTypes.h"
7 |
8 | typedef int HRes;
9 |
10 | struct CBoolPair
11 | {
12 | bool Val;
13 | bool Def;
14 |
15 | CBoolPair(): Val(false), Def(false) {}
16 |
17 | void Init()
18 | {
19 | Val = false;
20 | Def = false;
21 | }
22 |
23 | void SetTrueTrue()
24 | {
25 | Val = true;
26 | Def = true;
27 | }
28 | };
29 |
30 | #define CLASS_NO_COPY(cls) \
31 | private: \
32 | cls(const cls &); \
33 | cls &operator=(const cls &);
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/ext/FullScreenTriangle/SVertexAttributes.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_HLSL_EXT_FULL_SCREEN_TRIANGLE_S_VERTEX_ATTRIBUTE_H_
5 | #define _NBL_HLSL_EXT_FULL_SCREEN_TRIANGLE_S_VERTEX_ATTRIBUTE_H_
6 |
7 | namespace nbl
8 | {
9 | namespace hlsl
10 | {
11 | namespace ext
12 | {
13 | namespace FullScreenTriangle
14 | {
15 |
16 | struct SVertexAttributes
17 | {
18 | [[vk::location(0)]] float32_t2 uv : TEXCOORD0;
19 | };
20 |
21 | }
22 | }
23 | }
24 | }
25 | #endif
--------------------------------------------------------------------------------
/include/nbl/system/CStdoutLoggerAndroid.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_STDOUT_LOGGER_ANDROID_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_STDOUT_LOGGER_ANDROID_H_INCLUDED_
3 |
4 | #include "nbl/system/IThreadsafeLogger.h"
5 |
6 | namespace nbl::system
7 | {
8 |
9 | #ifdef _NBL_PLATFORM_ANDROID_
10 | class CStdoutLoggerAndroid : public IThreadsafeLogger
11 | {
12 | public:
13 | CStdoutLoggerAndroid(core::bitflag logLevelMask = ILogger::DefaultLogMask()) : IThreadsafeLogger(logLevelMask) {}
14 |
15 | private:
16 | void threadsafeLog_impl(const std::string_view& fmt, E_LOG_LEVEL logLevel, va_list args) override;
17 | };
18 | #endif
19 |
20 | }
21 |
22 | #endif
--------------------------------------------------------------------------------
/include/nbl/asset/filters/CBufferToImageCopyImageFilter.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_ASSET_C_BUFFER_TO_IMAGE_COPY_IMAGE_FILTER_H_INCLUDED__
6 | #define __NBL_ASSET_C_BUFFER_TO_IMAGE_COPY_IMAGE_FILTER_H_INCLUDED__
7 |
8 | #include "nbl/asset/filters/CFlattenRegionsImageFilter.h"
9 |
10 | namespace nbl
11 | {
12 | namespace asset
13 | {
14 |
15 | using CBufferToImageCopyImageFilter = CFlattenRegionsImageFilter;
16 |
17 | } // end namespace asset
18 | } // end namespace nbl
19 |
20 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/material_compiler/common_declarations.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2021 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_MATERIAL_COMPILER_COMMON_DECLARATIONS_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_MATERIAL_COMPILER_COMMON_DECLARATIONS_INCLUDED_
7 |
8 | #include
9 | #include
10 |
11 | struct nbl_glsl_MC_bsdf_data_t
12 | {
13 | uvec4 data[sizeof_bsdf_data];
14 | };
15 |
16 | #endif
--------------------------------------------------------------------------------
/include/nbl/ui/IWindowAndroid.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_I_WINDOW_ANDROID_H_INCLUDED_
2 | #define _NBL_I_WINDOW_ANDROID_H_INCLUDED_
3 |
4 | #include "nbl/ui/IWindow.h"
5 |
6 | #ifdef _NBL_PLATFORM_ANDROID_
7 | namespace nbl::ui
8 | {
9 |
10 | class NBL_API2 IWindowAndroid : public IWindow
11 | {
12 | public:
13 | using native_handle_t = struct ANativeWindow*;
14 | virtual const native_handle_t& getNativeHandle() const = 0;
15 |
16 | protected:
17 | virtual ~IWindowAndroid() = default;
18 | inline IWindowAndroid(SCreationParams&& params) : IWindow(std::move(params)) {}
19 | };
20 |
21 | }
22 | #endif // _NBL_PLATFORM_ANDROID_
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/7z/7z.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "7z"=.\7z.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/CommonDialog.h:
--------------------------------------------------------------------------------
1 | // Windows/CommonDialog.h
2 |
3 | #ifndef __WINDOWS_COMMON_DIALOG_H
4 | #define __WINDOWS_COMMON_DIALOG_H
5 |
6 | #include "../Common/MyString.h"
7 |
8 | namespace NWindows {
9 |
10 | bool MyGetOpenFileName(HWND hwnd, LPCWSTR title,
11 | LPCWSTR initialDir, // can be NULL, so dir prefix in filePath will be used
12 | LPCWSTR filePath, // full path
13 | LPCWSTR filterDescription, // like "All files (*.*)"
14 | LPCWSTR filter, // like "*.exe"
15 | UString &resPath
16 | #ifdef UNDER_CE
17 | , bool openFolder = false
18 | #endif
19 | );
20 |
21 | }
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/FFT/parameters_struct.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_GLSL_EXT_FFT_PARAMETERS_STRUCT_INCLUDED_
6 | #define _NBL_GLSL_EXT_FFT_PARAMETERS_STRUCT_INCLUDED_
7 |
8 | struct nbl_glsl_ext_FFT_Parameters_t
9 | {
10 | uvec4 input_dimensions; // settings packed into the w component : (isInverse << 31u) | (direction_u3 << 28u) | (maxChannel_u2<<26u) | (fftSizeLog2_u5 << 3u) | paddingType_u3;
11 | uvec4 input_strides;
12 | uvec4 output_strides;
13 | };
14 |
15 | #endif
--------------------------------------------------------------------------------
/include/nbl/nblunpack.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2019 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine" and was originally part of the "Irrlicht Engine"
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | // See the original file in irrlicht source for authors
5 |
6 | // include this file to switch back to default alignment
7 | // file belongs to nblpack.h, see there for more info
8 |
9 | // Default alignment
10 | #if defined(_MSC_VER) || defined(__GNUC__) || defined (__clang__)
11 | # pragma pack( pop, packing )
12 | #else
13 | # error compiler not supported
14 | #endif
15 |
16 | #undef PACK_STRUCT
17 |
18 |
--------------------------------------------------------------------------------
/cmake/adjust/definitions.cmake:
--------------------------------------------------------------------------------
1 | include_guard(GLOBAL)
2 |
3 | function(nbl_adjust_definitions)
4 | add_compile_definitions(
5 | PNG_THREAD_UNSAFE_OK
6 | PNG_NO_MMX_CODE
7 | PNG_NO_MNG_FEATURES
8 | _7ZIP_ST
9 | SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS
10 | BOOST_ALL_NO_LIB
11 | )
12 |
13 | if(MSVC)
14 | add_compile_definitions(
15 | _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR
16 | )
17 | endif()
18 |
19 | if(ANDROID)
20 | add_compile_definitions(
21 | NBL_ANDROID_TOOLCHAIN
22 | )
23 | endif()
24 |
25 | if(WIN32)
26 | add_compile_definitions(
27 | WIN32
28 | __GNUWIN32__
29 | _CRT_SECURE_NO_DEPRECATE
30 | NOMINMAX
31 | )
32 | endif()
33 | endfunction()
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/property_pool/transfer.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_PROPERTY_POOL_TRANSFER_GLSL_INCLUDED_
2 | #define _NBL_GLSL_PROPERTY_POOL_TRANSFER_GLSL_INCLUDED_
3 |
4 | struct nbl_glsl_property_pool_transfer_t
5 | {
6 | int propertyDWORDsize_flags;
7 | int elementCount;
8 | uint srcIndexOffset;
9 | uint dstIndexOffset;
10 | };
11 | #define NBL_BUILTIN_PROPERTY_POOL_TRANSFER_EF_DOWNLOAD 0x1u
12 | #define NBL_BUILTIN_PROPERTY_POOL_TRANSFER_EF_SRC_FILL 0x2u
13 | #define NBL_BUILTIN_PROPERTY_POOL_TRANSFER_EF_BIT_COUNT 2
14 |
15 | #define NBL_BUILTIN_PROPERTY_POOL_INVALID 0xdeadbeef
16 |
17 | #define NBL_BUILTIN_PROPERTY_POOL_MAX_PROPERTIES_PER_DISPATCH 128
18 |
19 | #endif
--------------------------------------------------------------------------------
/include/nbl/video/IGPURenderpass.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_VIDEO_I_GPU_RENDERPASS_H_INCLUDED_
2 | #define _NBL_VIDEO_I_GPU_RENDERPASS_H_INCLUDED_
3 |
4 |
5 | #include "nbl/asset/IRenderpass.h"
6 |
7 | #include "nbl/video/decl/IBackendObject.h"
8 |
9 |
10 | namespace nbl::video
11 | {
12 |
13 | class IGPURenderpass : public IBackendObject, public asset::IRenderpass
14 | {
15 | using base_t = asset::IRenderpass;
16 |
17 | public:
18 | inline IGPURenderpass(core::smart_refctd_ptr&& dev, const SCreationParams& params, const SCreationParamValidationResult& counts) : IBackendObject(std::move(dev)), base_t(params,counts) {}
19 | };
20 |
21 | }
22 |
23 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_OVERWRITE 3500
2 | #define IDD_OVERWRITE_2 13500
3 |
4 | #define IDT_OVERWRITE_HEADER 3501
5 | #define IDT_OVERWRITE_QUESTION_BEGIN 3502
6 | #define IDT_OVERWRITE_QUESTION_END 3503
7 | #define IDS_FILE_SIZE 3504
8 |
9 | #define IDB_AUTO_RENAME 3505
10 | #define IDB_YES_TO_ALL 440
11 | #define IDB_NO_TO_ALL 441
12 |
13 | #define IDI_OVERWRITE_OLD_FILE 100
14 | #define IDI_OVERWRITE_NEW_FILE 101
15 |
16 | #define IDT_OVERWRITE_OLD_FILE_SIZE_TIME 102
17 | #define IDT_OVERWRITE_NEW_FILE_SIZE_TIME 103
18 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/Lzma/LzmaUtil.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "LzmaUtil"=.\LzmaUtil.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/LzmaLib/LzmaLib.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "LzmaLib"=.\LzmaLib.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/UniqBlocks.h:
--------------------------------------------------------------------------------
1 | // UniqBlocks.h
2 |
3 | #ifndef __UNIQ_BLOCKS_H
4 | #define __UNIQ_BLOCKS_H
5 |
6 | #include "../../Common/MyTypes.h"
7 | #include "../../Common/MyBuffer.h"
8 | #include "../../Common/MyVector.h"
9 |
10 | struct CUniqBlocks
11 | {
12 | CObjectVector Bufs;
13 | CUIntVector Sorted;
14 | CUIntVector BufIndexToSortedIndex;
15 |
16 | unsigned AddUniq(const Byte *data, size_t size);
17 | UInt64 GetTotalSizeInBytes() const;
18 | void GetReverseMap();
19 |
20 | bool IsOnlyEmpty() const
21 | {
22 | return (Bufs.Size() == 0 || Bufs.Size() == 1 && Bufs[0].Size() == 0);
23 | }
24 | };
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/workgroup/shared_arithmetic.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_WORKGROUP_SHARED_ARITHMETIC_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_WORKGROUP_SHARED_ARITHMETIC_INCLUDED_
3 |
4 |
5 |
6 | #include
7 |
8 |
9 |
10 | #if NBL_GLSL_WORKGROUP_SCAN_SCRATCH_BOUND(_NBL_GLSL_WORKGROUP_SIZE_-1)>_NBL_GLSL_WORKGROUP_CLUSTERED_SHARED_SIZE_NEEDED_
11 | #define _NBL_GLSL_WORKGROUP_ARITHMETIC_SHARED_SIZE_NEEDED_ NBL_GLSL_WORKGROUP_SCAN_SCRATCH_BOUND(_NBL_GLSL_WORKGROUP_SIZE_-1)
12 | #else
13 | #define _NBL_GLSL_WORKGROUP_ARITHMETIC_SHARED_SIZE_NEEDED_ _NBL_GLSL_WORKGROUP_BALLOT_SHARED_SIZE_NEEDED_
14 | #endif
15 |
16 |
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/SfxSetup.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "SfxSetup"=.\SfxSetup.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "Alone"=.\Alone.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/OffsetStream.h:
--------------------------------------------------------------------------------
1 | // OffsetStream.h
2 |
3 | #ifndef __OFFSET_STREAM_H
4 | #define __OFFSET_STREAM_H
5 |
6 | #include "../../Common/MyCom.h"
7 |
8 | #include "../IStream.h"
9 |
10 | class COffsetOutStream:
11 | public IOutStream,
12 | public CMyUnknownImp
13 | {
14 | UInt64 _offset;
15 | CMyComPtr _stream;
16 | public:
17 | HRESULT Init(IOutStream *stream, UInt64 offset);
18 |
19 | MY_UNKNOWN_IMP
20 |
21 | STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
22 | STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition);
23 | STDMETHOD(SetSize)(UInt64 newSize);
24 | };
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/include/nbl/ui/IWindowWin32.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_I_WINDOW_WIN32_H_INCLUDED_
2 | #define _NBL_I_WINDOW_WIN32_H_INCLUDED_
3 |
4 | #include "nbl/ui/IWindowManagerWin32.h"
5 |
6 | #ifdef _NBL_PLATFORM_WINDOWS_
7 | // forward declare HWND
8 | struct HWND__;
9 |
10 | namespace nbl::ui
11 | {
12 |
13 | class NBL_API2 IWindowWin32 : public IWindow
14 | {
15 | public:
16 | using native_handle_t = HWND__*;
17 | virtual const native_handle_t& getNativeHandle() const = 0;
18 |
19 | protected:
20 | inline IWindowWin32(SCreationParams&& params) : IWindow(std::move(params)) {}
21 | virtual ~IWindowWin32() = default;
22 | };
23 |
24 | }
25 |
26 | #endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Report a bug or problem encountered while using Nabla
4 | labels: bug
5 | ---
6 |
7 | ## Describe the bug
8 |
9 |
10 | ## Steps to Reproduce
11 |
12 |
13 | ## Expected vs observed behavior
14 |
15 |
16 | ## Environment
17 |
18 |
19 | * **OS:**
20 | * **CPU:**
21 | * **GPU:**
22 | * **GPU driver version:**
23 | * **Compiler:**
24 | * **branch:**
25 | * **commit hash:**
26 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "LzmaCon"=.\LzmaCon.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "SFXCon"=.\SFXCon.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "SFXWin"=.\SFXWin.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/BcjCoder.h:
--------------------------------------------------------------------------------
1 | // BcjCoder.h
2 |
3 | #ifndef __COMPRESS_BCJ_CODER_H
4 | #define __COMPRESS_BCJ_CODER_H
5 |
6 | #include "../../../C/Bra.h"
7 |
8 | #include "../../Common/MyCom.h"
9 |
10 | #include "../ICoder.h"
11 |
12 | namespace NCompress {
13 | namespace NBcj {
14 |
15 | class CCoder:
16 | public ICompressFilter,
17 | public CMyUnknownImp
18 | {
19 | UInt32 _bufferPos;
20 | UInt32 _prevMask;
21 | int _encode;
22 | public:
23 | MY_UNKNOWN_IMP1(ICompressFilter);
24 | INTERFACE_ICompressFilter(;)
25 |
26 | CCoder(int encode): _bufferPos(0), _encode(encode) { x86_Convert_Init(_prevMask); }
27 | };
28 |
29 | }}
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Client7z/Client7z.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "Client7z"=.\Client7z.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "SFXSetup"=.\SFXSetup.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/include/nbl/system/CStdoutLogger.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_STDOUT_LOGGER_INCLUDED_
2 | #define _NBL_SYSTEM_C_STDOUT_LOGGER_INCLUDED_
3 |
4 | #include "IThreadsafeLogger.h"
5 | #include
6 |
7 | namespace nbl::system
8 | {
9 |
10 | class CStdoutLogger : public IThreadsafeLogger
11 | {
12 | public:
13 | CStdoutLogger(core::bitflag logLevelMask = ILogger::DefaultLogMask()) : IThreadsafeLogger(logLevelMask) {}
14 |
15 | protected:
16 | virtual void threadsafeLog_impl(const std::string_view& fmt, E_LOG_LEVEL logLevel, va_list args) override
17 | {
18 | printf("%s", constructLogString(fmt, logLevel, args).data());
19 | fflush(stdout);
20 | }
21 |
22 | };
23 |
24 | }
25 |
26 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/WorkDir.h:
--------------------------------------------------------------------------------
1 | // WorkDir.h
2 |
3 | #ifndef __WORK_DIR_H
4 | #define __WORK_DIR_H
5 |
6 | #include "../../../Windows/FileDir.h"
7 |
8 | #include "../../Common/FileStreams.h"
9 |
10 | #include "ZipRegistry.h"
11 |
12 | FString GetWorkDir(const NWorkDir::CInfo &workDirInfo, const FString &path, FString &fileName);
13 |
14 | class CWorkDirTempFile
15 | {
16 | FString _originalPath;
17 | NWindows::NFile::NDir::CTempFile _tempFile;
18 | COutFileStream *_outStreamSpec;
19 | public:
20 | CMyComPtr OutStream;
21 |
22 | HRESULT CreateTempFile(const FString &originalPath);
23 | HRESULT MoveToOriginal(bool deleteOriginal);
24 | };
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs:
--------------------------------------------------------------------------------
1 | // IMatchFinder.cs
2 |
3 | using System;
4 |
5 | namespace SevenZip.Compression.LZ
6 | {
7 | interface IInWindowStream
8 | {
9 | void SetStream(System.IO.Stream inStream);
10 | void Init();
11 | void ReleaseStream();
12 | Byte GetIndexByte(Int32 index);
13 | UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit);
14 | UInt32 GetNumAvailableBytes();
15 | }
16 |
17 | interface IMatchFinder : IInWindowStream
18 | {
19 | void Create(UInt32 historySize, UInt32 keepAddBufferBefore,
20 | UInt32 matchMaxLen, UInt32 keepAddBufferAfter);
21 | UInt32 GetMatches(UInt32[] distances);
22 | void Skip(UInt32 num);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/include/nbl/core/definitions.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_CORE_DEFINITIONS_H_INCLUDED_
5 | #define _NBL_CORE_DEFINITIONS_H_INCLUDED_
6 |
7 | //
8 | #include "nbl/core/def/smart_refctd_ptr.h"
9 |
10 | // hash functions
11 | #include "nbl/core/hash/xxHash256.h"
12 | #include "nbl/core/hash/blake.h"
13 |
14 | // math [deprecated]
15 | #include "nbl/core/math/floatutil.tcc"
16 | #include "nbl/core/math/glslFunctions.tcc"
17 |
18 | // implementations [deprecated]
19 | #include "matrix3x4SIMD_impl.h"
20 | #include "matrix4SIMD_impl.h"
21 |
22 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/VirtThread.h:
--------------------------------------------------------------------------------
1 | // VirtThread.h
2 |
3 | #ifndef __VIRT_THREAD_H
4 | #define __VIRT_THREAD_H
5 |
6 | #include "../../Windows/Synchronization.h"
7 | #include "../../Windows/Thread.h"
8 |
9 | struct CVirtThread
10 | {
11 | NWindows::NSynchronization::CAutoResetEvent StartEvent;
12 | NWindows::NSynchronization::CAutoResetEvent FinishedEvent;
13 | NWindows::CThread Thread;
14 | bool Exit;
15 |
16 | ~CVirtThread() { WaitThreadFinish(); }
17 | void WaitThreadFinish(); // call it in destructor of child class !
18 | WRes Create();
19 | void Start();
20 | virtual void Execute() = 0;
21 | void WaitExecuteFinish() { FinishedEvent.Lock(); }
22 | };
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/memory.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/builtin/hlsl/bda/__ref.hlsl"
6 |
7 | #ifndef _NBL_BUILTIN_HLSL_MEMORY_INCLUDED_
8 | #define _NBL_BUILTIN_HLSL_MEMORY_INCLUDED_
9 |
10 | namespace nbl
11 | {
12 | namespace hlsl
13 | {
14 |
15 | template
16 | bda::__ptr pointer_to(bda::__ref) {
17 | bda::__ptr retval;
18 | retval.addr = spirv::bitcast(__ref.get_ptr());
19 | return retval;
20 | }
21 |
22 | }
23 | }
24 |
25 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/workgroup2/impl/items_per_invoc_def.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | DEFINE_ASSIGN(uint16_t, ItemsPerInvocationProductLog2, MAX(int16_t,VIRTUAL_WG_SIZE WorkgroupSizeLog2-VIRTUAL_WG_SIZE SubgroupSizeLog2*VIRTUAL_WG_SIZE levels,0))
6 | DEFINE_ASSIGN(uint16_t, value0, BaseItemsPerInvocation)
7 | DEFINE_ASSIGN(uint16_t, value1, uint16_t(0x1u) << SELECT(uint16_t,(VIRTUAL_WG_SIZE levels==3),MIN(uint16_t,ItemsPerInvocationProductLog2,2),ItemsPerInvocationProductLog2))
8 | DEFINE_ASSIGN(uint16_t, value2, uint16_t(0x1u) << MAX(int16_t,ItemsPerInvocationProductLog2-2,0))
--------------------------------------------------------------------------------
/include/nbl/core/math/colorutil.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_CORE_COLOR_UTIL_H_INCLUDED__
6 | #define __NBL_CORE_COLOR_UTIL_H_INCLUDED__
7 |
8 | #include
9 |
10 | namespace nbl { namespace core
11 | {
12 |
13 | inline double lin2srgb(double _lin)
14 | {
15 | if (_lin <= 0.0031308) return _lin * 12.92;
16 | return 1.055 * pow(_lin, 1./2.4) - 0.055;
17 | }
18 |
19 | inline double srgb2lin(double _s)
20 | {
21 | if (_s <= 0.04045) return _s / 12.92;
22 | return pow((_s + 0.055) / 1.055, 2.4);
23 | }
24 |
25 | }}
26 |
27 | #endif
--------------------------------------------------------------------------------
/src/nbl/core/hash/blake.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/core/hash/blake.h"
2 |
3 | namespace nbl::core
4 | {
5 |
6 | blake3_hasher::blake3_hasher()
7 | {
8 | ::blake3_hasher_init(&m_state);
9 | }
10 |
11 | blake3_hasher& blake3_hasher::update(const void* data, const size_t bytes)
12 | {
13 | ::blake3_hasher_update(&m_state, data, bytes);
14 | return *this;
15 | }
16 |
17 | void blake3_hasher::reset() {
18 | ::blake3_hasher_reset(&m_state);
19 | }
20 |
21 | blake3_hasher::operator blake3_hash_t() const
22 | {
23 | blake3_hash_t retval;
24 | // the blake3 docs say that the hasher can be finalized multiple times
25 | ::blake3_hasher_finalize(&m_state, retval.data, sizeof(retval));
26 | return retval;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp:
--------------------------------------------------------------------------------
1 | // 7zSpecStream.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "7zSpecStream.h"
6 |
7 | STDMETHODIMP CSequentialInStreamSizeCount2::Read(void *data, UInt32 size, UInt32 *processedSize)
8 | {
9 | UInt32 realProcessedSize;
10 | HRESULT result = _stream->Read(data, size, &realProcessedSize);
11 | _size += realProcessedSize;
12 | if (processedSize)
13 | *processedSize = realProcessedSize;
14 | return result;
15 | }
16 |
17 | STDMETHODIMP CSequentialInStreamSizeCount2::GetSubStreamSize(UInt64 subStream, UInt64 *value)
18 | {
19 | if (!_getSubStreamSize)
20 | return E_NOTIMPL;
21 | return _getSubStreamSize->GetSubStreamSize(subStream, value);
22 | }
23 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/bxdf/bxdf_traits.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_BXDF_TRAITS_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_BXDF_TRAITS_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/bxdf/common.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace bxdf
14 | {
15 |
16 | enum BxDFType : uint16_t
17 | {
18 | BT_BSDF = 0,
19 | BT_BRDF,
20 | BT_BTDF
21 | };
22 |
23 | template
24 | struct traits;
25 |
26 | // defined individually after each bxdf definition
27 |
28 | }
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/7zBuf.c:
--------------------------------------------------------------------------------
1 | /* 7zBuf.c -- Byte Buffer
2 | 2017-04-03 : Igor Pavlov : Public domain */
3 |
4 | #include "Precomp.h"
5 |
6 | #include "7zBuf.h"
7 |
8 | void Buf_Init(CBuf *p)
9 | {
10 | p->data = 0;
11 | p->size = 0;
12 | }
13 |
14 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc)
15 | {
16 | p->size = 0;
17 | if (size == 0)
18 | {
19 | p->data = 0;
20 | return 1;
21 | }
22 | p->data = (Byte *)ISzAlloc_Alloc(alloc, size);
23 | if (p->data)
24 | {
25 | p->size = size;
26 | return 1;
27 | }
28 | return 0;
29 | }
30 |
31 | void Buf_Free(CBuf *p, ISzAllocPtr alloc)
32 | {
33 | ISzAlloc_Free(alloc, p->data);
34 | p->data = 0;
35 | p->size = 0;
36 | }
37 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/LzmaLib/makefile:
--------------------------------------------------------------------------------
1 | MY_STATIC_LINK=1
2 | SLIB = sLZMA.lib
3 | PROG = LZMA.dll
4 | SLIBPATH = $O\$(SLIB)
5 |
6 | DEF_FILE = LzmaLib.def
7 | CFLAGS = $(CFLAGS) \
8 |
9 | LIB_OBJS = \
10 | $O\LzmaLibExports.obj \
11 |
12 | C_OBJS = \
13 | $O\Alloc.obj \
14 | $O\LzFind.obj \
15 | $O\LzFindMt.obj \
16 | $O\LzmaDec.obj \
17 | $O\LzmaEnc.obj \
18 | $O\LzmaLib.obj \
19 | $O\Threads.obj \
20 |
21 | OBJS = \
22 | $(LIB_OBJS) \
23 | $(C_OBJS) \
24 | $O\resource.res
25 |
26 | !include "../../../CPP/Build.mak"
27 |
28 | $(SLIBPATH): $O $(OBJS)
29 | lib -out:$(SLIBPATH) $(OBJS) $(LIBS)
30 |
31 | $(LIB_OBJS): $(*B).c
32 | $(COMPL_O2)
33 | $(C_OBJS): ../../$(*B).c
34 | $(COMPL_O2)
35 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp:
--------------------------------------------------------------------------------
1 | // FormatUtils.cpp
2 |
3 | #include "StdAfx.h"
4 |
5 | #include "../../../Common/IntToString.h"
6 |
7 | #include "FormatUtils.h"
8 |
9 | #include "LangUtils.h"
10 |
11 | UString NumberToString(UInt64 number)
12 | {
13 | wchar_t numberString[32];
14 | ConvertUInt64ToString(number, numberString);
15 | return numberString;
16 | }
17 |
18 | UString MyFormatNew(const UString &format, const UString &argument)
19 | {
20 | UString result = format;
21 | result.Replace(L"{0}", argument);
22 | return result;
23 | }
24 |
25 | UString MyFormatNew(UINT resourceID, const UString &argument)
26 | {
27 | return MyFormatNew(LangString(resourceID), argument);
28 | }
29 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/FileSystem.h:
--------------------------------------------------------------------------------
1 | // Windows/FileSystem.h
2 |
3 | #ifndef __WINDOWS_FILE_SYSTEM_H
4 | #define __WINDOWS_FILE_SYSTEM_H
5 |
6 | #include "../Common/MyString.h"
7 | #include "../Common/MyTypes.h"
8 |
9 | namespace NWindows {
10 | namespace NFile {
11 | namespace NSystem {
12 |
13 | bool MyGetVolumeInformation(
14 | CFSTR rootPath ,
15 | UString &volumeName,
16 | LPDWORD volumeSerialNumber,
17 | LPDWORD maximumComponentLength,
18 | LPDWORD fileSystemFlags,
19 | UString &fileSystemName);
20 |
21 | UINT MyGetDriveType(CFSTR pathName);
22 |
23 | bool MyGetDiskFreeSpace(CFSTR rootPath, UInt64 &clusterSize, UInt64 &totalSize, UInt64 &freeSize);
24 |
25 | }}}
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/core/util/to_underlying.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_CORE_C_TO_UNDERLYING_H_INCLUDED_
6 | #define _NBL_CORE_C_TO_UNDERLYING_H_INCLUDED_
7 |
8 | namespace nbl::core
9 | {
10 | #if defined(__cpp_lib_to_underlying)
11 | using to_underlying = std::to_underlying;
12 | #else
13 | template
14 | constexpr auto to_underlying(E e) -> typename std::underlying_type::type
15 | {
16 | return static_cast::type>(e);
17 | }
18 | #endif
19 | }
20 |
21 | #endif
--------------------------------------------------------------------------------
/include/nbl/system/CSystemAndroid.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_SYSTEM_C_SYSTEM_ANDROID_H_INCLUDED_
2 | #define _NBL_SYSTEM_C_SYSTEM_ANDROID_H_INCLUDED_
3 |
4 |
5 | #include "nbl/system/ISystem.h"
6 |
7 | #ifdef _NBL_PLATFORM_ANDROID_
8 | #include "nbl/system/ISystemPOSIX.h"
9 |
10 | #include
11 |
12 |
13 | struct ANativeActivity;
14 |
15 | namespace nbl::system
16 | {
17 |
18 | class NBL_API2 CSystemAndroid final : public ISystemPOSIX
19 | {
20 | public:
21 | CSystemAndroid(ANativeActivity* activity, JNIEnv* jni, const path& APKResourcesPath);
22 |
23 | //
24 | SystemInfo getSystemInfo() const override;
25 |
26 | protected:
27 | ANativeActivity* m_nativeActivity;
28 | JNIEnv* m_jniEnv;
29 | };
30 |
31 | }
32 | #endif
33 |
34 | #endif
--------------------------------------------------------------------------------
/include/nbl/system/SBuiltinFile.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_S_BUILTIN_FILE_H_INCLUDED_
2 | #define _NBL_S_BUILTIN_FILE_H_INCLUDED_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | namespace nbl::system
9 | {
10 | struct SBuiltinFile
11 | {
12 | const uint8_t* contents = nullptr;
13 | size_t size = 0u;
14 | std::array xx256Hash;
15 | std::tm modified = { // Absolute time since 1970 in UTC+0
16 | .tm_sec = 6,
17 | .tm_min = 9,
18 | .tm_hour = 6,
19 | .tm_mday = 9,
20 | .tm_mon = 6,
21 | .tm_year = 9,
22 | .tm_isdst = 0
23 | };
24 | };
25 | }
26 |
27 | #endif // _NBL_S_BUILTIN_FILE_H_INCLUDED_
--------------------------------------------------------------------------------
/3rdparty/lzma/C/7zCrc.h:
--------------------------------------------------------------------------------
1 | /* 7zCrc.h -- CRC32 calculation
2 | 2013-01-18 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_CRC_H
5 | #define __7Z_CRC_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | extern UInt32 g_CrcTable[];
12 |
13 | /* Call CrcGenerateTable one time before other CRC functions */
14 | void MY_FAST_CALL CrcGenerateTable(void);
15 |
16 | #define CRC_INIT_VAL 0xFFFFFFFF
17 | #define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL)
18 | #define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
19 |
20 | UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size);
21 | UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size);
22 |
23 | EXTERN_C_END
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/include/nbl/core/sampling/RandomSampler.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_CORE_RANDOM_SAMPLER_H_
6 | #define __NBL_CORE_RANDOM_SAMPLER_H_
7 |
8 | #include
9 | #include "nbl/core/decl/Types.h"
10 |
11 | namespace nbl::core
12 | {
13 |
14 | class RandomSampler
15 | {
16 | public:
17 | RandomSampler(uint32_t _seed)
18 | {
19 | mersenneTwister.seed(_seed);
20 | }
21 |
22 | //
23 | inline uint32_t nextSample()
24 | {
25 | return mersenneTwister();
26 | }
27 |
28 | protected:
29 | std::mt19937 mersenneTwister;
30 | };
31 |
32 |
33 | }
34 |
35 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/DummyOutStream.h:
--------------------------------------------------------------------------------
1 | // DummyOutStream.h
2 |
3 | #ifndef __DUMMY_OUT_STREAM_H
4 | #define __DUMMY_OUT_STREAM_H
5 |
6 | #include "../../../Common/MyCom.h"
7 |
8 | #include "../../IStream.h"
9 |
10 | class CDummyOutStream:
11 | public ISequentialOutStream,
12 | public CMyUnknownImp
13 | {
14 | CMyComPtr _stream;
15 | UInt64 _size;
16 | public:
17 | void SetStream(ISequentialOutStream *outStream) { _stream = outStream; }
18 | void ReleaseStream() { _stream.Release(); }
19 | void Init() { _size = 0; }
20 | MY_UNKNOWN_IMP
21 | STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize);
22 | UInt64 GetSize() const { return _size; }
23 | };
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanDescriptorSet.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/CVulkanDescriptorSet.h"
2 |
3 | #include "nbl/video/CVulkanLogicalDevice.h"
4 |
5 | namespace nbl::video
6 | {
7 |
8 | CVulkanDescriptorSet::~CVulkanDescriptorSet()
9 | {
10 | if (!isZombie() && getPool()->allowsFreeing())
11 | {
12 | const CVulkanLogicalDevice* vulkanDevice = static_cast(getOriginDevice());
13 | auto* vk = vulkanDevice->getFunctionTable();
14 |
15 | const auto* vk_dsPool = IBackendObject::device_compatibility_cast(getPool(), getOriginDevice());
16 | assert(vk_dsPool);
17 |
18 | vk->vk.vkFreeDescriptorSets(vulkanDevice->getInternalObject(), vk_dsPool->getInternalObject(), 1u, &m_descriptorSet);
19 | }
20 | }
21 |
22 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/C/XzCrc64.h:
--------------------------------------------------------------------------------
1 | /* XzCrc64.h -- CRC64 calculation
2 | 2013-01-18 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __XZ_CRC64_H
5 | #define __XZ_CRC64_H
6 |
7 | #include
8 |
9 | #include "7zTypes.h"
10 |
11 | EXTERN_C_BEGIN
12 |
13 | extern UInt64 g_Crc64Table[];
14 |
15 | void MY_FAST_CALL Crc64GenerateTable(void);
16 |
17 | #define CRC64_INIT_VAL UINT64_CONST(0xFFFFFFFFFFFFFFFF)
18 | #define CRC64_GET_DIGEST(crc) ((crc) ^ CRC64_INIT_VAL)
19 | #define CRC64_UPDATE_BYTE(crc, b) (g_Crc64Table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
20 |
21 | UInt64 MY_FAST_CALL Crc64Update(UInt64 crc, const void *data, size_t size);
22 | UInt64 MY_FAST_CALL Crc64Calc(const void *data, size_t size);
23 |
24 | EXTERN_C_END
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Common/UpdatePair.h:
--------------------------------------------------------------------------------
1 | // UpdatePair.h
2 |
3 | #ifndef __UPDATE_PAIR_H
4 | #define __UPDATE_PAIR_H
5 |
6 | #include "DirItem.h"
7 | #include "UpdateAction.h"
8 |
9 | #include "../../Archive/IArchive.h"
10 |
11 | struct CUpdatePair
12 | {
13 | NUpdateArchive::NPairState::EEnum State;
14 | int ArcIndex;
15 | int DirIndex;
16 | int HostIndex; // >= 0 for alt streams only, contains index of host pair
17 |
18 | CUpdatePair(): ArcIndex(-1), DirIndex(-1), HostIndex(-1) {}
19 | };
20 |
21 | void GetUpdatePairInfoList(
22 | const CDirItems &dirItems,
23 | const CObjectVector &arcItems,
24 | NFileTimeType::EEnum fileTimeType,
25 | CRecordVector &updatePairs);
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/asset/metadata/CPLYMetadata.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_ASSET_C_PLY_METADATA_H_INCLUDED_
5 | #define _NBL_ASSET_C_PLY_METADATA_H_INCLUDED_
6 |
7 |
8 | #include "nbl/asset/metadata/IAssetMetadata.h"
9 |
10 |
11 | namespace nbl::asset
12 | {
13 |
14 | class CPLYMetadata final : public IAssetMetadata
15 | {
16 | public:
17 | CPLYMetadata() : IAssetMetadata() {}
18 |
19 | _NBL_STATIC_INLINE_CONSTEXPR const char* LoaderName = "CPLYMeshFileLoader";
20 | const char* getLoaderName() const override { return LoaderName; }
21 | };
22 |
23 | }
24 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/concepts/matrix.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2024-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_CONCEPTS_MATRIX_HLSL_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_CONCEPTS_MATRIX_HLSL_INCLUDED_
6 |
7 |
8 | #include
9 | #include
10 |
11 | namespace nbl
12 | {
13 | namespace hlsl
14 | {
15 | namespace concepts
16 | {
17 |
18 | template
19 | NBL_BOOL_CONCEPT Matrix = is_matrix::value;
20 |
21 | template
22 | NBL_BOOL_CONCEPT Matricial = matrix_traits::IsMatrix;
23 |
24 | }
25 | }
26 | }
27 | #endif
--------------------------------------------------------------------------------
/src/nbl/video/IDeviceMemoryAllocation.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/video/IDeviceMemoryAllocation.h"
2 |
3 | namespace nbl::video
4 | {
5 |
6 | E_API_TYPE IDeviceMemoryAllocation::getAPIType() const
7 | {
8 | assert(m_originDevice); // any device memory shouldn't be allocated without creating a logical device
9 |
10 | return m_originDevice->getAPIType();
11 | }
12 |
13 | IDeviceMemoryAllocation::MemoryRange IDeviceMemoryAllocation::alignNonCoherentRange(MemoryRange range) const
14 | {
15 | const auto alignment = m_originDevice->getPhysicalDevice()->getLimits().nonCoherentAtomSize;
16 | range.offset = core::alignDown(range.offset,alignment);
17 | range.length = core::min(core::alignUp(range.length,alignment),m_allocationSize);
18 | return range;
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Control/Trackbar.h:
--------------------------------------------------------------------------------
1 | // Windows/Control/Trackbar.h
2 |
3 | #ifndef __WINDOWS_CONTROL_TRACKBAR_H
4 | #define __WINDOWS_CONTROL_TRACKBAR_H
5 |
6 | #include "../Window.h"
7 |
8 | namespace NWindows {
9 | namespace NControl {
10 |
11 | class CTrackbar: public CWindow
12 | {
13 | public:
14 | void SetRange(int minimum, int maximum, bool redraw = true)
15 | { SendMsg(TBM_SETRANGE, BoolToBOOL(redraw), MAKELONG(minimum, maximum)); }
16 | void SetPos(int pos, bool redraw = true)
17 | { SendMsg(TBM_SETPOS, BoolToBOOL(redraw), pos); }
18 | void SetTicFreq(int freq)
19 | { SendMsg(TBM_SETTICFREQ, freq); }
20 |
21 | int GetPos()
22 | { return (int)SendMsg(TBM_GETPOS); }
23 | };
24 |
25 | }}
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/src/nbl/ext/Bullet/CInstancedMotionState.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #include "nbl/ext/Bullet/CInstancedMotionState.h"
6 |
7 | #include "nbl/ext/DebugDraw/CDraw3DLine.h"
8 | using namespace nbl;
9 | using namespace ext;
10 | using namespace Bullet3;
11 |
12 |
13 | void CInstancedMotionState::getWorldTransform(btTransform &worldTrans) const {
14 | worldTrans = convertMatrixSIMD(m_node->getInstanceTransform(m_index));
15 | }
16 |
17 | void CInstancedMotionState::setWorldTransform(const btTransform &worldTrans) {
18 | m_node->setInstanceTransform(m_index, convertbtTransform(worldTrans));
19 | }
--------------------------------------------------------------------------------
/tools/xxHash256/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(EXECUTABLE_NAME xxHash256)
2 |
3 | project(${EXECUTABLE_NAME})
4 | add_executable(${EXECUTABLE_NAME} main.cpp)
5 |
6 | add_dependencies(${EXECUTABLE_NAME} argparse)
7 | target_include_directories(${EXECUTABLE_NAME} PUBLIC
8 | $
9 | $ # only for xxHash256 include directory, we DO NOT want to link it nor use it
10 | )
11 | target_compile_definitions(${EXECUTABLE_NAME} PUBLIC "$") # workaround because must use Nabla headers without linking Nabla to itself..
12 |
13 | nbl_adjust_flags(MAP_RELEASE Release MAP_RELWITHDEBINFO RelWithDebInfo MAP_DEBUG Debug)
14 | nbl_adjust_definitions()
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Code::Blocks files
2 | *.depend
3 | *.layout
4 | # Visual Studio Code
5 | .vscode/*
6 | # clion
7 | .idea/*
8 | # temporary compiler files
9 | *.objs*
10 | *.d
11 | *.o
12 | # visual studio debug files
13 | *.ilk
14 | *.pdb
15 | *_d.exe
16 | # usually where people build
17 | android_build/*
18 | build*/*
19 | smoke/*build*/*
20 | # default install paths
21 | install/*
22 | # legacy temporary and output directories
23 | lib/*
24 | doctemp/*
25 | # stuff output by examples
26 | examples_tests/*
27 | examples_tests/tmp/*
28 | android-sample/bin/*
29 | # shader debug sideeffects
30 | preprocessed.hlsl
31 | compiled.spv
32 | .vs/*
33 | tools/nsc/__main__.py
34 | tools/nsc/.vscode/*
35 | tools/nsc/.profiles/*
36 | tools/nsc/bin/*
37 | */__pycache__/*
38 | __pycache__/*
39 | *.pyc
40 |
41 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/subgroup/basic.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2023 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_SUBGROUP_BASIC_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_SUBGROUP_BASIC_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/glsl_compat/subgroup_basic.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace subgroup
14 | {
15 |
16 | static const uint32_t MinSubgroupSizeLog2 = 3u;
17 | static const uint32_t MinSubgroupSize = 0x1u<
6 |
7 |
8 | #ifdef NBL_GL_KHR_shader_subgroup_shuffle
9 |
10 |
11 | #define _NBL_GLSL_SUBGROUP_SHUFFLE_EMULATION_SHARED_SIZE_NEEDED_ 0
12 |
13 |
14 | #else
15 |
16 |
17 | #ifndef _NBL_GLSL_WORKGROUP_SIZE_
18 | #error "_NBL_GLSL_WORKGROUP_SIZE_ should be defined."
19 | #endif
20 |
21 | #define _NBL_GLSL_SUBGROUP_SHUFFLE_EMULATION_SHARED_SIZE_NEEDED_ ((_NBL_GLSL_WORKGROUP_SIZE_+nbl_glsl_MaxSubgroupSize-1)&(-nbl_glsl_MaxSubgroupSize))
22 |
23 |
24 | #endif // NBL_GL_KHR_shader_subgroup_shuffle
25 |
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/RotateDefs.h:
--------------------------------------------------------------------------------
1 | /* RotateDefs.h -- Rotate functions
2 | 2015-03-25 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __ROTATE_DEFS_H
5 | #define __ROTATE_DEFS_H
6 |
7 | #ifdef _MSC_VER
8 |
9 | #include
10 |
11 | /* don't use _rotl with MINGW. It can insert slow call to function. */
12 |
13 | /* #if (_MSC_VER >= 1200) */
14 | #pragma intrinsic(_rotl)
15 | #pragma intrinsic(_rotr)
16 | /* #endif */
17 |
18 | #define rotlFixed(x, n) _rotl((x), (n))
19 | #define rotrFixed(x, n) _rotr((x), (n))
20 |
21 | #else
22 |
23 | /* new compilers can translate these macros to fast commands. */
24 |
25 | #define rotlFixed(x, n) (((x) << (n)) | ((x) >> (32 - (n))))
26 | #define rotrFixed(x, n) (((x) >> (n)) | ((x) << (32 - (n))))
27 |
28 | #endif
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h:
--------------------------------------------------------------------------------
1 | // Archive/Common/ItemNameUtils.h
2 |
3 | #ifndef __ARCHIVE_ITEM_NAME_UTILS_H
4 | #define __ARCHIVE_ITEM_NAME_UTILS_H
5 |
6 | #include "../../../Common/MyString.h"
7 |
8 | namespace NArchive {
9 | namespace NItemName {
10 |
11 | void ReplaceSlashes_OsToUnix(UString &name);
12 |
13 | UString GetOsPath(const UString &name);
14 | UString GetOsPath_Remove_TailSlash(const UString &name);
15 |
16 | void ReplaceToOsSlashes_Remove_TailSlash(UString &name);
17 |
18 | bool HasTailSlash(const AString &name, UINT codePage);
19 |
20 | #ifdef _WIN32
21 | inline UString WinPathToOsPath(const UString &name) { return name; }
22 | #else
23 | UString WinPathToOsPath(const UString &name);
24 | #endif
25 |
26 | }}
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/sort/common.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_SORT_COMMON_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_SORT_COMMON_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/type_traits.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace sort
14 | {
15 |
16 | template
17 | struct CountingParameters
18 | {
19 | static_assert(is_integral::value, "CountingParameters needs to be templated on integral type");
20 |
21 | uint32_t dataElementCount;
22 | uint32_t elementsPerWT;
23 | Key minimum;
24 | Key maximum;
25 | };
26 |
27 |
28 | }
29 | }
30 | }
31 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/material/lambertian/singletexture/specialized_shader.vert:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 |
7 | layout(location = 0) in vec3 vPos;
8 | layout(location = 2) in vec2 vTexCoord;
9 |
10 | #include
11 | #include
12 |
13 | layout (set = 1, binding = 0, row_major, std140) uniform UBO
14 | {
15 | nbl_glsl_SBasicViewParameters params;
16 | } CamData;
17 |
18 | layout(location = 0) out vec2 uv;
19 |
20 | void main()
21 | {
22 | gl_Position = nbl_glsl_pseudoMul4x4with3x1(CamData.params.MVP, vPos);
23 | uv = vTexCoord;
24 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Compress/BranchMisc.h:
--------------------------------------------------------------------------------
1 | // BranchMisc.h
2 |
3 | #ifndef __COMPRESS_BRANCH_MISC_H
4 | #define __COMPRESS_BRANCH_MISC_H
5 |
6 | #include "../../Common/MyCom.h"
7 |
8 | #include "../ICoder.h"
9 |
10 | EXTERN_C_BEGIN
11 |
12 | typedef SizeT (*Func_Bra)(Byte *data, SizeT size, UInt32 ip, int encoding);
13 |
14 | EXTERN_C_END
15 |
16 | namespace NCompress {
17 | namespace NBranch {
18 |
19 | class CCoder:
20 | public ICompressFilter,
21 | public CMyUnknownImp
22 | {
23 | UInt32 _bufferPos;
24 | int _encode;
25 | Func_Bra BraFunc;
26 | public:
27 | MY_UNKNOWN_IMP1(ICompressFilter);
28 | INTERFACE_ICompressFilter(;)
29 |
30 | CCoder(Func_Bra bra, int encode): _bufferPos(0), _encode(encode), BraFunc(bra) {}
31 | };
32 |
33 | }}
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/include/nbl/video/IGPUFramebuffer.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_VIDEO_I_GPU_FRAMEBUFFER_H_INCLUDED_
2 | #define _NBL_VIDEO_I_GPU_FRAMEBUFFER_H_INCLUDED_
3 |
4 |
5 | #include "nbl/asset/IFramebuffer.h"
6 |
7 | #include "nbl/video/IGPURenderpass.h"
8 | #include "nbl/video/IGPUImageView.h"
9 |
10 |
11 | namespace nbl::video
12 | {
13 |
14 | class IGPUFramebuffer : public IBackendObject, public asset::IFramebuffer
15 | {
16 | using base_t = asset::IFramebuffer;
17 |
18 | public:
19 | IGPUFramebuffer(core::smart_refctd_ptr&& dev, SCreationParams&& params) : IBackendObject(std::move(dev)), base_t(std::move(params)) {}
20 |
21 | protected:
22 | virtual ~IGPUFramebuffer() = default;
23 | };
24 |
25 | }
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/IDecl.h:
--------------------------------------------------------------------------------
1 | // IDecl.h
2 |
3 | #ifndef __IDECL_H
4 | #define __IDECL_H
5 |
6 | #include "../Common/MyUnknown.h"
7 |
8 | #define k_7zip_GUID_Data1 0x23170F69
9 | #define k_7zip_GUID_Data2 0x40C1
10 |
11 | #define k_7zip_GUID_Data3_Common 0x278A
12 |
13 | #define k_7zip_GUID_Data3_Decoder 0x2790
14 | #define k_7zip_GUID_Data3_Encoder 0x2791
15 | #define k_7zip_GUID_Data3_Hasher 0x2792
16 |
17 |
18 | #define DECL_INTERFACE_SUB(i, base, groupId, subId) \
19 | DEFINE_GUID(IID_ ## i, \
20 | k_7zip_GUID_Data1, \
21 | k_7zip_GUID_Data2, \
22 | k_7zip_GUID_Data3_Common, \
23 | 0, 0, 0, (groupId), 0, (subId), 0, 0); \
24 | struct i: public base
25 |
26 | #define DECL_INTERFACE(i, groupId, subId) DECL_INTERFACE_SUB(i, IUnknown, groupId, subId)
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/3rdparty/lzma/C/7zBuf.h:
--------------------------------------------------------------------------------
1 | /* 7zBuf.h -- Byte Buffer
2 | 2017-04-03 : Igor Pavlov : Public domain */
3 |
4 | #ifndef __7Z_BUF_H
5 | #define __7Z_BUF_H
6 |
7 | #include "7zTypes.h"
8 |
9 | EXTERN_C_BEGIN
10 |
11 | typedef struct
12 | {
13 | Byte *data;
14 | size_t size;
15 | } CBuf;
16 |
17 | void Buf_Init(CBuf *p);
18 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc);
19 | void Buf_Free(CBuf *p, ISzAllocPtr alloc);
20 |
21 | typedef struct
22 | {
23 | Byte *data;
24 | size_t size;
25 | size_t pos;
26 | } CDynBuf;
27 |
28 | void DynBuf_Construct(CDynBuf *p);
29 | void DynBuf_SeekToBeg(CDynBuf *p);
30 | int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc);
31 | void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc);
32 |
33 | EXTERN_C_END
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/bxdf/brdf/diffuse/fresnel_correction.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BSDF_BRDF_DIFFUSE_FRESNEL_CORRECTION_INCLUDED_
6 | #define _NBL_BSDF_BRDF_DIFFUSE_FRESNEL_CORRECTION_INCLUDED_
7 |
8 | vec3 nbl_glsl_diffuseFresnelCorrectionFactor(in vec3 n, in vec3 n2)
9 | {
10 | //assert(n*n==n2);
11 | bvec3 TIR = lessThan(n,vec3(1.0));
12 | vec3 invdenum = mix(vec3(1.0), vec3(1.0)/(n2*n2*(vec3(554.33) - 380.7*n)), TIR);
13 | vec3 num = n*mix(vec3(0.1921156102251088),n*298.25 - 261.38*n2 + 138.43,TIR);
14 | num += mix(vec3(0.8078843897748912),vec3(-1.67),TIR);
15 | return num*invdenum;
16 | }
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/include/nbl/video/debug/IDebugCallback.h:
--------------------------------------------------------------------------------
1 | #ifndef __NBL_VIDEO_I_DEBUG_CALLBACK_H_INCLUDED__
2 | #define __NBL_VIDEO_I_DEBUG_CALLBACK_H_INCLUDED__
3 |
4 | #include "nbl/core/declarations.h"
5 |
6 | #include
7 |
8 | #include "nbl/system/ILogger.h"
9 |
10 | namespace nbl::video
11 | {
12 |
13 | class IDebugCallback
14 | {
15 | public:
16 | system::ILogger* getLogger() const { return m_logger.get(); }
17 | void* getExtraUserData() const { return m_extraUserData; }
18 |
19 | protected:
20 | IDebugCallback(core::smart_refctd_ptr&& _logger, void* _extraUserData=nullptr) : m_logger(std::move(_logger)), m_extraUserData(_extraUserData) {}
21 |
22 | core::smart_refctd_ptr m_logger;
23 | void* m_extraUserData;
24 | };
25 |
26 | }
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/include/nbl/asset/interchange/IImageLoader.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_ASSET_I_IMAGE_LOADER_H_INCLUDED__
6 | #define __NBL_ASSET_I_IMAGE_LOADER_H_INCLUDED__
7 |
8 | #include "nbl/core/declarations.h"
9 |
10 | #include "nbl/asset/ICPUImageView.h"
11 | #include "nbl/asset/interchange/IAssetLoader.h"
12 | #include "nbl/asset/interchange/IImageAssetHandlerBase.h"
13 |
14 | namespace nbl::asset
15 | {
16 |
17 | class IImageLoader : public IAssetLoader, public IImageAssetHandlerBase
18 | {
19 | public:
20 |
21 | protected:
22 |
23 | IImageLoader() {}
24 | virtual ~IImageLoader() = 0;
25 |
26 | private:
27 | };
28 |
29 | }
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/utils/common.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_UTILS_COMMON_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_UTILS_COMMON_INCLUDED_
7 |
8 | #include "nbl/builtin/glsl/math/functions.glsl"
9 |
10 |
11 | struct nbl_glsl_SBasicViewParameters
12 | {
13 | mat4 MVP;
14 | mat4x3 MV;
15 | mat4x3 NormalMatAndEyePos;
16 | };
17 |
18 | mat3 nbl_glsl_SBasicViewParameters_GetNormalMat(in mat4x3 _NormalMatAndEyePos)
19 | {
20 | return mat3(_NormalMatAndEyePos);
21 | }
22 | vec3 nbl_glsl_SBasicViewParameters_GetEyePos(in mat4x3 _NormalMatAndEyePos)
23 | {
24 | return _NormalMatAndEyePos[3];
25 | }
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/ui/declarations.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_UI_DECLARATIONS_H_INCLUDED_
5 | #define _NBL_UI_DECLARATIONS_H_INCLUDED_
6 |
7 | // dependencies
8 | #include "nbl/system/declarations.h"
9 |
10 | // windows
11 | #if defined(_NBL_PLATFORM_WINDOWS_)
12 | # include "nbl/ui/IWindowManagerWin32.h"
13 | #elif defined(_NBL_BUILD_WITH_WAYLAND) && defined(_NBL_TEST_WAYLAND)
14 | # include "nbl/ui/CWindowManagerWayland.h"
15 | #elif defined(_NBL_PLATFORM_LINUX_)
16 | #endif // TODO more platforms (android)
17 |
18 | // clipboards
19 | #include "nbl/ui/IClipboardManager.h"
20 |
21 | // events
22 | #include "nbl/ui/IInputEventChannel.h"
23 |
24 |
25 | #endif
--------------------------------------------------------------------------------
/src/nbl/system/CColoredStdoutLoggerWin32.cpp:
--------------------------------------------------------------------------------
1 | #include "nbl/system/CColoredStdoutLoggerWin32.h"
2 |
3 | using namespace nbl;
4 | using namespace nbl::system;
5 |
6 | #ifdef _NBL_PLATFORM_WINDOWS_
7 | #define WIN32_LEAN_AND_MEAN
8 | #include
9 |
10 | CColoredStdoutLoggerWin32::CColoredStdoutLoggerWin32(core::bitflag logLevelMask) : IThreadsafeLogger(logLevelMask)
11 | {
12 | m_native_console = GetStdHandle(STD_OUTPUT_HANDLE);
13 | }
14 |
15 | void CColoredStdoutLoggerWin32::threadsafeLog_impl(const std::string_view& fmt, E_LOG_LEVEL logLevel, va_list args)
16 | {
17 | SetConsoleTextAttribute(m_native_console, getConsoleColor(logLevel));
18 | printf("%s", constructLogString(fmt, logLevel, args).data());
19 | fflush(stdout);
20 | SetConsoleTextAttribute(m_native_console, 15); // restore to white
21 | }
22 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Common/AutoPtr.h:
--------------------------------------------------------------------------------
1 | // Common/AutoPtr.h
2 |
3 | #ifndef __COMMON_AUTOPTR_H
4 | #define __COMMON_AUTOPTR_H
5 |
6 | template class CMyAutoPtr
7 | {
8 | T *_p;
9 | public:
10 | CMyAutoPtr(T *p = 0) : _p(p) {}
11 | CMyAutoPtr(CMyAutoPtr& p): _p(p.release()) {}
12 | CMyAutoPtr& operator=(CMyAutoPtr& p)
13 | {
14 | reset(p.release());
15 | return (*this);
16 | }
17 | ~CMyAutoPtr() { delete _p; }
18 | T& operator*() const { return *_p; }
19 | // T* operator->() const { return (&**this); }
20 | T* get() const { return _p; }
21 | T* release()
22 | {
23 | T *tmp = _p;
24 | _p = 0;
25 | return tmp;
26 | }
27 | void reset(T* p = 0)
28 | {
29 | if (p != _p)
30 | delete _p;
31 | _p = p;
32 | }
33 | };
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/culling_lod_selection/dispatch_indirect_params.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_CULLING_LOD_SELECTION_DISPATCH_INDIRECT_PARAMS_GLSL_INCLUDED_
2 | #define _NBL_GLSL_CULLING_LOD_SELECTION_DISPATCH_INDIRECT_PARAMS_GLSL_INCLUDED_
3 |
4 | struct nbl_glsl_culling_lod_selection_dispatch_indirect_params_t
5 | {
6 | nbl_glsl_DispatchIndirectCommand_t instanceCullAndLoDSelect; // cleared to 1 by draw cull
7 | nbl_glsl_DispatchIndirectCommand_t instanceDrawCountPrefixSum; // cleared to 1 by scatter, filled out by instance Cull
8 | nbl_glsl_DispatchIndirectCommand_t instanceDrawCull; // set by the draw count prefix sum
9 | nbl_glsl_DispatchIndirectCommand_t instanceRefCountingSortScatter; // clear to 1 by draw count prefix sum, filled out by draw cull
10 | nbl_glsl_DispatchIndirectCommand_t drawCompact; // TODO
11 | };
12 |
13 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/array_accessors.hlsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_HLSL_ARRAY_ACCESSORS_HLSL_INCLUDED_
2 | #define _NBL_BUILTIN_HLSL_ARRAY_ACCESSORS_HLSL_INCLUDED_
3 |
4 | #include
5 |
6 | namespace nbl
7 | {
8 | namespace hlsl
9 | {
10 | template
11 | struct array_get
12 | {
13 | ComponentType operator()(NBL_CONST_REF_ARG(ArrayType) arr, const I ix) NBL_CONST_MEMBER_FUNC
14 | {
15 | return arr[ix];
16 | }
17 | };
18 |
19 | template
20 | struct array_set
21 | {
22 | void operator()(NBL_REF_ARG(ArrayType) arr, I index, ComponentType val) NBL_CONST_MEMBER_FUNC
23 | {
24 | arr[index] = val;
25 | }
26 | };
27 | }
28 | }
29 |
30 | #endif
--------------------------------------------------------------------------------
/include/nbl/core/string/StringLiteral.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2022 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_CORE_STRING_LITERAL_H_INCLUDED_
5 | #define _NBL_CORE_STRING_LITERAL_H_INCLUDED_
6 |
7 | #include
8 |
9 | namespace nbl::core
10 | {
11 |
12 | template
13 | struct StringLiteral
14 | {
15 | constexpr StringLiteral(const char (&str)[N])
16 | {
17 | std::copy_n(str, N, value);
18 | }
19 |
20 | char value[N];
21 | };
22 |
23 | }
24 |
25 | // for compatibility's sake
26 | #define NBL_CORE_UNIQUE_STRING_LITERAL_TYPE(STRING_LITERAL) nbl::core::StringLiteral(STRING_LITERAL)
27 |
28 | #endif // _NBL_CORE_STRING_LITERAL_H_INCLUDED_
29 |
--------------------------------------------------------------------------------
/src/nbl/ext/OptiX/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include(${NBL_ROOT_PATH}/cmake/common.cmake)
2 | set(NBL_EXT_INTERNAL_INCLUDE_DIR "${NBL_ROOT_PATH}/include/nbl/ext/OptiX")
3 |
4 | set(NBL_EXT_OPTIX_H
5 | ${NBL_EXT_INTERNAL_INCLUDE_DIR}/SbtRecord.h
6 | ${NBL_EXT_INTERNAL_INCLUDE_DIR}/IModule.h
7 | ${NBL_EXT_INTERNAL_INCLUDE_DIR}/IContext.h
8 | ${NBL_EXT_INTERNAL_INCLUDE_DIR}/IDenoiser.h
9 | ${NBL_EXT_INTERNAL_INCLUDE_DIR}/Manager.h
10 | )
11 |
12 | set(NBL_EXT_OPTIX_SRC
13 | Manager.cpp
14 | IContext.cpp
15 | )
16 |
17 | set(NBL_EXT_OPTIX_EXTERNAL_INCLUDE
18 | "${NBL_ROOT_PATH}/3rdparty"
19 | "${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}"
20 | "${OPTIX_INCLUDE_DIR}"
21 | )
22 |
23 | nbl_create_ext_library_project(
24 | OPTIX
25 | "${NBL_EXT_OPTIX_H}"
26 | "${NBL_EXT_OPTIX_SRC}"
27 | "${NBL_EXT_OPTIX_EXTERNAL_INCLUDE}"
28 | ""
29 | ""
30 | )
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/SfxSetup/makefile_con:
--------------------------------------------------------------------------------
1 | PROG = 7zS2con.sfx
2 | MY_FIXED = 1
3 | CFLAGS = $(CFLAGS) -D_CONSOLE
4 |
5 | C_OBJS = \
6 | $O\7zAlloc.obj \
7 | $O\7zArcIn.obj \
8 | $O\7zBuf.obj \
9 | $O\7zBuf2.obj \
10 | $O\7zCrc.obj \
11 | $O\7zCrcOpt.obj \
12 | $O\7zFile.obj \
13 | $O\7zDec.obj \
14 | $O\7zStream.obj \
15 | $O\Bcj2.obj \
16 | $O\Bra.obj \
17 | $O\Bra86.obj \
18 | $O\BraIA64.obj \
19 | $O\CpuArch.obj \
20 | $O\Delta.obj \
21 | $O\DllSecur.obj \
22 | $O\Lzma2Dec.obj \
23 | $O\LzmaDec.obj \
24 |
25 | 7Z_OBJS = \
26 | $O\SfxSetup.obj \
27 |
28 | OBJS = \
29 | $(7Z_OBJS) \
30 | $(C_OBJS) \
31 | $O\resource.res
32 |
33 | !include "../../../CPP/Build.mak"
34 |
35 | $(7Z_OBJS): $(*B).c
36 | $(COMPL_O1)
37 | $(C_OBJS): ../../$(*B).c
38 | $(COMPL_O1)
39 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/Console/List.h:
--------------------------------------------------------------------------------
1 | // List.h
2 |
3 | #ifndef __LIST_H
4 | #define __LIST_H
5 |
6 | #include "../../../Common/Wildcard.h"
7 |
8 | #include "../Common/LoadCodecs.h"
9 |
10 | HRESULT ListArchives(CCodecs *codecs,
11 | const CObjectVector &types,
12 | const CIntVector &excludedFormats,
13 | bool stdInMode,
14 | UStringVector &archivePaths, UStringVector &archivePathsFull,
15 | bool processAltStreams, bool showAltStreams,
16 | const NWildcard::CCensorNode &wildcardCensor,
17 | bool enableHeaders, bool techMode,
18 | #ifndef _NO_CRYPTO
19 | bool &passwordEnabled, UString &password,
20 | #endif
21 | #ifndef _SFX
22 | const CObjectVector *props,
23 | #endif
24 | UInt64 &errors,
25 | UInt64 &numWarnings);
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/scan/parameters_struct.hlsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_HLSL_SCAN_PARAMETERS_STRUCT_INCLUDED_
2 | #define _NBL_HLSL_SCAN_PARAMETERS_STRUCT_INCLUDED_
3 |
4 | #define NBL_BUILTIN_MAX_SCAN_LEVELS 7
5 |
6 | #ifdef __cplusplus
7 | #define uint uint32_t
8 | #endif
9 |
10 | namespace nbl
11 | {
12 | namespace hlsl
13 | {
14 | namespace scan
15 | {
16 | // REVIEW: Putting topLevel second allows better alignment for packing of constant variables, assuming lastElement has length 4. (https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-packing-rules)
17 | struct Parameters_t {
18 | uint lastElement[NBL_BUILTIN_MAX_SCAN_LEVELS/2+1];
19 | uint topLevel;
20 | uint temporaryStorageOffset[NBL_BUILTIN_MAX_SCAN_LEVELS/2];
21 | }
22 | }
23 | }
24 | }
25 |
26 | #ifdef __cplusplus
27 | #undef uint
28 | #endif
29 |
30 | #endif
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanGraphicsPipeline.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_C_VULKAN_GRAPHICS_PIPELINE_H_INCLUDED_
2 | #define _NBL_C_VULKAN_GRAPHICS_PIPELINE_H_INCLUDED_
3 |
4 |
5 | #include "nbl/video/IGPUGraphicsPipeline.h"
6 |
7 |
8 | namespace nbl::video
9 | {
10 |
11 | class CVulkanGraphicsPipeline final : public IGPUGraphicsPipeline
12 | {
13 | public:
14 | CVulkanGraphicsPipeline(const SCreationParams& params, const VkPipeline vk_pipeline) :
15 | IGPUGraphicsPipeline(params), m_vkPipeline(vk_pipeline) {}
16 |
17 | inline const void* getNativeHandle() const override {return &m_vkPipeline;}
18 |
19 | inline VkPipeline getInternalObject() const {return m_vkPipeline;}
20 |
21 | private:
22 | ~CVulkanGraphicsPipeline();
23 |
24 | const VkPipeline m_vkPipeline;
25 | };
26 |
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/ComboDialog.h:
--------------------------------------------------------------------------------
1 | // ComboDialog.h
2 |
3 | #ifndef __COMBO_DIALOG_H
4 | #define __COMBO_DIALOG_H
5 |
6 | #include "../../../Windows/Control/ComboBox.h"
7 | #include "../../../Windows/Control/Dialog.h"
8 |
9 | #include "ComboDialogRes.h"
10 |
11 | class CComboDialog: public NWindows::NControl::CModalDialog
12 | {
13 | NWindows::NControl::CComboBox _comboBox;
14 | virtual void OnOK();
15 | virtual bool OnInit();
16 | virtual bool OnSize(WPARAM wParam, int xSize, int ySize);
17 | public:
18 | // bool Sorted;
19 | UString Title;
20 | UString Static;
21 | UString Value;
22 | UStringVector Strings;
23 |
24 | // CComboDialog(): Sorted(false) {};
25 | INT_PTR Create(HWND parentWindow = 0) { return CModalDialog::Create(IDD_COMBO, parentWindow); }
26 | };
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h:
--------------------------------------------------------------------------------
1 | #define IDD_EXTRACT 3400
2 | #define IDD_EXTRACT_2 13400
3 |
4 | #define IDC_EXTRACT_PATH 100
5 | #define IDB_EXTRACT_SET_PATH 101
6 | #define IDC_EXTRACT_PATH_MODE 102
7 | #define IDC_EXTRACT_OVERWRITE_MODE 103
8 |
9 | #define IDE_EXTRACT_PASSWORD 120
10 |
11 | #define IDE_EXTRACT_NAME 130
12 | #define IDX_EXTRACT_NAME_ENABLE 131
13 |
14 |
15 | #define IDT_EXTRACT_EXTRACT_TO 3401
16 | #define IDT_EXTRACT_PATH_MODE 3410
17 | #define IDT_EXTRACT_OVERWRITE_MODE 3420
18 |
19 | #define IDX_EXTRACT_ELIM_DUP 3430
20 | #define IDX_EXTRACT_NT_SECUR 3431
21 | // #define IDX_EXTRACT_ALT_STREAMS 3432
22 |
23 | #define IDX_PASSWORD_SHOW 3803
24 | #define IDG_PASSWORD 3807
25 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/Windows/Handle.h:
--------------------------------------------------------------------------------
1 | // Windows/Handle.h
2 |
3 | #ifndef __WINDOWS_HANDLE_H
4 | #define __WINDOWS_HANDLE_H
5 |
6 | namespace NWindows {
7 |
8 | class CHandle
9 | {
10 | protected:
11 | HANDLE _handle;
12 | public:
13 | operator HANDLE() { return _handle; }
14 | CHandle(): _handle(NULL) {}
15 | ~CHandle() { Close(); }
16 | bool IsCreated() const { return (_handle != NULL); }
17 | bool Close()
18 | {
19 | if (_handle == NULL)
20 | return true;
21 | if (!::CloseHandle(_handle))
22 | return false;
23 | _handle = NULL;
24 | return true;
25 | }
26 | void Attach(HANDLE handle) { _handle = handle; }
27 | HANDLE Detach()
28 | {
29 | HANDLE handle = _handle;
30 | _handle = NULL;
31 | return handle;
32 | }
33 | };
34 |
35 | }
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/include/nbl/asset/metadata/IPolygonGeometryMetadata.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2025-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_ASSET_I_POLYGON_GEOMETRY_METADATA_H_INCLUDED_
5 | #define _NBL_ASSET_I_POLYGON_GEOMETRY_METADATA_H_INCLUDED_
6 |
7 |
8 | #include "nbl/asset/ICPUPolygonGeometry.h"
9 |
10 |
11 | namespace nbl::asset
12 | {
13 |
14 | //!
15 | class IPolygonGeometryMetadata : public core::Interface
16 | {
17 | public:
18 | inline IPolygonGeometryMetadata() = default;
19 |
20 | protected:
21 | virtual ~IPolygonGeometryMetadata() = default;
22 |
23 | inline IPolygonGeometryMetadata& operator=(IPolygonGeometryMetadata&& other)
24 | {
25 | return *this;
26 | }
27 | };
28 |
29 | }
30 | #endif
31 |
--------------------------------------------------------------------------------
/include/nbl/builtin/material/debug/vertex_color/specialized_shader.vert:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 | #extension GL_GOOGLE_include_directive : require
7 |
8 | layout(location = 0) in vec3 vPos;
9 | layout(location = 1) in vec3 vCol;
10 |
11 | #include
12 | #include
13 |
14 | layout (set = 1, binding = 0, row_major, std140) uniform UBO
15 | {
16 | nbl_glsl_SBasicViewParameters params;
17 | } CamData;
18 |
19 | layout(location = 0) out vec3 color;
20 |
21 | void main()
22 | {
23 | gl_Position = nbl_glsl_pseudoMul4x4with3x1(CamData.params.MVP, vPos);
24 | color = vCol;
25 | }
--------------------------------------------------------------------------------
/include/nbl/video/CVulkanImage.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2023 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_VIDEO_C_VULKAN_IMAGE_H_INCLUDED_
5 | #define _NBL_VIDEO_C_VULKAN_IMAGE_H_INCLUDED_
6 |
7 |
8 | #include "nbl/video/CVulkanDeviceMemoryBacked.h"
9 |
10 |
11 | namespace nbl::video
12 | {
13 |
14 | class CVulkanImage : public CVulkanDeviceMemoryBacked
15 | {
16 | public:
17 | template
18 | inline CVulkanImage(Args&&... args) : CVulkanDeviceMemoryBacked(std::forward(args)...) {}
19 |
20 | void setObjectDebugName(const char* label) const override;
21 |
22 | protected:
23 | virtual ~CVulkanImage();
24 | };
25 |
26 | } // end namespace nbl::video
27 | #endif
28 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/loader/mtl/common.glsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_BUILTIN_GLSL_MTL_LOADER_COMMON_INCLUDED_
6 | #define _NBL_BUILTIN_GLSL_MTL_LOADER_COMMON_INCLUDED_
7 |
8 | struct nbl_glsl_MTLMaterialParameters
9 | {
10 | vec3 Ka;
11 | vec3 Kd;
12 | vec3 Ks;
13 | vec3 Ke;
14 | vec4 Tf;//w component doesnt matter
15 | float Ns;
16 | float d;
17 | float bm;
18 | float Ni;
19 | float roughness;
20 | float metallic;
21 | float sheen;
22 | float clearcoatThickness;
23 | float clearcoatRoughness;
24 | float anisotropy;
25 | float anisoRotation;
26 | //extra info
27 | uint extra;
28 | };
29 |
30 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h:
--------------------------------------------------------------------------------
1 | // PasswordDialog.h
2 |
3 | #ifndef __PASSWORD_DIALOG_H
4 | #define __PASSWORD_DIALOG_H
5 |
6 | #include "../../../Windows/Control/Dialog.h"
7 | #include "../../../Windows/Control/Edit.h"
8 |
9 | #include "PasswordDialogRes.h"
10 |
11 | class CPasswordDialog: public NWindows::NControl::CModalDialog
12 | {
13 | NWindows::NControl::CEdit _passwordEdit;
14 |
15 | virtual void OnOK();
16 | virtual bool OnInit();
17 | virtual bool OnButtonClicked(int buttonID, HWND buttonHWND);
18 | void SetTextSpec();
19 | void ReadControls();
20 | public:
21 | UString Password;
22 | bool ShowPassword;
23 |
24 | CPasswordDialog(): ShowPassword(false) {}
25 | INT_PTR Create(HWND parentWindow = 0) { return CModalDialog::Create(IDD_PASSWORD, parentWindow); }
26 | };
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/include/nbl/asset/interchange/IGeometryWriter.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2025-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_ASSET_I_GEOMETRY_WRITER_H_INCLUDED_
5 | #define _NBL_ASSET_I_GEOMETRY_WRITER_H_INCLUDED_
6 |
7 |
8 | #include "nbl/core/declarations.h"
9 |
10 | #include "nbl/asset/ICPUPolygonGeometry.h"
11 | #include "nbl/asset/interchange/IAssetWriter.h"
12 |
13 |
14 | namespace nbl::asset
15 | {
16 |
17 | class IGeometryWriter : public IAssetWriter
18 | {
19 | public:
20 | virtual inline uint64_t getSupportedAssetTypesBitfield() const override {return IAsset::ET_GEOMETRY;}
21 |
22 | protected:
23 | IGeometryWriter() {}
24 | virtual ~IGeometryWriter() = 0;
25 |
26 | private:
27 | };
28 |
29 | }
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/shapes/circle.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2023 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_SHAPES_CIRCLE_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_SHAPES_CIRCLE_INCLUDED_
6 |
7 | namespace nbl
8 | {
9 | namespace hlsl
10 | {
11 | namespace shapes
12 | {
13 | struct Circle_t
14 | {
15 | float2 center;
16 | float radius;
17 |
18 | static Circle_t construct(float2 center, float radius)
19 | {
20 | Circle_t c = { center, radius };
21 | return c;
22 | }
23 |
24 | float signedDistance(float2 p)
25 | {
26 | return distance(p, center) - radius;
27 | }
28 | };
29 | }
30 | }
31 | }
32 |
33 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/material/debug/vertex_normal/specialized_shader.vert:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #version 430 core
6 | #extension GL_GOOGLE_include_directive : require
7 |
8 | layout(location = 0) in vec3 vPos;
9 | layout(location = 3) in vec3 vNormal;
10 |
11 | #include
12 | #include
13 |
14 | layout (set = 1, binding = 0, row_major, std140) uniform UBO
15 | {
16 | nbl_glsl_SBasicViewParameters params;
17 | } CamData;
18 |
19 | layout(location = 0) out vec3 color;
20 |
21 | void main()
22 | {
23 | gl_Position = nbl_glsl_pseudoMul4x4with3x1(CamData.params.MVP, vPos);
24 | color = vNormal*0.5+vec3(0.5);
25 | }
--------------------------------------------------------------------------------
/3rdparty/lzma/C/Util/7z/makefile:
--------------------------------------------------------------------------------
1 | CFLAGS = $(CFLAGS) -D_7ZIP_PPMD_SUPPPORT
2 |
3 | PROG = 7zDec.exe
4 |
5 | C_OBJS = \
6 | $O\7zAlloc.obj \
7 | $O\7zBuf.obj \
8 | $O\7zCrc.obj \
9 | $O\7zCrcOpt.obj \
10 | $O\7zFile.obj \
11 | $O\7zDec.obj \
12 | $O\7zArcIn.obj \
13 | $O\7zStream.obj \
14 | $O\Bcj2.obj \
15 | $O\Bra.obj \
16 | $O\Bra86.obj \
17 | $O\BraIA64.obj \
18 | $O\CpuArch.obj \
19 | $O\Delta.obj \
20 | $O\Lzma2Dec.obj \
21 | $O\LzmaDec.obj \
22 | $O\Ppmd7.obj \
23 | $O\Ppmd7Dec.obj \
24 |
25 | 7Z_OBJS = \
26 | $O\7zMain.obj \
27 |
28 | OBJS = \
29 | $O\Precomp.obj \
30 | $(7Z_OBJS) \
31 | $(C_OBJS) \
32 |
33 | !include "../../../CPP/Build.mak"
34 |
35 | $(7Z_OBJS): $(*B).c
36 | $(CCOMPL_USE)
37 | $(C_OBJS): ../../$(*B).c
38 | $(CCOMPL_USE)
39 | $O\Precomp.obj: Precomp.c
40 | $(CCOMPL_PCH)
41 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/ext/RadeonRays/ray.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_GLSL_EXT_RADEON_RAYS_RAY_INCLUDED_
2 | #define _NBL_GLSL_EXT_RADEON_RAYS_RAY_INCLUDED_
3 |
4 | struct nbl_glsl_ext_RadeonRays_ray
5 | {
6 | vec3 origin;
7 | float maxT; // nbl_glsl_FLT_MAX
8 | vec3 direction;
9 | float time;
10 | int mask; // want to have it to -1
11 | int _active; // want to have it to 1
12 | uvec2 useless_padding; // can be used to forward data
13 | };
14 |
15 | nbl_glsl_ext_RadeonRays_ray nbl_glsl_ext_RadeonRays_constructDefaultRay(in vec3 origin, in vec3 direction, in float maxLen, in uvec2 userData)
16 | {
17 | nbl_glsl_ext_RadeonRays_ray retval;
18 | retval.origin = origin;
19 | retval.maxT = maxLen;
20 | retval.direction = direction;
21 | retval.time = 0.0;
22 | retval.mask = -1;
23 | retval._active = 1;
24 | retval.useless_padding = userData;
25 | return retval;
26 | }
27 |
28 | #endif
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/sampling/envmap.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_SAMPLING_ENVMAP_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_SAMPLING_ENVMAP_INCLUDED_
3 |
4 | #include
5 | #include
6 |
7 | vec2 nbl_glsl_sampling_envmap_uvCoordFromDirection(vec3 v)
8 | {
9 | vec2 uv = vec2(atan(v.y,v.x),acos(v.z));
10 | uv.x *= nbl_glsl_RECIPROCAL_PI*0.5;
11 | if (v.y<0.f)
12 | uv.x += 1.f;
13 | uv.y *= nbl_glsl_RECIPROCAL_PI;
14 | return uv;
15 | }
16 |
17 | vec3 nbl_glsl_sampling_envmap_directionFromUVCoord(in vec2 uv, out float sinTheta)
18 | {
19 | vec3 dir;
20 | dir.x = cos(uv.x*2.f*nbl_glsl_PI);
21 | dir.y = sqrt(1.f-dir.x*dir.x);
22 | if (uv.x>0.5f)
23 | dir.y = -dir.y;
24 | nbl_glsl_sincos(uv.y*nbl_glsl_PI,sinTheta,dir.z);
25 | dir.xy *= sinTheta;
26 | return dir;
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/include/nbl/builtin/glsl/sampling/quantized_sequence.glsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_BUILTIN_GLSL_SAMPLING_QUANTIZED_SEQUENCE_INCLUDED_
2 | #define _NBL_BUILTIN_GLSL_SAMPLING_QUANTIZED_SEQUENCE_INCLUDED_
3 |
4 | // samples are quantized 3 dimensions at a time
5 | #define nbl_glsl_sampling_quantized3D uvec2
6 |
7 | vec3 nbl_glsl_sampling_decodeSample3Dimensions(in nbl_glsl_sampling_quantized3D quant3D, in uvec3 scrambleKey)
8 | {
9 | // We don't even need to mask off the lower bits of X and Y, since they get lost upon the FP32 multiplication
10 | const uvec3 seqVal = uvec3(
11 | quant3D[0],
12 | quant3D[1],
13 | (quant3D[0]<<21)|((quant3D[1]&0x07FFu)<<10)
14 | );
15 | // Due to mantissa truncation, the constant multiplier is not an reciprocal of 2^32-1, because more than one value needs to map to 1.f
16 | return vec3(seqVal^scrambleKey)*uintBitsToFloat(0x2f800004u);
17 | }
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/bxdf/reflection/iridescent.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_BXDF_REFLECTION_IRIDESCENT_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_BXDF_REFLECTION_IRIDESCENT_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/bxdf/reflection/ggx.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace bxdf
14 | {
15 | namespace reflection
16 | {
17 |
18 | template
19 | using SIridescent = SCookTorrance, fresnel::Iridescent >;
20 |
21 | }
22 |
23 | // inherit trait from cook torrance base
24 |
25 | }
26 | }
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/include/nbl/core/IBuffer.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef __NBL_CORE_I_BUFFER_H_INCLUDED__
6 | #define __NBL_CORE_I_BUFFER_H_INCLUDED__
7 |
8 | #include "nbl/core/decl/Types.h"
9 | #include "nbl/core/IReferenceCounted.h"
10 | #include "nbl/asset/ECommonEnums.h"
11 |
12 | namespace nbl::core
13 | {
14 |
15 | struct adopt_memory_t {};
16 | constexpr adopt_memory_t adopt_memory{};
17 |
18 | class IBuffer : public virtual IReferenceCounted
19 | {
20 | public:
21 | //! size in BYTES
22 | virtual uint64_t getSize() const = 0;
23 |
24 | protected:
25 | _NBL_INTERFACE_CHILD(IBuffer) {}
26 | };
27 |
28 | } // end namespace nbl::video
29 |
30 | #endif
31 |
32 |
--------------------------------------------------------------------------------
/include/nbl/ext/ImGui/builtin/hlsl/common.hlsl:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_IMGUI_EXT_COMMON_HLSL_
2 | #define _NBL_IMGUI_EXT_COMMON_HLSL_
3 |
4 | #include "nbl/builtin/hlsl/glsl_compat/core.hlsl"
5 | #include "nbl/builtin/hlsl/bda/struct_declare.hlsl"
6 |
7 | namespace nbl
8 | {
9 | namespace ext
10 | {
11 | namespace imgui
12 | {
13 | struct PushConstants
14 | {
15 | uint64_t elementBDA;
16 | uint64_t elementCount;
17 | nbl::hlsl::float32_t2 scale;
18 | nbl::hlsl::float32_t2 translate;
19 | nbl::hlsl::float32_t4 viewport;
20 | };
21 |
22 | // would like to replace with our own BDA, but can't do bitfields right now (would need a different wrapper for those)
23 | struct PerObjectData
24 | {
25 | uint32_t aabbMin, aabbMax; //! snorm16_t2 packed as [uint16_t, uint16_t]
26 | uint32_t texId : 26;
27 | uint32_t samplerIx : 6;
28 | };
29 | }
30 | }
31 | }
32 |
33 | #endif // _NBL_IMGUI_EXT_COMMON_HLSL_
34 |
--------------------------------------------------------------------------------
/src/nbl/video/CVulkanFramebuffer.h:
--------------------------------------------------------------------------------
1 | #ifndef _NBL_C_VULKAN_FRAMEBUFFER_H_INCLUDED_
2 | #define _NBL_C_VULKAN_FRAMEBUFFER_H_INCLUDED_
3 |
4 | #include "nbl/video/IGPUFramebuffer.h"
5 |
6 | #include
7 |
8 | namespace nbl::video
9 | {
10 |
11 | class ILogicalDevice;
12 |
13 | class CVulkanFramebuffer final : public IGPUFramebuffer
14 | {
15 | public:
16 | CVulkanFramebuffer(core::smart_refctd_ptr&& dev, SCreationParams&& params, const VkFramebuffer vk_framebuffer)
17 | : IGPUFramebuffer(std::move(dev),std::move(params)), m_vkfbo(vk_framebuffer) {}
18 |
19 | ~CVulkanFramebuffer();
20 |
21 | inline VkFramebuffer getInternalObject() const {return m_vkfbo;}
22 |
23 | void setObjectDebugName(const char* label) const override;
24 |
25 | private:
26 | const VkFramebuffer m_vkfbo;
27 | };
28 |
29 | }
30 |
31 | #endif
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/Common/ProgressUtils.h:
--------------------------------------------------------------------------------
1 | // ProgressUtils.h
2 |
3 | #ifndef __PROGRESS_UTILS_H
4 | #define __PROGRESS_UTILS_H
5 |
6 | #include "../../Common/MyCom.h"
7 |
8 | #include "../ICoder.h"
9 | #include "../IProgress.h"
10 |
11 | class CLocalProgress:
12 | public ICompressProgressInfo,
13 | public CMyUnknownImp
14 | {
15 | CMyComPtr _progress;
16 | CMyComPtr _ratioProgress;
17 | bool _inSizeIsMain;
18 | public:
19 | UInt64 ProgressOffset;
20 | UInt64 InSize;
21 | UInt64 OutSize;
22 | bool SendRatio;
23 | bool SendProgress;
24 |
25 | CLocalProgress();
26 |
27 | void Init(IProgress *progress, bool inSizeIsMain);
28 | HRESULT SetCur();
29 |
30 | MY_UNKNOWN_IMP1(ICompressProgressInfo)
31 |
32 | STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize);
33 | };
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/include/nbl/core/math/matrixutil.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 |
5 | #ifndef _NBL_MATRIX_UTIL_H_INCLUDED_
6 | #define _NBL_MATRIX_UTIL_H_INCLUDED_
7 |
8 | #include "matrix4SIMD.h"
9 | #include "matrix3x4SIMD.h"
10 |
11 | namespace nbl::core
12 | {
13 |
14 |
15 | //! TODO: OPTIMIZE THIS, DON'T PROMOTE THE MATRIX IF DON'T HAVE TO
16 | inline matrix4SIMD concatenateBFollowedByA(const matrix4SIMD& _a, const matrix3x4SIMD& _b)
17 | {
18 | return concatenateBFollowedByA(_a, matrix4SIMD(_b));
19 | }
20 | /*
21 | inline matrix4SIMD concatenateBFollowedByAPrecisely(const matrix4SIMD& _a, const matrix3x4SIMD& _b)
22 | {
23 | return concatenateBFollowedByAPrecisely(_a, matrix4SIMD(_b));
24 | }
25 | */
26 |
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/bxdf/transmission/iridescent.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2018-2025 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_IRIDESCENT_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_IRIDESCENT_INCLUDED_
6 |
7 | #include "nbl/builtin/hlsl/bxdf/transmission/ggx.hlsl"
8 |
9 | namespace nbl
10 | {
11 | namespace hlsl
12 | {
13 | namespace bxdf
14 | {
15 | namespace transmission
16 | {
17 |
18 | template
19 | using SIridescent = SCookTorrance, fresnel::Iridescent >;
20 |
21 | }
22 |
23 | // inherit trait from cook torrance base
24 |
25 | }
26 | }
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/3rdparty/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc:
--------------------------------------------------------------------------------
1 | #include "ProgressDialog2Res.h"
2 | #include "../../GuiCommon.rc"
3 |
4 | #undef DIALOG_ID
5 | #define DIALOG_ID IDD_PROGRESS
6 | #define xc 360
7 | #define k 11
8 | #define z1s 16
9 |
10 | #include "ProgressDialog2a.rc"
11 |
12 | #ifdef UNDER_CE
13 |
14 | #include "../../GuiCommon.rc"
15 |
16 |
17 | #undef DIALOG_ID
18 | #undef m
19 | #undef k
20 | #undef z1s
21 |
22 | #define DIALOG_ID IDD_PROGRESS_2
23 | #define m 4
24 | #define k 8
25 | #define z1s 12
26 |
27 | #define xc 280
28 |
29 | #include "ProgressDialog2a.rc"
30 |
31 | #endif
32 |
33 | STRINGTABLE DISCARDABLE
34 | {
35 | IDS_PROGRESS_PAUSED "Paused"
36 | IDS_PROGRESS_FOREGROUND "&Foreground"
37 | IDS_CONTINUE "&Continue"
38 | IDS_PROGRESS_ASK_CANCEL "Are you sure you want to cancel?"
39 | IDS_CLOSE "&Close"
40 | }
41 |
--------------------------------------------------------------------------------
/include/nbl/builtin/hlsl/utility.hlsl:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2024 - DevSH Graphics Programming Sp. z O.O.
2 | // This file is part of the "Nabla Engine".
3 | // For conditions of distribution and use, see copyright notice in nabla.h
4 | #ifndef _NBL_BUILTIN_HLSL_UTILITY_INCLUDED_
5 | #define _NBL_BUILTIN_HLSL_UTILITY_INCLUDED_
6 |
7 |
8 | #include
9 |
10 |
11 | // for now we only implement declval
12 | namespace nbl
13 | {
14 | namespace hlsl
15 | {
16 | template
17 | const static bool always_true = true;
18 | #ifndef __HLSL_VERSION
19 |
20 | template
21 | std::add_rvalue_reference_t declval() noexcept
22 | {
23 | static_assert(false,"Actually calling declval is ill-formed.");
24 | }
25 |
26 | #else
27 |
28 | namespace experimental
29 | {
30 |
31 | template
32 | T declval() {}
33 |
34 | }
35 |
36 | #endif
37 | }
38 | }
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/docker/compose.yml:
--------------------------------------------------------------------------------
1 | services:
2 | git-cache-updater:
3 | build:
4 | context: ./git-cache
5 | dockerfile: Dockerfile
6 | image: dcr.devsh.eu/nabla/source/git-cache:latest
7 | container_name: git.cache.update
8 | networks:
9 | docker_default:
10 | nabla:
11 | build:
12 | context: .
13 | dockerfile: Dockerfile
14 | image: dcr.devsh.eu/nabla/source
15 | container_name: dev.nabla.build
16 | env_file:
17 | - .env
18 | environment:
19 | - THIS_PROJECT_WORKING_DIRECTORY=${THIS_PROJECT_WORKING_DIRECTORY}
20 | - THIS_PROJECT_NABLA_DIRECTORY=${THIS_PROJECT_NABLA_DIRECTORY}
21 | networks:
22 | docker_default:
23 | deploy:
24 | resources:
25 | limits:
26 | cpus: '6'
27 | memory: 12G
28 | depends_on:
29 | - git-cache-updater
30 |
31 | networks:
32 | docker_default:
33 | external: true
--------------------------------------------------------------------------------