P4 to Git Change 1329590 by gandryey@gera-w8 on 2016/10/20 18:27:28

SWDEV-86035 - Add PAL backend to OpenCL
	- Disable data segment load for internal blit kernels. It should affect V2 binaries only

	http://ocltc.amd.com/reviews/r/11630/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#7 edit
Bu işleme şunda yer alıyor:
foreman
2016-10-20 19:02:38 -04:00
ebeveyn 134c92d3ef
işleme abe89a3d9c
2 değiştirilmiş dosya ile 18 ekleme ve 6 silme
+8 -5
Dosyayı Görüntüle
@@ -28,7 +28,7 @@ HSAILProgram::HSAILProgram(Device& device)
, rawBinary_(nullptr)
, kernels_(nullptr)
, maxScratchRegs_(0)
, isNull_(false)
, flags_(0)
, executable_(nullptr)
, loaderContext_(this)
{
@@ -48,7 +48,7 @@ HSAILProgram::HSAILProgram(NullDevice& device)
, rawBinary_(nullptr)
, kernels_(nullptr)
, maxScratchRegs_(0)
, isNull_(true)
, flags_(0)
, executable_(nullptr)
, loaderContext_(this)
{
@@ -442,6 +442,9 @@ HSAILProgram::linkImpl(amd::option::Options* options)
aclType continueCompileFrom = ACL_TYPE_LLVMIR_BINARY;
bool finalize = true;
bool hsaLoad = true;
internal_ = (compileOptions_.find("-cl-internal-kernel") !=
std::string::npos) ? true : false;
// If !binaryElf_ then program must have been created using clCreateProgramWithBinary
if (!binaryElf_) {
continueCompileFrom = getNextCompilationStageFromBinary(options);
@@ -911,7 +914,7 @@ void* ORCAHSALoaderContext::GpuMemAlloc(size_t size, size_t align, bool zero) {
assert(size);
assert(align);
assert(sizeof(void*) == 8 || sizeof(void*) == 4);
if (program_->isNull()) {
if (program_->isNull() || program_->isInternal()) {
return new char[size];
}
@@ -937,7 +940,7 @@ bool ORCAHSALoaderContext::GpuMemCopy(void *dst, size_t offset, const void *src,
if (0 == size) {
return true;
}
if (program_->isNull()) {
if (program_->isNull() || program_->isInternal()) {
memcpy(reinterpret_cast<address>(dst) + offset, src, size);
return true;
}
@@ -949,7 +952,7 @@ bool ORCAHSALoaderContext::GpuMemCopy(void *dst, size_t offset, const void *src,
void ORCAHSALoaderContext::GpuMemFree(void *ptr, size_t size)
{
if (program_->isNull()) {
if (program_->isNull() || program_->isInternal()) {
delete[] reinterpret_cast<char*>(ptr);
}
else {