mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
Add readSbaBuffer() interface
Related-To: NEO-6277 Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1028295a02
commit
da982b41be
@@ -79,6 +79,7 @@ struct DebugSession : _zet_debug_session_handle_t {
|
|||||||
|
|
||||||
virtual bool isBindlessSystemRoutine();
|
virtual bool isBindlessSystemRoutine();
|
||||||
virtual bool readModuleDebugArea() = 0;
|
virtual bool readModuleDebugArea() = 0;
|
||||||
|
virtual ze_result_t readSbaBuffer(EuThread::ThreadId threadId, SbaTrackedAddresses &sbaBuffer) = 0;
|
||||||
|
|
||||||
void fillDevicesFromThread(ze_device_thread_t thread, std::vector<uint8_t> &devices);
|
void fillDevicesFromThread(ze_device_thread_t thread, std::vector<uint8_t> &devices);
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,9 @@ struct DebugSessionMock : public L0::DebugSession {
|
|||||||
ze_result_t writeRegisters(ze_device_thread_t thread, uint32_t type, uint32_t start, uint32_t count, void *pRegisterValues) override {
|
ze_result_t writeRegisters(ze_device_thread_t thread, uint32_t type, uint32_t start, uint32_t count, void *pRegisterValues) override {
|
||||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||||
}
|
}
|
||||||
|
ze_result_t readSbaBuffer(EuThread::ThreadId threadId, SbaTrackedAddresses &sbaBuffer) override {
|
||||||
|
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||||
|
}
|
||||||
void startAsyncThread() override {
|
void startAsyncThread() override {
|
||||||
asyncThreadStarted = true;
|
asyncThreadStarted = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1318,3 +1318,23 @@ HWTEST2_F(HwHelperTest, givenXeHPAndBelowPlatformPlatformWhenCheckingIfEngineTyp
|
|||||||
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||||
EXPECT_FALSE(hwHelper.isEngineTypeRemappingToHwSpecificRequired());
|
EXPECT_FALSE(hwHelper.isEngineTypeRemappingToHwSpecificRequired());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HWTEST2_F(HwHelperTest, givenAtMostGen12lpPlatformiWhenCheckingIfScratchSpaceSurfaceStateAccessibleThenFalseIsReturned, IsAtMostGen12lp) {
|
||||||
|
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||||
|
EXPECT_FALSE(hwHelper.isScratchSpaceSurfaceStateAccessible());
|
||||||
|
}
|
||||||
|
|
||||||
|
HWTEST2_F(HwHelperTest, givenAtLeastXeHpPlatformWhenCheckingIfScratchSpaceSurfaceStateAccessibleTheniTrueIsReturned, IsAtLeastXeHpCore) {
|
||||||
|
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||||
|
EXPECT_TRUE(hwHelper.isScratchSpaceSurfaceStateAccessible());
|
||||||
|
}
|
||||||
|
|
||||||
|
HWTEST_F(HwHelperTest, givenGetRenderSurfaceStateBaseAddressCalledThenCorrectValueIsReturned) {
|
||||||
|
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||||
|
|
||||||
|
RENDER_SURFACE_STATE renderSurfaceState;
|
||||||
|
uint64_t expectedBaseAddress = 0x1122334455667788;
|
||||||
|
renderSurfaceState.setSurfaceBaseAddress(expectedBaseAddress);
|
||||||
|
const auto &hwHelper = HwHelper::get(renderCoreFamily);
|
||||||
|
EXPECT_EQ(expectedBaseAddress, hwHelper.getRenderSurfaceStateBaseAddress(&renderSurfaceState));
|
||||||
|
}
|
||||||
|
|||||||
@@ -146,6 +146,9 @@ class HwHelper {
|
|||||||
virtual void adjustPreemptionSurfaceSize(size_t &csrSize) const = 0;
|
virtual void adjustPreemptionSurfaceSize(size_t &csrSize) const = 0;
|
||||||
virtual size_t getSamplerStateSize() const = 0;
|
virtual size_t getSamplerStateSize() const = 0;
|
||||||
|
|
||||||
|
virtual bool isScratchSpaceSurfaceStateAccessible() const = 0;
|
||||||
|
virtual uint64_t getRenderSurfaceStateBaseAddress(void *renderSurfaceState) const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
HwHelper() = default;
|
HwHelper() = default;
|
||||||
};
|
};
|
||||||
@@ -367,6 +370,9 @@ class HwHelperHw : public HwHelper {
|
|||||||
|
|
||||||
void adjustPreemptionSurfaceSize(size_t &csrSize) const override;
|
void adjustPreemptionSurfaceSize(size_t &csrSize) const override;
|
||||||
|
|
||||||
|
bool isScratchSpaceSurfaceStateAccessible() const override;
|
||||||
|
uint64_t getRenderSurfaceStateBaseAddress(void *renderSurfaceState) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static const AuxTranslationMode defaultAuxTranslationMode;
|
static const AuxTranslationMode defaultAuxTranslationMode;
|
||||||
HwHelperHw() = default;
|
HwHelperHw() = default;
|
||||||
|
|||||||
@@ -626,4 +626,8 @@ template <typename GfxFamily>
|
|||||||
void HwHelperHw<GfxFamily>::adjustPreemptionSurfaceSize(size_t &csrSize) const {
|
void HwHelperHw<GfxFamily>::adjustPreemptionSurfaceSize(size_t &csrSize) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename GfxFamily>
|
||||||
|
uint64_t HwHelperHw<GfxFamily>::getRenderSurfaceStateBaseAddress(void *renderSurfaceState) const {
|
||||||
|
return reinterpret_cast<typename GfxFamily::RENDER_SURFACE_STATE *>(renderSurfaceState)->getSurfaceBaseAddress();
|
||||||
|
}
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -124,4 +124,8 @@ bool HwHelperHw<GfxFamily>::additionalPipeControlArgsRequired() const {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename GfxFamily>
|
||||||
|
bool HwHelperHw<GfxFamily>::isScratchSpaceSurfaceStateAccessible() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -177,4 +177,9 @@ inline bool HwHelperHw<GfxFamily>::preferSmallWorkgroupSizeForKernel(const size_
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename GfxFamily>
|
||||||
|
bool HwHelperHw<GfxFamily>::isScratchSpaceSurfaceStateAccessible() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
Reference in New Issue
Block a user