Skip to content

Commit 8d4c3fc

Browse files
committed
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla into hlsl
2 parents 57827ad + f5d2344 commit 8d4c3fc

38 files changed

+952
-591
lines changed

3rdparty/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ add_subdirectory(simdjson simdjson EXCLUDE_FROM_ALL)
1515
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})
1616
set(BUILD_STATIC_LIBS ${_OLD_BUILD_STATIC_LIBS})
1717
set(BUILD_TESTING ${_OLD_BUILD_TESTING})
18+
set_property(TARGET simdjson PROPERTY CXX_STANDARD 17)
1819

1920
# openssl
2021
add_subdirectory(openssl openssl EXCLUDE_FROM_ALL)

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ include(common)
300300
NBL_UPDATE_SUBMODULES()
301301
add_subdirectory(${THIRD_PARTY_SOURCE_DIR})
302302

303-
OPTION(NBL_EMBED_BUILTIN_RESOURCES "Embed built-in resources?" ON)
303+
option(NBL_EMBED_BUILTIN_RESOURCES "Embed built-in resources?" ON)
304304

305305
add_subdirectory(src/nbl) # Nabla code | Moved cmakelists.txt from source/Nabla to src/nbl
306306

cmake/common.cmake

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ macro(nbl_create_ext_library_project EXT_NAME LIB_HEADERS LIB_SOURCES LIB_INCLUD
221221
add_dependencies(${LIB_NAME} Nabla)
222222

223223
get_target_property(_NBL_NABLA_TARGET_BINARY_DIR_ Nabla BINARY_DIR)
224-
get_target_property(_BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY_ nblBuiltinResourceData BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY)
225224

226225
target_include_directories(${LIB_NAME}
227226
PUBLIC ${_NBL_NABLA_TARGET_BINARY_DIR_}/build/import
@@ -231,9 +230,17 @@ macro(nbl_create_ext_library_project EXT_NAME LIB_HEADERS LIB_SOURCES LIB_INCLUD
231230
PUBLIC ${CMAKE_SOURCE_DIR}/include
232231
PUBLIC ${CMAKE_SOURCE_DIR}/src
233232
PUBLIC ${CMAKE_SOURCE_DIR}/source/Nabla
234-
PUBLIC ${_BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY_}
235233
PRIVATE ${LIB_INCLUDES}
236234
)
235+
236+
if(NBL_EMBED_BUILTIN_RESOURCES)
237+
get_target_property(_BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY_ nblBuiltinResourceData BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY)
238+
239+
target_include_directories(${LIB_NAME}
240+
PUBLIC ${_BUILTIN_RESOURCES_INCLUDE_SEARCH_DIRECTORY_}
241+
)
242+
endif()
243+
237244
add_dependencies(${LIB_NAME} Nabla)
238245
target_link_libraries(${LIB_NAME} PUBLIC Nabla)
239246
target_compile_options(${LIB_NAME} PUBLIC ${LIB_OPTIONS})

include/nbl/asset/IBuffer.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ class IBuffer : public core::IBuffer, public IDescriptor
3232
EUF_VERTEX_BUFFER_BIT = 0x00000080,
3333
EUF_INDIRECT_BUFFER_BIT = 0x00000100,
3434
EUF_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
35-
EUF_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
36-
EUF_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
35+
// we will not expose transform feedback
36+
//EUF_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
37+
//EUF_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3738
EUF_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3839
EUF_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT = 0x00080000,
3940
EUF_ACCELERATION_STRUCTURE_STORAGE_BIT = 0x00100000,

include/nbl/asset/IImage.h

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
// Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
1+
// Copyright (C) 2018-2023 - DevSH Graphics Programming Sp. z O.O.
22
// This file is part of the "Nabla Engine".
33
// For conditions of distribution and use, see copyright notice in nabla.h
4-
5-
#ifndef __NBL_ASSET_I_IMAGE_H_INCLUDED__
6-
#define __NBL_ASSET_I_IMAGE_H_INCLUDED__
4+
#ifndef _NBL_ASSET_I_IMAGE_H_INCLUDED_
5+
#define _NBL_ASSET_I_IMAGE_H_INCLUDED_
76

87
#include "nbl/core/util/bitflag.h"
98
#include "nbl/core/containers/refctd_dynamic_array.h"
@@ -136,18 +135,18 @@ class IImage : public IDescriptor
136135
};
137136
struct SSubresourceRange
138137
{
139-
E_ASPECT_FLAGS aspectMask = E_ASPECT_FLAGS::EAF_NONE;
140-
uint32_t baseMipLevel = 0u;
141-
uint32_t levelCount = 0u;
142-
uint32_t baseArrayLayer = 0u;
143-
uint32_t layerCount = 0u;
138+
core::bitflag<E_ASPECT_FLAGS> aspectMask = E_ASPECT_FLAGS::EAF_NONE;
139+
uint32_t baseMipLevel = 0u;
140+
uint32_t levelCount = 0u;
141+
uint32_t baseArrayLayer = 0u;
142+
uint32_t layerCount = 0u;
144143
};
145144
struct SSubresourceLayers
146145
{
147-
E_ASPECT_FLAGS aspectMask = E_ASPECT_FLAGS::EAF_NONE;
148-
uint32_t mipLevel = 0u;
149-
uint32_t baseArrayLayer = 0u;
150-
uint32_t layerCount = 0u;
146+
core::bitflag<E_ASPECT_FLAGS> aspectMask = E_ASPECT_FLAGS::EAF_NONE;
147+
uint32_t mipLevel = 0u;
148+
uint32_t baseArrayLayer = 0u;
149+
uint32_t layerCount = 0u;
151150

152151
auto operator<=>(const SSubresourceLayers&) const = default;
153152
};
@@ -214,7 +213,7 @@ class IImage : public IDescriptor
214213
inline bool isValid() const
215214
{
216215
// TODO: more complex check of compatible aspects when planar format support arrives
217-
if (srcSubresource.aspectMask^dstSubresource.aspectMask)
216+
if ((srcSubresource.aspectMask^dstSubresource.aspectMask).value)
218217
return false;
219218

220219
if (srcSubresource.layerCount!=dstSubresource.layerCount)
@@ -235,14 +234,14 @@ class IImage : public IDescriptor
235234
};
236235
struct SCreationParams
237236
{
238-
E_TYPE type;
239-
E_SAMPLE_COUNT_FLAGS samples;
240-
E_FORMAT format;
241-
VkExtent3D extent;
242-
uint32_t mipLevels;
243-
uint32_t arrayLayers;
244-
core::bitflag<E_CREATE_FLAGS> flags = ECF_NONE;
245-
core::bitflag<E_USAGE_FLAGS> usage = EUF_NONE;
237+
E_TYPE type;
238+
E_SAMPLE_COUNT_FLAGS samples;
239+
E_FORMAT format;
240+
VkExtent3D extent;
241+
uint32_t mipLevels;
242+
uint32_t arrayLayers;
243+
core::bitflag<E_CREATE_FLAGS> flags = ECF_NONE;
244+
core::bitflag<E_USAGE_FLAGS> usage = EUF_NONE;
246245

247246
inline bool operator==(const SCreationParams& rhs) const
248247
{
@@ -329,6 +328,8 @@ class IImage : public IDescriptor
329328
return false;
330329
if (_params.extent.width != _params.extent.height)
331330
return false;
331+
if (_params.extent.depth > 1u)
332+
return false;
332333
if (_params.arrayLayers < 6u)
333334
return false;
334335
if (_params.samples != ESCF_1_BIT)
@@ -587,7 +588,7 @@ class IImage : public IDescriptor
587588
//if (!formatHasAspects(m_creationParams.format,subresource.aspectMask))
588589
//return false;
589590
// The aspectMask member of imageSubresource must only have a single bit set
590-
if (!core::bitCount(static_cast<uint32_t>(subresource.aspectMask)) == 1u)
591+
if (!core::bitCount<uint32_t>(subresource.aspectMask.value) == 1u)
591592
return false;
592593
if (subresource.mipLevel >= m_creationParams.mipLevels)
593594
return false;
@@ -716,7 +717,7 @@ class IImage : public IDescriptor
716717
for (auto it2=it+1u; it2!=pRegionsEnd; it2++)
717718
{
718719
const auto& subresource2 = it2->getDstSubresource();
719-
if (!(subresource2.aspectMask&subresource.aspectMask))
720+
if (!(subresource2.aspectMask&subresource.aspectMask).value)
720721
continue;
721722
if (subresource2.mipLevel!=subresource.mipLevel)
722723
continue;

0 commit comments

Comments
 (0)