clover/core: Support MSVC
Constructing a class where the class name is wrapped in parens doesn't work with MSVC. I see no good reason to do that so drop the parens. Also, use a generic page size helper instead of hardcoding something OS-specific. Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7680>
This commit is contained in:
parent
4cfd57dd48
commit
f88347cd22
|
@ -21,7 +21,6 @@
|
|||
//
|
||||
|
||||
#include <algorithm>
|
||||
#include <unistd.h>
|
||||
#include "core/device.hpp"
|
||||
#include "core/platform.hpp"
|
||||
#include "pipe/p_screen.h"
|
||||
|
@ -235,7 +234,9 @@ device::has_unified_memory() const {
|
|||
|
||||
size_t
|
||||
device::mem_base_addr_align() const {
|
||||
return std::max((size_t)sysconf(_SC_PAGESIZE), sizeof(cl_long) * 16);
|
||||
uint64_t page_size = 0;
|
||||
os_get_page_size(&page_size);
|
||||
return std::max(page_size, sizeof(cl_long) * 16);
|
||||
}
|
||||
|
||||
cl_device_svm_capabilities
|
||||
|
@ -345,21 +346,21 @@ std::vector<cl_name_version>
|
|||
device::supported_extensions() const {
|
||||
std::vector<cl_name_version> vec;
|
||||
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_byte_addressable_store" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_global_int32_base_atomics" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_global_int32_extended_atomics" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_local_int32_base_atomics" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_local_int32_extended_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_byte_addressable_store" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_global_int32_base_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_global_int32_extended_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_local_int32_base_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_local_int32_extended_atomics" } );
|
||||
if (has_int64_atomics()) {
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_int64_base_atomics" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_int64_extended_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_int64_base_atomics" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_int64_extended_atomics" } );
|
||||
}
|
||||
if (has_doubles())
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_fp64" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_fp64" } );
|
||||
if (has_halves())
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_fp16" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_fp16" } );
|
||||
if (svm_support())
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_arm_shared_virtual_memory" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_arm_shared_virtual_memory" } );
|
||||
return vec;
|
||||
}
|
||||
|
||||
|
@ -397,15 +398,15 @@ device::device_clc_version() const {
|
|||
std::vector<cl_name_version>
|
||||
device::opencl_c_all_versions() const {
|
||||
std::vector<cl_name_version> vec;
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "OpenCL C" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 1, 0), "OpenCL C" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "OpenCL C" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 1, 0), "OpenCL C" } );
|
||||
|
||||
if (CL_VERSION_MAJOR(clc_version) == 1 &&
|
||||
CL_VERSION_MINOR(clc_version) == 2)
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 2, 0), "OpenCL C" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 2, 0), "OpenCL C" } );
|
||||
if (CL_VERSION_MAJOR(clc_version) == 3) {
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 2, 0), "OpenCL C" } );
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(3, 0, 0), "OpenCL C" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 2, 0), "OpenCL C" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(3, 0, 0), "OpenCL C" } );
|
||||
}
|
||||
return vec;
|
||||
}
|
||||
|
@ -414,9 +415,9 @@ std::vector<cl_name_version>
|
|||
device::opencl_c_features() const {
|
||||
std::vector<cl_name_version> vec;
|
||||
|
||||
vec.push_back( (cl_name_version) {CL_MAKE_VERSION(3, 0, 0), "__opencl_c_int64" });
|
||||
vec.push_back( cl_name_version {CL_MAKE_VERSION(3, 0, 0), "__opencl_c_int64" });
|
||||
if (has_doubles())
|
||||
vec.push_back( (cl_name_version) {CL_MAKE_VERSION(3, 0, 0), "__opencl_c_fp64" });
|
||||
vec.push_back( cl_name_version {CL_MAKE_VERSION(3, 0, 0), "__opencl_c_fp64" });
|
||||
|
||||
return vec;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ std::vector<cl_name_version>
|
|||
platform::supported_extensions() const {
|
||||
std::vector<cl_name_version> vec;
|
||||
|
||||
vec.push_back( (cl_name_version){ CL_MAKE_VERSION(1, 0, 0), "cl_khr_icd" } );
|
||||
vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_icd" } );
|
||||
return vec;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue