mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 12:23:05 +08:00
Refactor L0 sampler error path and add ULTs
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
c97fe4c660
commit
39d450bc84
@@ -32,7 +32,10 @@ Sampler *Sampler::create(uint32_t productFamily, Device *device, const ze_sample
|
||||
SamplerImp *sampler = nullptr;
|
||||
if (allocator) {
|
||||
sampler = static_cast<SamplerImp *>((*allocator)());
|
||||
sampler->initialize(device, desc);
|
||||
if (sampler->initialize(device, desc) != ZE_RESULT_SUCCESS) {
|
||||
sampler->destroy();
|
||||
sampler = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
return sampler;
|
||||
|
||||
@@ -187,5 +187,39 @@ HWTEST2_F(ContextCreateSamplerTest, givenInvalidHardwareFamilyThenSamplerIsNotCr
|
||||
EXPECT_EQ(nullptr, sampler);
|
||||
}
|
||||
|
||||
HWTEST2_F(ContextCreateSamplerTest, givenInvalidAddressModeThenSamplerIsNotCreated, SamplerCreateSupport) {
|
||||
auto addressModeArray = std::make_unique<char[]>(sizeof(ze_sampler_address_mode_t));
|
||||
addressModeArray[0] = 99; // out of range value
|
||||
auto addressMode = *reinterpret_cast<ze_sampler_address_mode_t *>(addressModeArray.get());
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_LINEAR;
|
||||
ze_bool_t isNormalized = false;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
L0::Sampler *sampler = Sampler::create(gfxCoreFamily, device, &desc);
|
||||
|
||||
EXPECT_EQ(nullptr, sampler);
|
||||
}
|
||||
|
||||
HWTEST2_F(ContextCreateSamplerTest, givenInvalidFilterModeThenSamplerIsNotCreated, SamplerCreateSupport) {
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_NONE;
|
||||
auto filterModeArray = std::make_unique<char[]>(sizeof(ze_sampler_filter_mode_t));
|
||||
filterModeArray[0] = 99; // out of range value
|
||||
ze_sampler_filter_mode_t filterMode = *reinterpret_cast<ze_sampler_filter_mode_t *>(filterModeArray.get());
|
||||
ze_bool_t isNormalized = false;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
L0::Sampler *sampler = Sampler::create(gfxCoreFamily, device, &desc);
|
||||
|
||||
EXPECT_EQ(nullptr, sampler);
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
||||
|
||||
Reference in New Issue
Block a user