mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 09:58:55 +08:00
Additional method to disable compression
Resolves: NEO-5828 Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
14bc9fb0bf
commit
058679b5c2
@@ -125,7 +125,8 @@ void Gmm::setupImageResourceParams(ImageInfo &imgInfo) {
|
||||
}
|
||||
|
||||
void Gmm::applyAuxFlagsForBuffer(bool preferRenderCompression) {
|
||||
bool allowRenderCompression = HwHelper::renderCompressedBuffersSupported(*clientContext->getHardwareInfo()) &&
|
||||
auto hardwareInfo = clientContext->getHardwareInfo();
|
||||
bool allowRenderCompression = HwHelper::renderCompressedBuffersSupported(*hardwareInfo) &&
|
||||
preferRenderCompression;
|
||||
|
||||
if (allowRenderCompression) {
|
||||
@@ -134,6 +135,7 @@ void Gmm::applyAuxFlagsForBuffer(bool preferRenderCompression) {
|
||||
resourceParams.Flags.Gpu.UnifiedAuxSurface = 1;
|
||||
isRenderCompressed = true;
|
||||
}
|
||||
HwHelper::get(hardwareInfo->platform.eDisplayCoreFamily).applyAdditionalCompressionSettings(*this, !isRenderCompressed);
|
||||
}
|
||||
|
||||
void Gmm::queryImageParams(ImageInfo &imgInfo) {
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace NEO {
|
||||
class GmmHelper;
|
||||
class GraphicsAllocation;
|
||||
class TagAllocatorBase;
|
||||
class Gmm;
|
||||
struct AllocationData;
|
||||
struct AllocationProperties;
|
||||
struct EngineControl;
|
||||
@@ -153,6 +154,7 @@ class HwHelper {
|
||||
size_t initialTagCount, CommandStreamReceiverType csrType,
|
||||
DeviceBitfield deviceBitfield) const = 0;
|
||||
virtual size_t getTimestampPacketAllocatorAlignment() const = 0;
|
||||
virtual void applyAdditionalCompressionSettings(Gmm &gmm, bool isNotCompressed) const = 0;
|
||||
|
||||
static uint32_t getSubDevicesCount(const HardwareInfo *pHwInfo);
|
||||
static uint32_t getEnginesCount(const HardwareInfo &hwInfo);
|
||||
@@ -381,6 +383,8 @@ class HwHelperHw : public HwHelper {
|
||||
DeviceBitfield deviceBitfield) const override;
|
||||
size_t getTimestampPacketAllocatorAlignment() const override;
|
||||
|
||||
void applyAdditionalCompressionSettings(Gmm &gmm, bool isNotCompressed) const override;
|
||||
|
||||
protected:
|
||||
LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const override;
|
||||
|
||||
|
||||
@@ -641,4 +641,7 @@ size_t HwHelperHw<GfxFamily>::getPreemptionAllocationAlignment() const {
|
||||
return 256 * MemoryConstants::kiloByte;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void HwHelperHw<GfxFamily>::applyAdditionalCompressionSettings(Gmm &gmm, bool isNotCompressed) const {}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -40,12 +40,6 @@ void HwInfoConfigHw<gfxProduct>::adjustPlatformForProductFamily(HardwareInfo *hw
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
void HwInfoConfigHw<gfxProduct>::adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) {}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
void HwInfoConfigHw<gfxProduct>::enableRenderCompression(HardwareInfo *hwInfo) {
|
||||
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.ftrE2ECompression;
|
||||
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.ftrE2ECompression;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
void HwInfoConfigHw<gfxProduct>::enableBlitterOperationsSupport(HardwareInfo *hwInfo) {
|
||||
hwInfo->capabilityTable.blitterOperationsSupported = HwHelper::get(hwInfo->platform.eRenderCoreFamily).obtainBlitterPreference(*hwInfo);
|
||||
|
||||
@@ -19,4 +19,10 @@ uint64_t HwInfoConfigHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
void HwInfoConfigHw<gfxProduct>::enableRenderCompression(HardwareInfo *hwInfo) {
|
||||
hwInfo->capabilityTable.ftrRenderCompressedImages = hwInfo->featureTable.ftrE2ECompression;
|
||||
hwInfo->capabilityTable.ftrRenderCompressedBuffers = hwInfo->featureTable.ftrE2ECompression;
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
Reference in New Issue
Block a user