Skip to content

Commit 56c8bf7

Browse files
committed
Last PR comments
1 parent d224016 commit 56c8bf7

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

include/nbl/video/SPhysicalDeviceLimits.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,11 @@ struct SPhysicalDeviceLimits
182182
E_TRI_BOOLEAN shaderRoundingModeRTZFloat32 = ETB_DONT_KNOW;
183183
E_TRI_BOOLEAN shaderRoundingModeRTZFloat64 = ETB_DONT_KNOW;
184184

185-
// or VK_EXT_descriptor_indexing:
185+
// expose in 2 phases
186+
// -Update After Bindand nonUniformEXT shader qualifier:
187+
// Descriptor Lifetime Tracking PR #345 will do this, cause I don't want to rewrite the tracking system again.
188+
// -Actual Descriptor Indexing:
189+
// The whole 512k descriptor limits, runtime desc arrays, etc.will come later
186190
uint32_t maxUpdateAfterBindDescriptorsInAllPools = ~0u;
187191
bool shaderUniformBufferArrayNonUniformIndexingNative = false;
188192
bool shaderSampledImageArrayNonUniformIndexingNative = false;
@@ -211,9 +215,6 @@ struct SPhysicalDeviceLimits
211215
bool filterMinmaxSingleComponentFormats = false;
212216
bool filterMinmaxImageComponentMapping = false;
213217

214-
core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferIntegerColorSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
215-
216-
217218
/* Vulkan 1.3 Core */
218219

219220
// or VK_EXT_subgroup_size_control:
@@ -533,6 +534,14 @@ struct SPhysicalDeviceLimits
533534
//! uint32_t maxVertexInputAttributeOffset;
534535
//! uint32_t maxVertexInputBindingStride;
535536

537+
/*
538+
- Spec states minimum supported value should be at least ESCF_1_BIT
539+
- it might be different for each integer format, best way is to query your integer format from physical device using vkGetPhysicalDeviceImageFormatProperties and get the sampleCounts
540+
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkImageFormatProperties.html
541+
*/
542+
// [DO NOT EXPOSE] because it might be different for every texture format and usage
543+
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferIntegerColorSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
544+
536545
/* Always enabled, reported as limits */
537546
bool shaderOutputViewportIndex = false; // ALIAS: VK_EXT_shader_viewport_index_layer
538547
bool shaderOutputLayer = false; // ALIAS: VK_EXT_shader_viewport_index_layer

src/nbl/video/CVulkanPhysicalDevice.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -298,11 +298,6 @@ class CVulkanPhysicalDevice final : public IPhysicalDevice
298298
m_properties.limits.filterMinmaxImageComponentMapping = samplerFilterMinmaxProperties.filterMinmaxImageComponentMapping;
299299
}
300300

301-
if(apiVersion >= VK_MAKE_API_VERSION(0, 1, 2, 0))
302-
{
303-
m_properties.limits.framebufferIntegerColorSampleCounts = core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS>(vulkan12Properties.framebufferIntegerColorSampleCounts);
304-
}
305-
306301
/* Vulkan 1.3 Core */
307302
if(isExtensionSupported(VK_KHR_MAINTENANCE_4_EXTENSION_NAME))
308303
m_properties.limits.maxBufferSize = maintanance4Properties.maxBufferSize;

src/nbl/video/IOpenGL_PhysicalDeviceBase.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,8 +1171,6 @@ class IOpenGL_PhysicalDeviceBase : public IOpenGLPhysicalDeviceBase
11711171
m_properties.limits.filterMinmaxSingleComponentFormats = false;
11721172
m_properties.limits.filterMinmaxImageComponentMapping = false;
11731173

1174-
m_properties.limits.framebufferIntegerColorSampleCounts = framebufferSampleCountFlags;
1175-
11761174
/* Vulkan 1.3 Core */
11771175
m_properties.limits.maxBufferSize = maxBufferSize;
11781176

0 commit comments

Comments
 (0)