P4 to Git Change 1979444 by gandryey@gera-win10 on 2019/08/07 10:43:18

SWDEV-197488 - [Navi10][Navi14][19.30][CopySurfaceRegion] CopySurfaceRegion Failing Multiple Tests
	- Try to optimize the condition for image buffer workaround. The new logic will attempt to validate the custom pitch with the HW requirement and use the backing store only if it doesn't match

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.hpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#76 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#29 edit
Tento commit je obsažen v:
foreman
2019-08-07 10:48:18 -04:00
rodič a878c8b12f
revize 1ef3eda775
4 změnil soubory, kde provedl 37 přidání a 14 odebrání
+4 -4
Zobrazit soubor
@@ -421,7 +421,7 @@ void Resource::memTypeToHeap(Pal::GpuMemoryCreateInfo* createInfo) {
}
// ================================================================================================
bool Resource::CreateImage(CreateParams* params) {
bool Resource::CreateImage(CreateParams* params, bool forceLinear) {
Pal::Result result;
Pal::SubresId ImgSubresId = {Pal::ImageAspect::Color, 0, 0};
Pal::SubresRange ImgSubresRange = {ImgSubresId, 1, 1};
@@ -542,7 +542,7 @@ bool Resource::CreateImage(CreateParams* params) {
imgCreateInfo.mipLevels = (desc_.mipLevels_) ? desc_.mipLevels_ : 1;
imgCreateInfo.samples = 1;
imgCreateInfo.fragments = 1;
Pal::ImageTiling tiling = Pal::ImageTiling::Optimal;
Pal::ImageTiling tiling = forceLinear ? Pal::ImageTiling::Linear : Pal::ImageTiling::Optimal;
uint32_t rowPitch = 0;
if (((memoryType() == Persistent) && dev().settings().linearPersistentImage_) ||
@@ -1056,7 +1056,7 @@ bool Resource::CreateSvm(CreateParams* params, Pal::gpusize svmPtr) {
}
// ================================================================================================
bool Resource::create(MemoryType memType, CreateParams* params) {
bool Resource::create(MemoryType memType, CreateParams* params, bool forceLinear) {
bool imageCreateView = false;
bool foundCalRef = false;
bool viewDefined = false;
@@ -1142,7 +1142,7 @@ bool Resource::create(MemoryType memType, CreateParams* params) {
}
if (!desc_.buffer_) {
return CreateImage(params);
return CreateImage(params, forceLinear);
}
Pal::gpusize svmPtr = 0;