fix: set stackSizePerRay appropriately for release

Related-to: NEO-12816

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
This commit is contained in:
Andrzej Koska
2024-10-07 16:41:15 +00:00
committed by Compute-Runtime-Automation
parent 5ae2552b4b
commit dad53a13c3
16 changed files with 38 additions and 1 deletions

View File

@@ -11,6 +11,7 @@
#include "shared/source/helpers/array_count.h"
#include "shared/source/helpers/driver_model_type.h"
#include "shared/source/helpers/gfx_core_helper.h"
#include "shared/source/helpers/ray_tracing_helper.h"
#include "shared/source/memory_manager/allocations_list.h"
#include "shared/source/memory_manager/gfx_partition.h"
#include "shared/source/memory_manager/unified_memory_pooling.h"
@@ -38,6 +39,7 @@
#include "shared/test/common/mocks/ult_device_factory.h"
#include "shared/test/common/test_macros/hw_test.h"
#include "shared/test/common/test_macros/test.h"
using namespace NEO;
extern ApiSpecificConfig::ApiType apiTypeForUlts;
namespace NEO {
@@ -241,6 +243,20 @@ TEST_F(DeviceTest, whenAllocateRTDispatchGlobalsIsCalledThenRTDispatchGlobalsIsA
EXPECT_NE(nullptr, pDevice->getRTDispatchGlobals(3));
}
TEST_F(DeviceTest, whenAllocateRTDispatchGlobalsIsCalledThenStackSizePerRayIsSetCorrectly) {
pDevice->initializeRayTracing(5);
pDevice->allocateRTDispatchGlobals(3);
EXPECT_NE(nullptr, pDevice->getRTDispatchGlobals(3));
struct RTDispatchGlobals dispatchGlobals = *reinterpret_cast<struct RTDispatchGlobals *>(pDevice->getRTDispatchGlobals(3)->rtDispatchGlobalsArray->getUnderlyingBuffer());
auto releaseHelper = getReleaseHelper();
if (releaseHelper) {
EXPECT_EQ(dispatchGlobals.stackSizePerRay, releaseHelper->getStackSizePerRay());
} else {
EXPECT_EQ(dispatchGlobals.stackSizePerRay, 0u);
}
}
TEST_F(DeviceTest, givenNot48bResourceForRtWhenAllocateRTDispatchGlobalsIsCalledThenRTDispatchGlobalsIsAllocatedWithout48bResourceFlag) {
auto mockProductHelper = std::make_unique<MockProductHelper>();
mockProductHelper->is48bResourceNeededForRayTracingResult = false;

View File

@@ -39,6 +39,7 @@ TEST_F(ReleaseHelper1255Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -39,6 +39,7 @@ TEST_F(ReleaseHelper1256Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -39,6 +39,7 @@ TEST_F(ReleaseHelper1257Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -36,6 +36,7 @@ TEST_F(ReleaseHelper1260Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_TRUE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -35,6 +35,7 @@ TEST_F(ReleaseHelper1261Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_TRUE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -40,6 +40,7 @@ TEST_F(ReleaseHelper1270Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -40,6 +40,7 @@ TEST_F(ReleaseHelper1271Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -38,6 +38,7 @@ TEST_F(ReleaseHelper1274Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isRcsExposureDisabled());
EXPECT_TRUE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -38,6 +38,7 @@ TEST_F(ReleaseHelper2001Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}

View File

@@ -39,6 +39,7 @@ TEST_F(ReleaseHelper2004Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_FALSE(releaseHelper->isDisablingMsaaRequired());
}