mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 01:04:57 +08:00
performance: add new copy operations to state base address properties
Adding properties to selectively copy properties for surface state, dynamic state and binding table base addresses. Related-To: NEO-7808 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
6036735840
commit
8d983d3e7a
@@ -159,6 +159,9 @@ struct StateBaseAddressProperties {
|
||||
void copyPropertiesAll(const StateBaseAddressProperties &properties);
|
||||
void copyPropertiesStatelessMocs(const StateBaseAddressProperties &properties);
|
||||
void copyPropertiesStatelessMocsIndirectState(const StateBaseAddressProperties &properties);
|
||||
void copyPropertiesBindingTableSurfaceState(const StateBaseAddressProperties &properties);
|
||||
void copyPropertiesSurfaceState(const StateBaseAddressProperties &properties);
|
||||
void copyPropertiesDynamicState(const StateBaseAddressProperties &properties);
|
||||
|
||||
bool isDirty() const;
|
||||
void clearIsDirty();
|
||||
|
||||
@@ -505,6 +505,30 @@ void StateBaseAddressProperties::copyPropertiesStatelessMocsIndirectState(const
|
||||
this->indirectObjectSize.set(properties.indirectObjectSize.value);
|
||||
}
|
||||
|
||||
void StateBaseAddressProperties::copyPropertiesBindingTableSurfaceState(const StateBaseAddressProperties &properties) {
|
||||
this->bindingTablePoolBaseAddress.isDirty = false;
|
||||
this->surfaceStateBaseAddress.isDirty = false;
|
||||
|
||||
this->bindingTablePoolBaseAddress.set(properties.bindingTablePoolBaseAddress.value);
|
||||
this->bindingTablePoolSize.set(properties.bindingTablePoolSize.value);
|
||||
this->surfaceStateBaseAddress.set(properties.surfaceStateBaseAddress.value);
|
||||
this->surfaceStateSize.set(properties.surfaceStateSize.value);
|
||||
}
|
||||
|
||||
void StateBaseAddressProperties::copyPropertiesSurfaceState(const StateBaseAddressProperties &properties) {
|
||||
this->surfaceStateBaseAddress.isDirty = false;
|
||||
|
||||
this->surfaceStateBaseAddress.set(properties.surfaceStateBaseAddress.value);
|
||||
this->surfaceStateSize.set(properties.surfaceStateSize.value);
|
||||
}
|
||||
|
||||
void StateBaseAddressProperties::copyPropertiesDynamicState(const StateBaseAddressProperties &properties) {
|
||||
this->dynamicStateBaseAddress.isDirty = false;
|
||||
|
||||
this->dynamicStateBaseAddress.set(properties.dynamicStateBaseAddress.value);
|
||||
this->dynamicStateSize.set(properties.dynamicStateSize.value);
|
||||
}
|
||||
|
||||
bool StateBaseAddressProperties::isDirty() const {
|
||||
return globalAtomics.isDirty || statelessMocs.isDirty ||
|
||||
bindingTablePoolBaseAddress.isDirty ||
|
||||
|
||||
Reference in New Issue
Block a user