Adding support for get_image_num_mip_levels

* patch token decoding
* crossthread data patching

* additionally, fixing nasty ODR violation in VA tests
  (note : ODR = One Definition Rule)

Change-Id: I9803ed599826c97359349d2b8fa0d86e46cb33ea
This commit is contained in:
Chodor, Jaroslaw
2018-04-05 17:14:12 +02:00
committed by sys_ocldev
parent f6a9e3f6f3
commit 614b69a3bf
12 changed files with 283 additions and 199 deletions

View File

@@ -24,6 +24,7 @@
#include "runtime/mem_obj/image.h"
#include "unit_tests/mocks/mock_buffer.h"
#include "unit_tests/mocks/mock_gmm.h"
#include "unit_tests/mocks/mock_image.h"
#include "gtest/gtest.h"
@@ -107,40 +108,17 @@ struct MockMipMapGmmResourceInfo : GmmResourceInfo {
}
};
struct MockImage : public OCLRT::Image {
using Image::imageDesc;
using Image::graphicsAllocation;
struct MockImage : MockImageBase {
MockGmm mockGmm;
MockImage() : Image(nullptr, cl_mem_flags{}, 0, nullptr, cl_image_format{},
cl_image_desc{}, false, new MockGraphicsAllocation(nullptr, 0), false, false,
0, 0, SurfaceFormatInfo{}, nullptr) {
MockImage() : MockImageBase() {
graphicsAllocation->gmm = &mockGmm;
mockGmm.gmmResourceInfo.reset(new MockMipMapGmmResourceInfo());
}
~MockImage() override {
delete this->graphicsAllocation;
}
MockGraphicsAllocation *getAllocation() {
return static_cast<MockGraphicsAllocation *>(graphicsAllocation);
}
MockMipMapGmmResourceInfo *getResourceInfo() {
return static_cast<MockMipMapGmmResourceInfo *>(mockGmm.gmmResourceInfo.get());
}
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel) override {
}
void setMediaImageArg(void *memory) override {
}
void setMediaSurfaceRotation(void *memory) override {
}
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {
}
void transformImage2dArrayTo3d(void *memory) override {}
void transformImage3dTo2dArray(void *memory) override {}
};
TEST(MipmapHelper, givenImageWithoutMipLevelsWhenIsMipMappedIsCalledThenFalseIsReturned) {