mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-22 11:21:47 +08:00
Enable transforming image 3d to image 2d array
Change-Id: I8fdc6899780481bdebeaf858a330e9dea822bda3
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
#include "unit_tests/helpers/memory_management.h"
|
||||
#include "unit_tests/mocks/mock_context.h"
|
||||
#include "unit_tests/mocks/mock_memory_manager.h"
|
||||
#include "gtest/gtest.h"
|
||||
#include "unit_tests/gen_common/test.h"
|
||||
|
||||
using namespace OCLRT;
|
||||
|
||||
@@ -1107,3 +1107,32 @@ INSTANTIATE_TEST_CASE_P(HasSlices,
|
||||
std::make_pair(CL_MEM_OBJECT_IMAGE3D, true),
|
||||
std::make_pair(CL_MEM_OBJECT_BUFFER, false),
|
||||
std::make_pair(CL_MEM_OBJECT_PIPE, false)));
|
||||
|
||||
typedef ::testing::Test ImageTransformTest;
|
||||
HWTEST_F(ImageTransformTest, givenSurfaceStateWhenTransformImage3dTo2dArrayIsCalledThenSurface2dArrayIsSet) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
using SURFACE_TYPE = typename RENDER_SURFACE_STATE::SURFACE_TYPE;
|
||||
MockContext context;
|
||||
auto image = std::unique_ptr<Image>(ImageHelper<Image3dDefaults>::create(&context));
|
||||
auto surfaceState = RENDER_SURFACE_STATE::sInit();
|
||||
auto imageHw = static_cast<ImageHw<FamilyType> *>(image.get());
|
||||
surfaceState.setSurfaceType(SURFACE_TYPE::SURFACE_TYPE_SURFTYPE_3D);
|
||||
surfaceState.setSurfaceArray(false);
|
||||
imageHw->transformImage3dTo2dArray(reinterpret_cast<void *>(&surfaceState));
|
||||
EXPECT_EQ(SURFACE_TYPE::SURFACE_TYPE_SURFTYPE_2D, surfaceState.getSurfaceType());
|
||||
EXPECT_TRUE(surfaceState.getSurfaceArray());
|
||||
}
|
||||
|
||||
HWTEST_F(ImageTransformTest, givenSurfaceStateWhenTransformImage2dArrayTo3dIsCalledThenSurface3dIsSet) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
using SURFACE_TYPE = typename RENDER_SURFACE_STATE::SURFACE_TYPE;
|
||||
MockContext context;
|
||||
auto image = std::unique_ptr<Image>(ImageHelper<Image3dDefaults>::create(&context));
|
||||
auto surfaceState = RENDER_SURFACE_STATE::sInit();
|
||||
auto imageHw = static_cast<ImageHw<FamilyType> *>(image.get());
|
||||
surfaceState.setSurfaceType(SURFACE_TYPE::SURFACE_TYPE_SURFTYPE_2D);
|
||||
surfaceState.setSurfaceArray(true);
|
||||
imageHw->transformImage2dArrayTo3d(reinterpret_cast<void *>(&surfaceState));
|
||||
EXPECT_EQ(SURFACE_TYPE::SURFACE_TYPE_SURFTYPE_3D, surfaceState.getSurfaceType());
|
||||
EXPECT_FALSE(surfaceState.getSurfaceArray());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user