P4 to Git Change 1172127 by dhirajk@dhirajk_fl-dhirajk-tst on 2015/07/20 16:34:29
EPR #394700 - SubAllocation Scheme for ConstantBuffers Implemented in GLL.
This CL introduces sub-allocation for constant buffer for all Asics and currently supported by GLL, it can easily be opted in by OpenCL, OES as well.
OpenCL changes for Sub-allocation scheme for constantbuffers. For more info please see CL#1172125
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#75 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#126 edit
[ROCm/clr commit: 05f236ee54]
Cette révision appartient à :
@@ -131,6 +131,7 @@ CALGSLContext::open(
|
||||
|
||||
m_cs->setRenderState(m_rs);
|
||||
m_rs->setCurrentFrameBufferObject(m_cs, m_fb);
|
||||
m_cs->createSubAllocDesc();
|
||||
|
||||
//
|
||||
//
|
||||
@@ -265,6 +266,7 @@ CALGSLContext::close(gsl::gsAdaptor* native)
|
||||
|
||||
m_cs->destroyFrameBuffer(m_fb);
|
||||
m_cs->destroyRenderState(m_rs);
|
||||
m_cs->destroySubAllocDesc();
|
||||
|
||||
m_rs = 0;
|
||||
m_fb = 0;
|
||||
@@ -319,7 +321,7 @@ CALGSLContext::setConstantBuffer(uint32 physUnit, gslMemObject mem, uint32 offse
|
||||
m_rs->setConstantBufferObject(GSL_COMPUTE_PROGRAM, m_constantBuffers[physUnit], physUnit);
|
||||
}
|
||||
|
||||
return m_constantBuffers[physUnit]->SetMemory(m_cs, mem, static_cast<mcoffset>(offset), (uint32)size);
|
||||
return m_constantBuffers[physUnit]->bindMemory(m_cs, mem, static_cast<mcoffset>(offset), (uint32)size);
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
@@ -331,6 +331,7 @@ CALGSLDevice::close()
|
||||
|
||||
m_cs->setRenderState(0);
|
||||
m_cs->destroyRenderState(m_rs);
|
||||
m_cs->destroySubAllocDesc();
|
||||
m_rs = 0;
|
||||
|
||||
m_adp->deleteContext(m_cs);
|
||||
@@ -631,6 +632,8 @@ CALGSLDevice::PerformFullInitialization_int()
|
||||
|
||||
m_cs->Flush();
|
||||
|
||||
m_cs->createSubAllocDesc();
|
||||
|
||||
m_mapQuery = m_cs->createQuery(GSL_SYNC_ATI);
|
||||
m_mapDMAQuery = m_cs->createQuery(GSL_DRMDMA_SYNC_ATI);
|
||||
m_mapUVDQuery = m_cs->createQuery(GSL_UVD_SYNC_ATI);
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur