P4 to Git Change 1275745 by gujin@gujin-sc-win on 2016/06/02 13:34:16

SWDEV-76911 - Set output pipeline of multi-shader compilation in the same way driver sets. Fill output shader pointers only if they will be generated based on the input shaders, otherwise NULL.

	ReviewBoardURL = http://dxreview.amd.com/r/20059/

Affected files ...

... //depot/stg/sc/Src/Dev/TestEngine.cpp#512 edit


[ROCm/clr commit: 610ee40c74]
Этот коммит содержится в:
foreman
2016-06-02 14:26:40 -04:00
родитель 6f4339f096
Коммит 1b66dc1641
5 изменённых файлов: 32 добавлений и 63 удалений
-12
Просмотреть файл
@@ -24,10 +24,6 @@
#include "device/device.hpp"
/* The pixel internal format for DOPP texture defined in gl_enum.h */
#define GL_BGR8_ATI 0x8083
#define GL_BGRA8_ATI 0x8088
#include <cstring>
#include <vector>
@@ -1089,14 +1085,6 @@ CL_FLOAT
switch(gliInternalFormat)
{
case GL_BGR8_ATI:
case GL_BGRA8_ATI:
pclImageFormat->image_channel_order = CL_BGRA;
pclImageFormat->image_channel_data_type = CL_UNORM_INT8;//CL_UNSIGNED_INT8;
*piBytesPerPixel = 4;
bRetVal = true;
break;
case GL_ALPHA8:
pclImageFormat->image_channel_order = CL_A;
pclImageFormat->image_channel_data_type = CL_UNORM_INT8;//CL_UNSIGNED_INT8;
+32 -42
Просмотреть файл
@@ -1041,63 +1041,53 @@ RUNTIME_ENTRY(cl_int, clSetKernelExecInfo, (
return CL_INVALID_KERNEL;
}
if (param_name != CL_KERNEL_EXEC_INFO_SVM_PTRS &&
param_name != CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM) {
return CL_INVALID_VALUE;
}
if (param_value == NULL) {
return CL_INVALID_VALUE;
}
const amd::Kernel* amdKernel = as_amd(kernel);
switch (param_name) {
case CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM:
if (param_name == CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM) {
if (param_value_size != sizeof(cl_bool)) {
return CL_INVALID_VALUE;
}
else {
const bool flag = *(static_cast<const bool*>(param_value));
const amd::Context* amdContext = &amdKernel->program().context();
bool foundFineGrainedSystemDevice = false;
const std::vector<amd::Device*>& devices = amdContext->devices();
std::vector<amd::Device*>::const_iterator it;
for (it = devices.begin(); it != devices.end(); ++it) {
if ((*it)->info().svmCapabilities_ &
CL_DEVICE_SVM_FINE_GRAIN_SYSTEM) {
foundFineGrainedSystemDevice = true;
break;
}
}
if (flag && !foundFineGrainedSystemDevice) {
return CL_INVALID_OPERATION;
}
amdKernel->parameters().setSvmSystemPointersSupport(flag ? FGS_YES : FGS_NO);
const bool flag = *(static_cast<const bool*>(param_value));
const amd::Context* amdContext = &amdKernel->program().context();
bool foundFineGrainedSystemDevice = false;
const std::vector<amd::Device*>& devices = amdContext->devices();
std::vector<amd::Device*>::const_iterator it;
for (it = devices.begin(); it != devices.end(); ++it) {
if ((*it)->info().svmCapabilities_ &
CL_DEVICE_SVM_FINE_GRAIN_SYSTEM) {
foundFineGrainedSystemDevice = true;
break;
}
}
break;
case CL_KERNEL_EXEC_INFO_SVM_PTRS:
if (flag && !foundFineGrainedSystemDevice) {
return CL_INVALID_OPERATION;
}
amdKernel->parameters().setSvmSystemPointersSupport(flag ? FGS_YES : FGS_NO);
}
else {
if (param_value_size == 0 || !amd::isMultipleOf(param_value_size,
sizeof(void*))) {
sizeof(void*))) {
return CL_INVALID_VALUE;
}
else {
size_t count = param_value_size/sizeof(void*);
void* const* execInfoArray = reinterpret_cast<void* const*>(param_value);
for (size_t i = 0; i < count; i++) {
if (NULL == execInfoArray[i]) {
return CL_INVALID_VALUE;
}
size_t count = param_value_size/sizeof(void*);
void* const* execInfoArray = reinterpret_cast<void* const*>(param_value);
for (size_t i = 0; i < count; i++) {
if (NULL == execInfoArray[i]) {
return CL_INVALID_VALUE;
}
amdKernel->parameters().addSvmPtr(execInfoArray, count);
}
break;
case CL_KERNEL_EXEC_INFO_NEW_VCOP_AMD:
if (param_value_size != sizeof(cl_bool)) {
return CL_INVALID_VALUE;
}
else {
const bool newVcopFlag = (*(reinterpret_cast<const cl_bool*>(param_value))) ? true: false;
amdKernel->parameters().setExecNewVcop(newVcopFlag);
}
break;
default:
return CL_INVALID_VALUE;
amdKernel->parameters().addSvmPtr(execInfoArray, count);
}
return CL_SUCCESS;
-3
Просмотреть файл
@@ -266,9 +266,6 @@ typedef cl_int (CL_CALLBACK * intercept_callback_fn)(cl_event, cl_int *);
**************************/
#define CL_QUEUE_THREAD_HANDLE_AMD 0x403E
/* cl_kernel_exec_info for DVR DOPP texture support */
#define CL_KERNEL_EXEC_INFO_NEW_VCOP_AMD 0x4120
/***************************************
* cl-gl depth buffer interop extension *
****************************************/
-3
Просмотреть файл
@@ -230,9 +230,6 @@ typedef cl_int (CL_CALLBACK * intercept_callback_fn)(cl_event, cl_int *);
**************************/
#define CL_QUEUE_THREAD_HANDLE_AMD 0x403E
/* cl_kernel_exec_info for DVR DOPP texture support */
#define CL_KERNEL_EXEC_INFO_NEW_VCOP_AMD 0x4120
/***************************************
* cl-gl depth buffer interop extension *
****************************************/
-3
Просмотреть файл
@@ -229,9 +229,6 @@ typedef cl_int (CL_CALLBACK * intercept_callback_fn)(cl_event, cl_int *);
**************************/
#define CL_QUEUE_THREAD_HANDLE_AMD 0x403E
/* cl_kernel_exec_info for DVR DOPP texture support */
#define CL_KERNEL_EXEC_INFO_NEW_VCOP_AMD 0x4120
/***************************************
* cl-gl depth buffer interop extension *
****************************************/