Unify mipmap layout accross platforms

- revert "Fix reported row/slicePitch for mip-maps"
- calculate mipmap offset without gmm

Change-Id: Id4802ef9624ad330e0d0f871dfa4d4fc35a7ba33
This commit is contained in:
Woloszyn, Wojciech
2018-09-04 06:25:29 -07:00
committed by sys_ocldev
parent 1b7738e0cf
commit f624ec757b
14 changed files with 126 additions and 322 deletions

View File

@@ -1204,19 +1204,14 @@ size_t Image::calculateOffsetForMapping(const MemObjOffsetArray &origin) const {
switch (imageDesc.image_type) {
case CL_MEM_OBJECT_IMAGE1D_ARRAY:
if (imageDesc.num_mip_levels <= 1) {
offset += slicePitch * origin[1];
}
offset += slicePitch * origin[1];
break;
case CL_MEM_OBJECT_IMAGE2D:
offset += rowPitch * origin[1];
break;
case CL_MEM_OBJECT_IMAGE2D_ARRAY:
case CL_MEM_OBJECT_IMAGE3D:
offset += rowPitch * origin[1];
if (imageDesc.num_mip_levels <= 1) {
offset += slicePitch * origin[2];
}
offset += rowPitch * origin[1] + slicePitch * origin[2];
break;
default:
break;

View File

@@ -170,9 +170,6 @@ class Image : public MemObj {
virtual void transformImage2dArrayTo3d(void *memory) = 0;
virtual void transformImage3dTo2dArray(void *memory) = 0;
virtual size_t getHostPtrRowPitchForMap(uint32_t mipLevel) = 0;
virtual size_t getHostPtrSlicePitchForMap(uint32_t mipLevel) = 0;
const bool isTiledImage;
bool hasSameDescriptor(const cl_image_desc &imageDesc) const;
@@ -259,8 +256,6 @@ class ImageHw : public Image {
}
}
size_t getHostPtrRowPitchForMap(uint32_t mipLevel) override;
size_t getHostPtrSlicePitchForMap(uint32_t mipLevel) override;
void setImageArg(void *memory, bool setAsMediaBlockImage, uint32_t mipLevel) override;
void setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfaceState);
void setAuxParamsForCCS(RENDER_SURFACE_STATE *surfaceState, Gmm *gmm);

View File

@@ -260,14 +260,4 @@ void ImageHw<GfxFamily>::transformImage3dTo2dArray(void *memory) {
surfaceState->setSurfaceType(SURFACE_TYPE::SURFACE_TYPE_SURFTYPE_2D);
surfaceState->setSurfaceArray(true);
}
template <typename GfxFamily>
size_t ImageHw<GfxFamily>::getHostPtrRowPitchForMap(uint32_t mipLevel) {
return getHostPtrRowPitch();
}
template <typename GfxFamily>
size_t ImageHw<GfxFamily>::getHostPtrSlicePitchForMap(uint32_t mipLevel) {
return getHostPtrSlicePitch();
}
} // namespace OCLRT