summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch')
-rw-r--r--var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch125
1 files changed, 125 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch b/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch
new file mode 100644
index 0000000000..236d591c51
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch
@@ -0,0 +1,125 @@
+diff --git a/amdocl/cl_vk_amd.hpp b/amdocl/cl_vk_amd.hpp
+new file mode 100644
+index 0000000..8b6212b
+--- /dev/null
++++ b/amdocl/cl_vk_amd.hpp
+@@ -0,0 +1,119 @@
++/* Copyright (c) 2010-present Advanced Micro Devices, Inc.
++
++Permission is hereby granted, free of charge, to any person obtaining a copy
++of this software and associated documentation files (the "Software"), to deal
++in the Software without restriction, including without limitation the rights
++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in
++all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++THE SOFTWARE. */
++
++#pragma once
++
++#include "platform/context.hpp"
++#include "platform/memory.hpp"
++
++namespace amd
++{
++ class VkObject : public InteropObject
++ {
++ protected:
++ amd::Os::FileDesc handleVk_;
++
++ public:
++ //! GLObject constructor initializes member variables
++ VkObject(
++ amd::Os::FileDesc handle
++ ) // Initialization of member variables
++
++ {
++ handleVk_ = handle;
++ }
++
++ virtual ~VkObject() {}
++ VkObject* asVkObject() { return this; }
++ amd::Os::FileDesc getVkSharedHandle() const { return handleVk_; }
++
++
++ };
++
++ class BufferVk : public Buffer, public VkObject
++ {
++ protected:
++ //! Initializes the device memory array which is nested
++ // after'BufferVk' object in memory layout.
++ void initDeviceMemory() {
++ deviceMemories_ =
++ reinterpret_cast<DeviceMemory*>(reinterpret_cast<char*>(this) + sizeof(BufferVk));
++ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory));
++ }
++ public:
++ //! BufferVk constructor just calls constructors of base classes
++ //! to pass down the parameters
++ BufferVk(
++ Context& amdContext,
++ size_t uiSizeInBytes,
++ amd::Os::FileDesc handle)
++ : // Call base classes constructors
++ Buffer(
++ amdContext,
++ 0,
++ uiSizeInBytes
++ ),
++ VkObject(
++ handle
++ )
++ {
++ setInteropObj(this);
++ }
++ virtual ~BufferVk() {}
++
++ BufferVk* asBufferVk() { return this; }
++ };
++
++ // to be modified once image requirments are known, for now, implement like buffer
++
++ class ImageVk : public Buffer, public VkObject
++ {
++ protected:
++ //! Initializes the device memory array which is nested
++ // after'ImageVk' object in memory layout.
++ void initDeviceMemory() {
++ deviceMemories_ =
++ reinterpret_cast<DeviceMemory*>(reinterpret_cast<char*>(this) + sizeof(ImageVk));
++ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory));
++ }
++ public:
++ //! ImageVk constructor just calls constructors of base classes
++ //! to pass down the parameters
++ ImageVk(
++ Context& amdContext,
++ size_t uiSizeInBytes,
++ amd::Os::FileDesc handle)
++ : // Call base classes constructors
++ Buffer(
++ amdContext,
++ 0,
++ uiSizeInBytes
++ ),
++ VkObject(
++ handle
++ )
++ {
++ setInteropObj(this);
++ }
++ virtual ~ImageVk() {}
++
++ ImageVk* asImageVk() { return this; }
++ };
++}