mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
Bindless addressing support for OCL
Related-To: NEO-4607 Change-Id: Iaf4a8d45f22d134366e398a196bdd8dc906ab6ab Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
e01b9e0c86
commit
6e79105466
@@ -70,6 +70,8 @@ set(NEO_CORE_HELPERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/simd_helper.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_base_address.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_base_address_base.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_base_address_bdw.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_base_address_skl_plus.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_base_address_bdw_plus.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/state_compute_mode_helper.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/stdio.h
|
||||
|
||||
22
shared/source/helpers/state_base_address_bdw.inl
Normal file
22
shared/source/helpers/state_base_address_bdw.inl
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/state_base_address.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
||||
STATE_BASE_ADDRESS *stateBaseAddress,
|
||||
const IndirectHeap *ssh,
|
||||
bool setGeneralStateBaseAddress,
|
||||
uint64_t internalHeapBase,
|
||||
GmmHelper *gmmHelper,
|
||||
bool isMultiOsContextCapable) {
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
@@ -9,16 +9,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
||||
STATE_BASE_ADDRESS *stateBaseAddress,
|
||||
const IndirectHeap *ssh,
|
||||
bool setGeneralStateBaseAddress,
|
||||
uint64_t internalHeapBase,
|
||||
GmmHelper *gmmHelper,
|
||||
bool isMultiOsContextCapable) {
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void StateBaseAddressHelper<GfxFamily>::programBindingTableBaseAddress(LinearStream &commandStream, const IndirectHeap &ssh, GmmHelper *gmmHelper) {
|
||||
}
|
||||
|
||||
29
shared/source/helpers/state_base_address_skl_plus.inl
Normal file
29
shared/source/helpers/state_base_address_skl_plus.inl
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/state_base_address.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
|
||||
STATE_BASE_ADDRESS *stateBaseAddress,
|
||||
const IndirectHeap *ssh,
|
||||
bool setGeneralStateBaseAddress,
|
||||
uint64_t internalHeapBase,
|
||||
GmmHelper *gmmHelper,
|
||||
bool isMultiOsContextCapable) {
|
||||
|
||||
if (DebugManager.flags.UseBindlessBuffers.get() != 0 || DebugManager.flags.UseBindlessImages.get() != 0) {
|
||||
stateBaseAddress->setBindlessSurfaceStateBaseAddressModifyEnable(true);
|
||||
stateBaseAddress->setBindlessSurfaceStateBaseAddress(ssh->getHeapGpuBase());
|
||||
uint32_t size = uint32_t(ssh->getMaxAvailableSpace() / 64) - 1;
|
||||
stateBaseAddress->setBindlessSurfaceStateSize(size);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
Reference in New Issue
Block a user