refactor: Unify bindless surface state base programming
- program BSSBA in one place when sbaProperties used Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
parent
1fba2a162e
commit
0cc8330a1a
|
@ -50,6 +50,13 @@ void StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(
|
|||
args.stateBaseAddressCmd->setSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setSurfaceStateBaseAddress(static_cast<uint64_t>(args.sbaProperties->surfaceStateBaseAddress.value));
|
||||
}
|
||||
|
||||
if (args.sbaProperties->surfaceStateBaseAddress.value != StreamProperty64::initValue) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(static_cast<uint64_t>(args.sbaProperties->surfaceStateBaseAddress.value));
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateSize(static_cast<uint32_t>(args.sbaProperties->surfaceStateSize.value));
|
||||
}
|
||||
|
||||
if (args.sbaProperties->statelessMocs.value != StreamProperty::initValue) {
|
||||
args.statelessMocsIndex = static_cast<uint32_t>(args.sbaProperties->statelessMocs.value);
|
||||
}
|
||||
|
|
|
@ -14,14 +14,6 @@ template <typename GfxFamily>
|
|||
void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
||||
StateBaseAddressHelperArgs<GfxFamily> &args) {
|
||||
|
||||
if (args.sbaProperties) {
|
||||
if (args.sbaProperties->surfaceStateBaseAddress.value != StreamProperty64::initValue) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(static_cast<uint64_t>(args.sbaProperties->surfaceStateBaseAddress.value));
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateSize(static_cast<uint32_t>(args.sbaProperties->surfaceStateSize.value));
|
||||
}
|
||||
}
|
||||
|
||||
if (!args.useGlobalHeapsBaseAddress && args.ssh) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(args.ssh->getHeapGpuBase());
|
||||
|
|
|
@ -13,14 +13,6 @@ template <typename GfxFamily>
|
|||
void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
||||
StateBaseAddressHelperArgs<GfxFamily> &args) {
|
||||
|
||||
if (args.sbaProperties) {
|
||||
if (args.sbaProperties->surfaceStateBaseAddress.value != StreamProperty64::initValue) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(static_cast<uint64_t>(args.sbaProperties->surfaceStateBaseAddress.value));
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateSize(static_cast<uint32_t>(args.sbaProperties->surfaceStateSize.value));
|
||||
}
|
||||
}
|
||||
|
||||
if (!args.useGlobalHeapsBaseAddress && args.ssh) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(args.ssh->getHeapGpuBase());
|
||||
|
|
|
@ -38,11 +38,7 @@ void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
|||
args.stateBaseAddressCmd->setGeneralStateBufferSizeModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setGeneralStateBufferSize(0xfffff);
|
||||
}
|
||||
if (args.sbaProperties->surfaceStateBaseAddress.value != StreamProperty64::initValue) {
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateBaseAddress(static_cast<uint64_t>(args.sbaProperties->surfaceStateBaseAddress.value));
|
||||
args.stateBaseAddressCmd->setBindlessSurfaceStateSize(static_cast<uint32_t>(args.sbaProperties->surfaceStateSize.value));
|
||||
}
|
||||
|
||||
if (args.sbaProperties->globalAtomics.value != StreamProperty::initValue) {
|
||||
args.useGlobalAtomics = !!args.sbaProperties->globalAtomics.value;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue