From de605c0407fc8f0cb305474f4d241cd8b68f6796 Mon Sep 17 00:00:00 2001 From: Lakhan Singh Date: Tue, 12 Jun 2018 15:22:05 +0530 Subject: [PATCH 01/77] [GETandALGN]: Get channel and alignment details --- tests/src/texture/hipGetAlgntoffset2D.cpp | 98 +++++++++++++++ tests/src/texture/hipGetChanDesc.cpp | 139 ++++++++++++++++++++++ 2 files changed, 237 insertions(+) create mode 100644 tests/src/texture/hipGetAlgntoffset2D.cpp create mode 100644 tests/src/texture/hipGetChanDesc.cpp diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp new file mode 100644 index 0000000000..66f60a4eec --- /dev/null +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -0,0 +1,98 @@ +/* +Copyright (c) 2015-2017 Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ +#include +#include +#include +#include + +#include +#include "test_common.h" + +using namespace std; +#define HIP_ENABLE_PRINTF +#define R 8 //rows, height +#define C 8 //columns, width + + +texture tex; + +bool testResult = true; + +void runTest(void); + +int main(int argc, char** argv) { + runTest(); + + if (testResult) { + passed(); + } else { + exit(EXIT_FAILURE); + } +} + + +void runTest() +{ + +string out; +int val[R][C],i,j; +size_t offset; + +for(i=0;i +#include +#include + +#include +#include "test_common.h" + +using namespace std; +#define R 8 //rows, height +#define C 8 //columns, width + + +texture tex; + +bool testResult = true; + +void runTest(void); + +int main(int argc, char** argv) { + runTest(); + + if (testResult) { + passed(); + } else { + exit(EXIT_FAILURE); + } +} + + +void runTest() +{ + +string out; +int val[R][C],i,j; + +for(i=0;i Date: Fri, 15 Jun 2018 11:30:02 +0530 Subject: [PATCH 02/77] Made changes as suggested. --- tests/src/texture/hipGetAlgntoffset2D.cpp | 28 ++------ tests/src/texture/hipGetChanDesc.cpp | 87 ++--------------------- 2 files changed, 14 insertions(+), 101 deletions(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index 66f60a4eec..ead492dbfc 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2015-2017 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2015-Present Advanced Micro Devices, Inc. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,16 +25,10 @@ THE SOFTWARE. * RUN: %t * HIT_END */ -#include -#include -#include -#include - #include #include "test_common.h" using namespace std; -#define HIP_ENABLE_PRINTF #define R 8 //rows, height #define C 8 //columns, width @@ -59,7 +53,6 @@ int main(int argc, char** argv) { void runTest() { -string out; int val[R][C],i,j; size_t offset; @@ -73,26 +66,19 @@ for(i=0;i -#include -#include #include #include "test_common.h" @@ -36,9 +33,6 @@ using namespace std; #define R 8 //rows, height #define C 8 //columns, width - -texture tex; - bool testResult = true; void runTest(void); @@ -57,83 +51,16 @@ int main(int argc, char** argv) { void runTest() { -string out; -int val[R][C],i,j; - -for(i=0;i Date: Wed, 11 Jul 2018 11:51:08 +0530 Subject: [PATCH 03/77] Update hipGetAlgntoffset2D.cpp --- tests/src/texture/hipGetAlgntoffset2D.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index ead492dbfc..34376a0a76 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -37,10 +37,10 @@ texture tex; bool testResult = true; -void runTest(void); +bool runTest(void); int main(int argc, char** argv) { - runTest(); + testResult=runTest(); if (testResult) { passed(); @@ -50,7 +50,7 @@ int main(int argc, char** argv) { } -void runTest() +bool runTest() { int val[R][C],i,j; @@ -81,4 +81,5 @@ HIPCHECK(hipGetTextureAlignmentOffset(&offset,&tex)); HIPCHECK(hipUnbindTexture(&tex)); HIPCHECK(hipFreeArray(hipArray)); +return testResult; } From 70579414318348d77b22b272667a52414d26b3fb Mon Sep 17 00:00:00 2001 From: lthakur Date: Wed, 11 Jul 2018 11:53:16 +0530 Subject: [PATCH 04/77] Update hipGetChanDesc.cpp --- tests/src/texture/hipGetChanDesc.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/src/texture/hipGetChanDesc.cpp b/tests/src/texture/hipGetChanDesc.cpp index a3e8c7c3e7..254392ffd2 100644 --- a/tests/src/texture/hipGetChanDesc.cpp +++ b/tests/src/texture/hipGetChanDesc.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp + * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc * RUN: %t * HIT_END */ @@ -35,10 +35,10 @@ using namespace std; bool testResult = true; -void runTest(void); +bool runTest(void); int main(int argc, char** argv) { - runTest(); + testResult=runTest(); if (testResult) { passed(); @@ -48,7 +48,7 @@ int main(int argc, char** argv) { } -void runTest() +bool runTest() { hipChannelFormatDesc chan_test,chan_desc=hipCreateChannelDesc(32,0,0,0,hipChannelFormatKindSigned); @@ -63,4 +63,5 @@ else testResult=false; HIPCHECK(hipFreeArray(hipArray)); +return testResult; } From db437af69366010119ebd91115f4e6b6825dcbbd Mon Sep 17 00:00:00 2001 From: lthakur Date: Wed, 11 Jul 2018 11:54:05 +0530 Subject: [PATCH 05/77] Update hipGetAlgntoffset2D.cpp --- tests/src/texture/hipGetAlgntoffset2D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index 34376a0a76..b1ab647755 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp + * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc * RUN: %t * HIT_END */ From bfd99f8af790fb8a5b009107d547235c1047c99a Mon Sep 17 00:00:00 2001 From: lthakur Date: Wed, 11 Jul 2018 15:23:21 +0530 Subject: [PATCH 06/77] Update hipGetAlgntoffset2D.cpp --- tests/src/texture/hipGetAlgntoffset2D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index b1ab647755..5b6ddc3974 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc + * BUILD: %t %s ../test_common.cpp * RUN: %t * HIT_END */ From 429046edef919ab94918b50db1304c9e4e459253 Mon Sep 17 00:00:00 2001 From: lthakur Date: Wed, 11 Jul 2018 15:24:00 +0530 Subject: [PATCH 07/77] Update hipGetChanDesc.cpp --- tests/src/texture/hipGetChanDesc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/texture/hipGetChanDesc.cpp b/tests/src/texture/hipGetChanDesc.cpp index 254392ffd2..8a72f14829 100644 --- a/tests/src/texture/hipGetChanDesc.cpp +++ b/tests/src/texture/hipGetChanDesc.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc + * BUILD: %t %s ../test_common.cpp * RUN: %t * HIT_END */ From fa36c49c81fb9b8299e9cce55e44d8e1344db365 Mon Sep 17 00:00:00 2001 From: lthakur Date: Tue, 17 Jul 2018 10:32:30 +0530 Subject: [PATCH 08/77] Removed unused ,chan_test, variable. --- tests/src/texture/hipGetAlgntoffset2D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index 5b6ddc3974..a164222e8c 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -63,7 +63,7 @@ for(i=0;i Date: Tue, 17 Jul 2018 13:35:22 +0530 Subject: [PATCH 09/77] Update hipGetAlgntoffset2D.cpp Removed bool variable 'testResult' from global scope and confined it to the function. --- tests/src/texture/hipGetAlgntoffset2D.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index a164222e8c..213c49caaa 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -35,12 +35,10 @@ using namespace std; texture tex; -bool testResult = true; - bool runTest(void); int main(int argc, char** argv) { - testResult=runTest(); + bool testResult=runTest(); if (testResult) { passed(); @@ -81,5 +79,5 @@ HIPCHECK(hipGetTextureAlignmentOffset(&offset,&tex)); HIPCHECK(hipUnbindTexture(&tex)); HIPCHECK(hipFreeArray(hipArray)); -return testResult; +return true; } From a185e8c1f969b98a5f47fa354c55d8cd19e6cc9c Mon Sep 17 00:00:00 2001 From: lthakur Date: Tue, 17 Jul 2018 13:37:08 +0530 Subject: [PATCH 10/77] Update hipGetAlgntoffset2D.cpp Removed unwanted space. --- tests/src/texture/hipGetAlgntoffset2D.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index 213c49caaa..2343d7a7fb 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -32,7 +32,6 @@ using namespace std; #define R 8 //rows, height #define C 8 //columns, width - texture tex; bool runTest(void); @@ -47,10 +46,8 @@ int main(int argc, char** argv) { } } - bool runTest() { - int val[R][C],i,j; size_t offset; @@ -59,10 +56,7 @@ for(i=0;i Date: Tue, 17 Jul 2018 13:40:54 +0530 Subject: [PATCH 11/77] Update hipGetChanDesc.cpp Removed bool variable 'testResult' from global scope and confined it to the function. --- tests/src/texture/hipGetChanDesc.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tests/src/texture/hipGetChanDesc.cpp b/tests/src/texture/hipGetChanDesc.cpp index 8a72f14829..9034668ccf 100644 --- a/tests/src/texture/hipGetChanDesc.cpp +++ b/tests/src/texture/hipGetChanDesc.cpp @@ -33,12 +33,10 @@ using namespace std; #define R 8 //rows, height #define C 8 //columns, width -bool testResult = true; - bool runTest(void); int main(int argc, char** argv) { - testResult=runTest(); + bool testResult=runTest(); if (testResult) { passed(); @@ -47,12 +45,10 @@ int main(int argc, char** argv) { } } - bool runTest() { - +bool testResult=true; hipChannelFormatDesc chan_test,chan_desc=hipCreateChannelDesc(32,0,0,0,hipChannelFormatKindSigned); - hipArray *hipArray; HIPCHECK(hipMallocArray(&hipArray, &chan_desc,C,R,0)); HIPCHECK(hipGetChannelDesc(&chan_test,hipArray)); From 865b01541063b27a4ba1261e063f6ab63c607f31 Mon Sep 17 00:00:00 2001 From: Jorghi12 Date: Mon, 23 Jul 2018 18:16:00 -0400 Subject: [PATCH 12/77] Fixing a HIP bug that causes DEBUG symbols to be dropped. I've noticed that in the generated makefiles, we'd have if(NOT build_configuration) set(build_configuration Debug) endif() However, only definitions with all capitals are provided. e.g. set(HIP_HCC_FLAGS_DEBUG -g) This is because of lines 442 to 448. We capitalize the configuration ${config_upper}. This PR fixes this bug. --- cmake/FindHIP.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake index 9a1a285921..ec2c98b642 100644 --- a/cmake/FindHIP.cmake +++ b/cmake/FindHIP.cmake @@ -380,7 +380,7 @@ endmacro() ############################################################################### macro(HIP_PREPARE_TARGET_COMMANDS _target _format _generated_files _source_files) set(_hip_flags "") - set(_hip_build_configuration "${CMAKE_BUILD_TYPE}") + string(TOUPPER _hip_build_configuration "${CMAKE_BUILD_TYPE}") if(HIP_HOST_COMPILATION_CPP) set(HIP_C_OR_CXX CXX) else() From 36c767029320e3d1eda81a4f5bb5fb2b0ff34791 Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Wed, 25 Jul 2018 15:32:14 +0530 Subject: [PATCH 13/77] [FindHIP] Remove rdynamic from CMAKE_SHARED_LIBRARY_LINK_HIP_FLAGS CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS contains -rdynamic which does not go well with nvcc Change-Id: I10e6d21553de0e43c6a7ae5fb3ec2418087959ff --- cmake/FindHIP.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake index 9a1a285921..c3f7616712 100644 --- a/cmake/FindHIP.cmake +++ b/cmake/FindHIP.cmake @@ -33,7 +33,7 @@ set(CMAKE_HIP_ARCHIVE_FINISH ${CMAKE_CXX_ARCHIVE_FINISH}) set(CMAKE_SHARED_LIBRARY_SONAME_HIP_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG}) set(CMAKE_SHARED_LIBRARY_CREATE_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}) set(CMAKE_SHARED_LIBRARY_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) -set(CMAKE_SHARED_LIBRARY_LINK_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}) +#set(CMAKE_SHARED_LIBRARY_LINK_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}) set(CMAKE_SHARED_LIBRARY_RUNTIME_HIP_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG}) set(CMAKE_SHARED_LIBRARY_RUNTIME_HIP_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP}) set(CMAKE_SHARED_LIBRARY_LINK_STATIC_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_STATIC_CXX_FLAGS}) From 8c50bcfdab55884829aa30e41713b6bf2361a49f Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 25 Jul 2018 19:52:19 +0000 Subject: [PATCH 14/77] Enable HIP texture functions with HIP vector types Include texture_functions.h on HIP-Clang path. Use HIP vector types instead of hc::short_vectors for texture_functions, and remove HCC headers. --- include/hip/hcc_detail/hip_runtime.h | 2 +- include/hip/hcc_detail/texture_functions.h | 2638 ++++++++++---------- 2 files changed, 1330 insertions(+), 1310 deletions(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index c2ae6e8e4f..075a8e377a 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -110,9 +110,9 @@ extern int HIP_TRACE_API; #include #include #include +#include #if __HCC__ #include -#include #endif // __HCC__ // TODO-HCC remove old definitions ; ~1602 hcc supports __HCC_ACCELERATOR__ define. diff --git a/include/hip/hcc_detail/texture_functions.h b/include/hip/hcc_detail/texture_functions.h index 999f97e65e..0c221c1997 100644 --- a/include/hip/hcc_detail/texture_functions.h +++ b/include/hip/hcc_detail/texture_functions.h @@ -23,14 +23,13 @@ THE SOFTWARE. #ifndef HIP_INCLUDE_HIP_HCC_DETAIL_TEXTURE_FUNCTIONS_H #define HIP_INCLUDE_HIP_HCC_DETAIL_TEXTURE_FUNCTIONS_H -#include -#include +#include #include union TData { - hc::short_vector::float4::vector_value_type f; - hc::short_vector::int4::vector_value_type i; - hc::short_vector::uint4::vector_value_type u; + float4 f; + int4 i; + uint4 u; }; #define __TEXTURE_FUNCTIONS_DECL__ static __inline__ __device__ @@ -153,91 +152,112 @@ union TData { #define TEXTURE_RETURN_FLOAT_XYZW return make_float4(texel.f.x, texel.f.y, texel.f.z, texel.f.w); extern "C" { -hc::short_vector::float4::vector_value_type __ockl_image_sample_1D(unsigned int ADDRESS_SPACE_CONSTANT* i, - unsigned int ADDRESS_SPACE_CONSTANT* s, - float c)[[hc]]; -hc::short_vector::float4::vector_value_type __ockl_image_sample_1Da( +__device__ +float4 __ockl_image_sample_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c)[[hc]]; + float c); -hc::short_vector::float4::vector_value_type __ockl_image_sample_2D( +__device__ +float4 __ockl_image_sample_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c)[[hc]]; + float2 c); - -hc::short_vector::float4::vector_value_type __ockl_image_sample_2Da( +__device__ +float4 __ockl_image_sample_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c)[[hc]]; + float2 c); -float __ockl_image_sample_2Dad(unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c)[[hc]]; -float __ockl_image_sample_2Dd(unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c)[[hc]]; - -hc::short_vector::float4::vector_value_type __ockl_image_sample_3D( +__device__ +float4 __ockl_image_sample_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c)[[hc]]; + float4 c); -hc::short_vector::float4::vector_value_type __ockl_image_sample_grad_1D( - unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float dx, - float dy)[[hc]]; - -hc::short_vector::float4::vector_value_type __ockl_image_sample_grad_1Da( +__device__ +float __ockl_image_sample_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, float dx, float dy)[[hc]]; + float4 c); -hc::short_vector::float4::vector_value_type __ockl_image_sample_grad_2D( +__device__ +float __ockl_image_sample_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, hc::short_vector::float2::vector_value_type dx, - hc::short_vector::float2::vector_value_type dy)[[hc]]; + float2 c); -hc::short_vector::float4::vector_value_type __ockl_image_sample_grad_2Da( +__device__ +float4 __ockl_image_sample_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, hc::short_vector::float2::vector_value_type dx, - hc::short_vector::float2::vector_value_type dy)[[hc]]; + float4 c); -float __ockl_image_sample_grad_2Dad(unsigned int ADDRESS_SPACE_CONSTANT* i, - unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, - hc::short_vector::float2::vector_value_type dx, - hc::short_vector::float2::vector_value_type dy)[[hc]]; - -float __ockl_image_sample_grad_2Dd(unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, - hc::short_vector::float2::vector_value_type dx, - hc::short_vector::float2::vector_value_type dy)[[hc]]; - -hc::short_vector::float4::vector_value_type __ockl_image_sample_grad_3D( +__device__ +float4 __ockl_image_sample_grad_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, hc::short_vector::float4::vector_value_type dx, - hc::short_vector::float4::vector_value_type dy)[[hc]]; + float c, float dx, float dy); -hc::short_vector::float4::vector_value_type __ockl_image_sample_lod_1D( - unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float l)[[hc]]; - -hc::short_vector::float4::vector_value_type __ockl_image_sample_lod_1Da( +__device__ +float4 __ockl_image_sample_grad_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, float l)[[hc]]; + float2 c, float dx, float dy); -hc::short_vector::float4::vector_value_type __ockl_image_sample_lod_2D( +__device__ +float4 __ockl_image_sample_grad_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, float l)[[hc]]; + float2 c, float2 dx, float2 dy); -hc::short_vector::float4::vector_value_type __ockl_image_sample_lod_2Da( +__device__ +float4 __ockl_image_sample_grad_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, float l)[[hc]]; + float4 c, float2 dx, float2 dy); -float __ockl_image_sample_lod_2Dad(unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, float l)[[hc]]; - -float __ockl_image_sample_lod_2Dd(unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float2::vector_value_type c, float l)[[hc]]; - -hc::short_vector::float4::vector_value_type __ockl_image_sample_lod_3D( +__device__ +float __ockl_image_sample_grad_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - hc::short_vector::float4::vector_value_type c, float l)[[hc]]; + float4 c, float2 dx, float2 dy); + +__device__ +float __ockl_image_sample_grad_2Dd( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float2 c, float2 dx, float2 dy); + +__device__ +float4 __ockl_image_sample_grad_3D( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float4 c, float4 dx, float4 dy); + +__device__ +float4 __ockl_image_sample_lod_1D( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float c, float l); + +__device__ +float4 __ockl_image_sample_lod_1Da( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float2 c, float l); + +__device__ +float4 __ockl_image_sample_lod_2D( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float2 c, float l); + +__device__ +float4 __ockl_image_sample_lod_2Da( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float4 c, float l); + +__device__ +float __ockl_image_sample_lod_2Dad( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float4 c, float l); + +__device__ +float __ockl_image_sample_lod_2Dd( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float2 c, float l); + +__device__ +float4 __ockl_image_sample_lod_3D( + unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, + float4 c, float l); } //////////////////////////////////////////////////////////// @@ -1025,196 +1045,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex1DGrad(hipTextureObject_t textureObject, float x __TEXTURE_FUNCTIONS_DECL__ void tex2D(char* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_SET_FLOAT_XYZW; } @@ -1229,196 +1249,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex2D(hipTextureObject_t textureObject, float x, fl __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_SET_FLOAT_XYZW; } @@ -1434,196 +1454,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex2DLod(hipTextureObject_t textureObject, float x, __TEXTURE_FUNCTIONS_DECL__ void tex3D(char* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_SET_FLOAT_XYZW; } @@ -1638,7 +1658,7 @@ __TEXTURE_FUNCTIONS_DECL__ T tex3D(hipTextureObject_t textureObject, float x, fl __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -1646,7 +1666,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -1654,7 +1674,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char1* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -1662,7 +1682,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char2* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -1670,7 +1690,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char4* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -1678,7 +1698,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned char* retVal, hipTextureObject __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -1686,7 +1706,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -1694,7 +1714,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1702,7 +1722,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar4* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -1710,7 +1730,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -1718,7 +1738,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -1726,7 +1746,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -1734,7 +1754,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short4* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -1742,7 +1762,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned short* retVal, hipTextureObjec __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -1750,7 +1770,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort1* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -1758,7 +1778,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort2* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1766,7 +1786,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort4* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -1774,7 +1794,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int* retVal, hipTextureObject_t texture __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -1782,7 +1802,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int1* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -1790,7 +1810,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int2* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -1798,7 +1818,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int4* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -1806,7 +1826,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned int* retVal, hipTextureObject_ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -1814,7 +1834,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint1* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -1822,7 +1842,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint2* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1830,7 +1850,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint4* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_FLOAT; } @@ -1838,7 +1858,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_FLOAT_X; } @@ -1846,7 +1866,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_FLOAT_XY; } @@ -1854,7 +1874,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_SET_FLOAT_XYZW; } @@ -1871,189 +1891,189 @@ __TEXTURE_FUNCTIONS_DECL__ T tex3DLod(hipTextureObject_t textureObject, float x, __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned char* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned short* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned int* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_SET_FLOAT_XYZW; } @@ -2069,7 +2089,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED; } @@ -2077,7 +2097,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char1* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_X; } @@ -2085,7 +2105,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char2* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XY; } @@ -2093,7 +2113,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char4* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2102,7 +2122,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned char* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED; } @@ -2110,7 +2130,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_X; } @@ -2118,7 +2138,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2126,7 +2146,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2134,7 +2154,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED; } @@ -2142,7 +2162,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_X; } @@ -2150,7 +2170,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XY; } @@ -2158,7 +2178,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2167,7 +2187,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned short* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED; } @@ -2175,7 +2195,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort1* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_X; } @@ -2183,7 +2203,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort2* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2191,7 +2211,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort4* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2199,7 +2219,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED; } @@ -2207,7 +2227,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int1* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_X; } @@ -2215,7 +2235,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int2* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XY; } @@ -2223,7 +2243,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int4* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2232,7 +2252,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned int* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED; } @@ -2240,7 +2260,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint1* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_X; } @@ -2248,7 +2268,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint2* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2256,7 +2276,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint4* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2264,7 +2284,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_FLOAT; } @@ -2272,7 +2292,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_FLOAT_X; } @@ -2280,7 +2300,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_FLOAT_XY; } @@ -2288,7 +2308,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_SET_FLOAT_XYZW; } @@ -2305,7 +2325,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED; } @@ -2313,7 +2333,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char1* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2321,7 +2341,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char2* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2329,7 +2349,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char4* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2338,7 +2358,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned char* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2346,7 +2366,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2354,7 +2374,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2362,7 +2382,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2370,7 +2390,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED; } @@ -2378,7 +2398,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2386,7 +2406,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2394,7 +2414,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2403,7 +2423,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned short* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2411,7 +2431,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort1* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2419,7 +2439,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort2* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2427,7 +2447,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort4* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2435,7 +2455,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int* retVal, hipTextureObject_t float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED; } @@ -2443,7 +2463,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int1* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2451,7 +2471,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int2* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2459,7 +2479,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int4* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2468,7 +2488,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned int* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2476,7 +2496,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint1* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2484,7 +2504,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint2* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2492,7 +2512,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint4* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2500,7 +2520,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_FLOAT; } @@ -2508,7 +2528,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_FLOAT_X; } @@ -2516,7 +2536,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_FLOAT_XY; } @@ -2524,7 +2544,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_SET_FLOAT_XYZW; } @@ -2541,7 +2561,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED; } @@ -2549,7 +2569,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char1* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_X; } @@ -2557,7 +2577,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char2* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XY; } @@ -2565,7 +2585,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char4* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } @@ -2574,7 +2594,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned char* retVal, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED; } @@ -2582,7 +2602,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_X; } @@ -2590,7 +2610,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } @@ -2598,7 +2618,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2606,7 +2626,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED; } @@ -2614,7 +2634,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_X; } @@ -2622,7 +2642,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XY; } @@ -2630,7 +2650,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } @@ -2639,7 +2659,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned short* retVal, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED; } @@ -2647,7 +2667,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_X; } @@ -2655,7 +2675,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } @@ -2663,7 +2683,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2671,7 +2691,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int* retVal, hipTextureObject_t tex float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED; } @@ -2679,7 +2699,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int1* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_X; } @@ -2687,7 +2707,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int2* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XY; } @@ -2695,7 +2715,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int4* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_SIGNED_XYZW; } @@ -2703,7 +2723,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned int* retVal, hipTextureObj float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED; } @@ -2711,7 +2731,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint1* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_X; } @@ -2719,7 +2739,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint2* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XY; } @@ -2727,7 +2747,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint4* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2735,7 +2755,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_FLOAT; } @@ -2743,7 +2763,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_FLOAT_X; } @@ -2751,7 +2771,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_FLOAT_XY; } @@ -2759,7 +2779,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_SET_FLOAT_XYZW; } @@ -2776,7 +2796,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -2784,7 +2804,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char1* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -2792,7 +2812,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char2* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -2800,7 +2820,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char4* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2809,7 +2829,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned char* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -2817,7 +2837,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -2825,7 +2845,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2833,7 +2853,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2841,7 +2861,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -2849,7 +2869,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -2857,7 +2877,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -2865,7 +2885,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2874,7 +2894,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned short* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -2882,7 +2902,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort1* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -2890,7 +2910,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort2* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2898,7 +2918,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort4* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2906,7 +2926,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED; } @@ -2914,7 +2934,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int1* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_X; } @@ -2922,7 +2942,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int2* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XY; } @@ -2930,7 +2950,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int4* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_SIGNED_XYZW; } @@ -2939,7 +2959,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned int* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED; } @@ -2947,7 +2967,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint1* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_X; } @@ -2955,7 +2975,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint2* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XY; } @@ -2963,7 +2983,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint4* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2971,7 +2991,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_FLOAT; } @@ -2979,7 +2999,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_FLOAT_X; } @@ -2987,7 +3007,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_FLOAT_XY; } @@ -2995,7 +3015,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_SET_FLOAT_XYZW; } @@ -4799,28 +4819,28 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DGrad(texture texRe template __TEXTURE_FUNCTIONS_DECL__ char tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR; } template __TEXTURE_FUNCTIONS_DECL__ char1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_X; } template __TEXTURE_FUNCTIONS_DECL__ char2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_XY; } template __TEXTURE_FUNCTIONS_DECL__ char4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -4828,56 +4848,56 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR; } template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_X; } template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_XY; } template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_XYZW; } template __TEXTURE_FUNCTIONS_DECL__ short tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT; } template __TEXTURE_FUNCTIONS_DECL__ short1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_X; } template __TEXTURE_FUNCTIONS_DECL__ short2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_XY; } template __TEXTURE_FUNCTIONS_DECL__ short4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_XYZW; } @@ -4885,56 +4905,56 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT; } template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_X; } template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_XY; } template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_XYZW; } template __TEXTURE_FUNCTIONS_DECL__ int tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT; } template __TEXTURE_FUNCTIONS_DECL__ int1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_X; } template __TEXTURE_FUNCTIONS_DECL__ int2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_XY; } template __TEXTURE_FUNCTIONS_DECL__ int4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_XYZW; } @@ -4942,28 +4962,28 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT; } template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_X; } template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_XY; } template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_XYZW; } @@ -4974,7 +4994,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR; } @@ -4982,7 +5002,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_X; } @@ -4990,7 +5010,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_XY; } @@ -4998,7 +5018,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -5006,7 +5026,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR; } @@ -5014,7 +5034,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_X; } @@ -5022,7 +5042,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_XY; } @@ -5030,7 +5050,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5038,7 +5058,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT; } @@ -5046,7 +5066,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_X; } @@ -5054,7 +5074,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_XY; } @@ -5062,7 +5082,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_SHORT_XYZW; } @@ -5071,7 +5091,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2D(texture __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_X; } @@ -5087,7 +5107,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_XY; } @@ -5095,7 +5115,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_USHORT_XYZW; } @@ -5103,7 +5123,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT; } @@ -5111,7 +5131,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_X; } @@ -5119,7 +5139,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_XY; } @@ -5127,7 +5147,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_INT_XYZW; } @@ -5135,7 +5155,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT; } @@ -5143,7 +5163,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_X; } @@ -5151,7 +5171,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_XY; } @@ -5159,7 +5179,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_UINT_XYZW; } @@ -5167,21 +5187,21 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT; } template __TEXTURE_FUNCTIONS_DECL__ float tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT; } template __TEXTURE_FUNCTIONS_DECL__ float1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_X; } @@ -5189,14 +5209,14 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_X; } template __TEXTURE_FUNCTIONS_DECL__ float2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_XY; } @@ -5204,14 +5224,14 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_XY; } template __TEXTURE_FUNCTIONS_DECL__ float4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5219,7 +5239,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, hc::short_vector::float2(x, y).get_vector()); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5229,7 +5249,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR; } @@ -5237,7 +5257,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_X; } @@ -5245,7 +5265,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_XY; } @@ -5253,7 +5273,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -5261,7 +5281,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR; } @@ -5269,7 +5289,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_X; } @@ -5277,7 +5297,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_XY; } @@ -5285,7 +5305,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5293,7 +5313,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT; } @@ -5301,7 +5321,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_X; } @@ -5309,7 +5329,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_XY; } @@ -5317,7 +5337,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -5325,7 +5345,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT; } @@ -5333,7 +5353,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_X; } @@ -5341,7 +5361,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_XY; } @@ -5349,7 +5369,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_XYZW; } @@ -5357,7 +5377,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT; } @@ -5365,7 +5385,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_X; } @@ -5373,7 +5393,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_XY; } @@ -5381,7 +5401,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_XYZW; } @@ -5389,7 +5409,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT; } @@ -5397,7 +5417,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_X; } @@ -5405,7 +5425,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_XY; } @@ -5413,7 +5433,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_XYZW; } @@ -5421,7 +5441,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT; } @@ -5429,7 +5449,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_X; } @@ -5437,7 +5457,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_XY; } @@ -5445,7 +5465,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5456,7 +5476,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR; } @@ -5465,7 +5485,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_X; } @@ -5474,7 +5494,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_XY; } @@ -5483,7 +5503,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -5492,7 +5512,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_X; } @@ -5510,7 +5530,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_XY; } @@ -5519,7 +5539,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5528,7 +5548,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT; } @@ -5537,7 +5557,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_X; } @@ -5546,7 +5566,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_XY; } @@ -5555,7 +5575,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -5564,7 +5584,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_X; } @@ -5582,7 +5602,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_XY; } @@ -5591,7 +5611,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_USHORT_XYZW; } @@ -5600,7 +5620,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT; } @@ -5609,7 +5629,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_X; } @@ -5618,7 +5638,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_XY; } @@ -5627,7 +5647,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_INT_XYZW; } @@ -5636,7 +5656,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_X; } @@ -5654,7 +5674,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_XY; } @@ -5663,7 +5683,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_UINT_XYZW; } @@ -5672,7 +5692,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT; } @@ -5681,7 +5701,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_X; } @@ -5690,7 +5710,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_XY; } @@ -5699,7 +5719,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, hc::short_vector::float2(x, y).get_vector(), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5709,9 +5729,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR; } @@ -5719,9 +5739,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_X; } @@ -5729,9 +5749,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XY; } @@ -5739,9 +5759,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -5749,9 +5769,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR; } @@ -5759,9 +5779,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_X; } @@ -5769,9 +5789,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_XY; } @@ -5779,9 +5799,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5789,9 +5809,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT; } @@ -5799,9 +5819,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_X; } @@ -5809,9 +5829,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_XY; } @@ -5819,9 +5839,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_XYZW; } @@ -5829,9 +5849,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT; } @@ -5839,9 +5859,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_X; } @@ -5849,9 +5869,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_XY; } @@ -5859,9 +5879,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_XYZW; } @@ -5869,9 +5889,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT; } @@ -5879,9 +5899,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_X; } @@ -5889,9 +5909,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XY; } @@ -5899,9 +5919,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XYZW; } @@ -5909,9 +5929,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT; } @@ -5919,9 +5939,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_X; } @@ -5929,9 +5949,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XY; } @@ -5939,9 +5959,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XYZW; } @@ -5949,9 +5969,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT; } @@ -5959,9 +5979,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_X; } @@ -5969,9 +5989,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_XY; } @@ -5979,9 +5999,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5992,9 +6012,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR; } @@ -6003,9 +6023,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_X; } @@ -6014,9 +6034,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XY; } @@ -6025,9 +6045,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -6036,9 +6056,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_X; } @@ -6058,9 +6078,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_XY; } @@ -6069,9 +6089,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6080,9 +6100,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT; } @@ -6091,9 +6111,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_X; } @@ -6102,9 +6122,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_XY; } @@ -6113,9 +6133,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT_XYZW; } @@ -6124,9 +6144,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_X; } @@ -6146,9 +6166,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_XY; } @@ -6157,9 +6177,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_USHORT_XYZW; } @@ -6168,9 +6188,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT; } @@ -6179,9 +6199,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_X; } @@ -6190,9 +6210,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XY; } @@ -6201,9 +6221,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XYZW; } @@ -6212,9 +6232,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_X; } @@ -6234,9 +6254,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XY; } @@ -6245,9 +6265,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XYZW; } @@ -6256,9 +6276,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT; } @@ -6267,9 +6287,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_X; } @@ -6278,9 +6298,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_XY; } @@ -6289,9 +6309,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, hc::short_vector::float2(x, y).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6301,7 +6321,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR; } @@ -6309,7 +6329,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_X; } @@ -6317,7 +6337,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_XY; } @@ -6325,7 +6345,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_XYZW; } @@ -6333,7 +6353,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR; } @@ -6341,7 +6361,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_X; } @@ -6349,7 +6369,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_XY; } @@ -6357,7 +6377,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6365,7 +6385,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT; } @@ -6373,7 +6393,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_X; } @@ -6381,7 +6401,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_XY; } @@ -6389,7 +6409,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_XYZW; } @@ -6397,7 +6417,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT; } @@ -6405,7 +6425,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_X; } @@ -6413,7 +6433,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_XY; } @@ -6421,7 +6441,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_XYZW; } @@ -6429,7 +6449,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT; } @@ -6437,7 +6457,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_X; } @@ -6445,7 +6465,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_XY; } @@ -6453,7 +6473,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_XYZW; } @@ -6461,7 +6481,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT; } @@ -6469,7 +6489,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_X; } @@ -6477,7 +6497,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_XY; } @@ -6485,7 +6505,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_XYZW; } @@ -6493,7 +6513,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT; } @@ -6501,7 +6521,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_X; } @@ -6509,7 +6529,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_XY; } @@ -6517,7 +6537,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6527,7 +6547,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR; } @@ -6536,7 +6556,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_X; } @@ -6545,7 +6565,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_XY; } @@ -6554,7 +6574,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_CHAR_XYZW; } @@ -6563,7 +6583,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_X; } @@ -6581,7 +6601,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_XY; } @@ -6590,7 +6610,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6599,7 +6619,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT; } @@ -6608,7 +6628,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_X; } @@ -6617,7 +6637,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_XY; } @@ -6626,7 +6646,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_SHORT_XYZW; } @@ -6635,7 +6655,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_X; } @@ -6653,7 +6673,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_XY; } @@ -6662,7 +6682,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_USHORT_XYZW; } @@ -6670,7 +6690,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT; } @@ -6678,7 +6698,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_X; } @@ -6686,7 +6706,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_XY; } @@ -6694,7 +6714,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_INT_XYZW; } @@ -6703,7 +6723,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_X; } @@ -6721,7 +6741,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_XY; } @@ -6730,7 +6750,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_UINT_XYZW; } @@ -6739,7 +6759,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT; } @@ -6748,7 +6768,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_X; } @@ -6757,7 +6777,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_XY; } @@ -6766,7 +6786,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector()); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6776,7 +6796,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR; } @@ -6785,7 +6805,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_X; } @@ -6794,7 +6814,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_XY; } @@ -6803,7 +6823,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -6812,7 +6832,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR; } @@ -6821,7 +6841,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_X; } @@ -6830,7 +6850,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_XY; } @@ -6839,7 +6859,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6848,7 +6868,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT; } @@ -6857,7 +6877,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_X; } @@ -6866,7 +6886,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_XY; } @@ -6875,7 +6895,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_XYZW; } @@ -6884,7 +6904,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT; } @@ -6893,7 +6913,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_X; } @@ -6902,7 +6922,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_XY; } @@ -6911,7 +6931,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_XYZW; } @@ -6920,7 +6940,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT; } @@ -6929,7 +6949,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_X; } @@ -6938,7 +6958,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_XY; } @@ -6947,7 +6967,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6959,7 +6979,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR; } @@ -6969,7 +6989,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_X; } @@ -6979,7 +6999,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_XY; } @@ -6989,7 +7009,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -6999,7 +7019,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_X; } @@ -7019,7 +7039,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_XY; } @@ -7029,7 +7049,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7039,7 +7059,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT; } @@ -7049,7 +7069,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_X; } @@ -7059,7 +7079,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_XY; } @@ -7069,7 +7089,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_INT_XYZW; } @@ -7079,7 +7099,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_X; } @@ -7099,7 +7119,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_XY; } @@ -7109,7 +7129,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_UINT_XYZW; } @@ -7119,7 +7139,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT; } @@ -7129,7 +7149,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_X; } @@ -7139,7 +7159,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_XY; } @@ -7149,7 +7169,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7161,9 +7181,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR; } @@ -7172,9 +7192,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_X; } @@ -7183,9 +7203,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_XY; } @@ -7194,9 +7214,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_XYZW; } @@ -7206,9 +7226,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_X; } @@ -7228,9 +7248,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_XY; } @@ -7239,9 +7259,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7250,9 +7270,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT; } @@ -7261,9 +7281,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_X; } @@ -7272,9 +7292,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_XY; } @@ -7283,9 +7303,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_XYZW; } @@ -7295,9 +7315,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_X; } @@ -7317,9 +7337,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_XY; } @@ -7328,9 +7348,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_XYZW; } @@ -7339,9 +7359,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DGrad(texture texRef, flo float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT; } @@ -7350,9 +7370,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_X; } @@ -7361,9 +7381,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_XY; } @@ -7372,9 +7392,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_XYZW; } @@ -7383,9 +7403,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_X; } @@ -7405,9 +7425,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_XY; } @@ -7416,9 +7436,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_XYZW; } @@ -7427,9 +7447,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT; } @@ -7438,9 +7458,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_X; } @@ -7449,9 +7469,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_XY; } @@ -7460,9 +7480,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7473,9 +7493,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR; } @@ -7485,9 +7505,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_X; } @@ -7497,9 +7517,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_XY; } @@ -7509,9 +7529,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_CHAR_XYZW; } @@ -7521,9 +7541,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_X; } @@ -7545,9 +7565,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_XY; } @@ -7557,9 +7577,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7569,9 +7589,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT; } @@ -7581,9 +7601,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_X; } @@ -7593,9 +7613,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_XY; } @@ -7605,9 +7625,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_SHORT_XYZW; } @@ -7617,9 +7637,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_X; } @@ -7641,9 +7661,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_XY; } @@ -7653,9 +7673,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_USHORT_XYZW; } @@ -7665,9 +7685,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT; } @@ -7677,9 +7697,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_X; } @@ -7689,9 +7709,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_XY; } @@ -7701,9 +7721,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_INT_XYZW; } @@ -7713,9 +7733,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_X; } @@ -7737,9 +7757,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_XY; } @@ -7749,9 +7769,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_UINT_XYZW; } @@ -7761,9 +7781,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT; } @@ -7773,9 +7793,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_X; } @@ -7785,9 +7805,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_XY; } @@ -7797,9 +7817,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, hc::short_vector::float4(x, y, z, 0.0f).get_vector(), - hc::short_vector::float4(dx.x, dx.y, dx.z, dx.w).get_vector(), - hc::short_vector::float4(dy.x, dy.y, dy.z, dy.w).get_vector()); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), + float4(dx.x, dx.y, dx.z, dx.w), + float4(dy.x, dy.y, dy.z, dy.w)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7809,7 +7829,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR; } @@ -7817,7 +7837,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_X; } @@ -7825,7 +7845,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_XY; } @@ -7833,7 +7853,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_XYZW; } @@ -7841,7 +7861,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR; } @@ -7849,7 +7869,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_X; } @@ -7857,7 +7877,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_XY; } @@ -7865,7 +7885,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7873,7 +7893,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT; } @@ -7881,7 +7901,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_X; } @@ -7889,7 +7909,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_XY; } @@ -7897,7 +7917,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_XYZW; } @@ -7905,7 +7925,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayered( texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT; } @@ -7913,7 +7933,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_X; } @@ -7921,7 +7941,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_XY; } @@ -7929,7 +7949,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_XYZW; } @@ -7937,7 +7957,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT; } @@ -7945,7 +7965,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_X; } @@ -7953,7 +7973,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_XY; } @@ -7961,7 +7981,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_XYZW; } @@ -7969,7 +7989,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT; } @@ -7977,7 +7997,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_X; } @@ -7985,7 +8005,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_XY; } @@ -7993,7 +8013,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_XYZW; } @@ -8001,7 +8021,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT; } @@ -8009,7 +8029,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_X; } @@ -8017,7 +8037,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_XY; } @@ -8025,7 +8045,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8035,7 +8055,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR; } @@ -8044,7 +8064,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_X; } @@ -8053,7 +8073,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_XY; } @@ -8062,7 +8082,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_CHAR_XYZW; } @@ -8071,7 +8091,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_X; } @@ -8089,7 +8109,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_XY; } @@ -8098,7 +8118,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8107,7 +8127,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT; } @@ -8116,7 +8136,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_X; } @@ -8125,7 +8145,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_XY; } @@ -8134,7 +8154,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_SHORT_XYZW; } @@ -8143,7 +8163,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayered( texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT; } @@ -8152,7 +8172,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_X; } @@ -8161,7 +8181,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_XY; } @@ -8170,7 +8190,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_USHORT_XYZW; } @@ -8178,7 +8198,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT; } @@ -8186,7 +8206,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_X; } @@ -8194,7 +8214,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_XY; } @@ -8202,7 +8222,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_INT_XYZW; } @@ -8211,7 +8231,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_X; } @@ -8229,7 +8249,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_XY; } @@ -8238,7 +8258,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_UINT_XYZW; } @@ -8247,7 +8267,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT; } @@ -8256,7 +8276,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_X; } @@ -8265,7 +8285,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_XY; } @@ -8274,7 +8294,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, hc::short_vector::float2(x, layer).get_vector()); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8285,7 +8305,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR; } @@ -8294,7 +8314,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_X; } @@ -8303,7 +8323,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_XY; } @@ -8312,7 +8332,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -8321,7 +8341,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredLod( texture texRef, float x, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR; } @@ -8330,7 +8350,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_X; } @@ -8339,7 +8359,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_XY; } @@ -8348,7 +8368,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8357,7 +8377,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT; } @@ -8366,7 +8386,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_X; } @@ -8375,7 +8395,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_XY; } @@ -8384,7 +8404,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -8393,7 +8413,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredLod( texture texRef, float x, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_USHORT; } @@ -8402,7 +8422,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredLod(texture texRe int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT; } @@ -8438,7 +8458,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_X; } @@ -8447,7 +8467,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_XY; } @@ -8456,7 +8476,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_XYZW; } @@ -8465,7 +8485,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_X; } @@ -8483,7 +8503,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_XY; } @@ -8492,7 +8512,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_XYZW; } @@ -8501,7 +8521,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT; } @@ -8510,7 +8530,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_X; } @@ -8519,7 +8539,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_XY; } @@ -8528,7 +8548,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8540,7 +8560,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR; } @@ -8550,7 +8570,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_X; } @@ -8560,7 +8580,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_XY; } @@ -8570,7 +8590,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -8580,7 +8600,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredLod( int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR; } @@ -8590,7 +8610,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_X; } @@ -8600,7 +8620,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_XY; } @@ -8610,7 +8630,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8620,7 +8640,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT; } @@ -8630,7 +8650,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_X; } @@ -8640,7 +8660,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_XY; } @@ -8650,7 +8670,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -8660,7 +8680,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredLod( int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_USHORT; } @@ -8670,7 +8690,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredLod(texture texRe float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT; } @@ -8710,7 +8730,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_X; } @@ -8720,7 +8740,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_XY; } @@ -8730,7 +8750,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_INT_XYZW; } @@ -8740,7 +8760,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_X; } @@ -8760,7 +8780,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_XY; } @@ -8770,7 +8790,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_UINT_XYZW; } @@ -8780,7 +8800,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT; } @@ -8790,7 +8810,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_X; } @@ -8800,7 +8820,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_XY; } @@ -8810,7 +8830,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8821,7 +8841,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR; } @@ -8831,7 +8851,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR; } @@ -8840,7 +8860,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_X; } @@ -8850,7 +8870,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_X; } @@ -8859,7 +8879,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_XY; } @@ -8869,7 +8889,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_XY; } @@ -8878,7 +8898,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_XYZW; } @@ -8888,7 +8908,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_CHAR_XYZW; } @@ -8897,7 +8917,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredGrad( texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UCHAR; } @@ -8907,7 +8927,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UCHAR; } @@ -8916,7 +8936,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_SHORT; } @@ -8983,7 +9003,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_SHORT; } @@ -8992,7 +9012,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredGrad(texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_USHORT; } @@ -9059,7 +9079,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_USHORT; } @@ -9068,7 +9088,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredGrad(texture texR int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT; } @@ -9135,7 +9155,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex1DLayeredGrad(texture texR int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT; } @@ -9144,7 +9164,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_X; } @@ -9154,7 +9174,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_X; } @@ -9163,7 +9183,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_XY; } @@ -9173,7 +9193,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_XY; } @@ -9182,7 +9202,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_XYZW; } @@ -9192,7 +9212,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_INT_XYZW; } @@ -9201,7 +9221,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredGrad( texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT; } @@ -9211,7 +9231,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT; } @@ -9220,7 +9240,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_X; } @@ -9230,7 +9250,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_X; } @@ -9239,7 +9259,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_XY; } @@ -9249,7 +9269,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_XY; } @@ -9258,7 +9278,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_XYZW; } @@ -9268,7 +9288,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_UINT_XYZW; } @@ -9277,7 +9297,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_FLOAT; } @@ -9287,7 +9307,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, hc::short_vector::float2(x, layer).get_vector(), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); TEXTURE_RETURN_FLOAT; } @@ -9296,7 +9316,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredGrad(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR; } @@ -9365,7 +9385,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR; } @@ -9374,7 +9394,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_X; } @@ -9384,7 +9404,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_X; } @@ -9393,7 +9413,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_XY; } @@ -9403,7 +9423,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_XY; } @@ -9412,7 +9432,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_XYZW; } @@ -9422,7 +9442,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_CHAR_XYZW; } @@ -9431,7 +9451,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_X; } @@ -9460,7 +9480,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_X; } @@ -9469,7 +9489,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_XY; } @@ -9479,7 +9499,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_XY; } @@ -9488,7 +9508,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -9498,7 +9518,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UCHAR_XYZW; } @@ -9507,7 +9527,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT; } @@ -9517,7 +9537,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT; } @@ -9526,7 +9546,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_X; } @@ -9536,7 +9556,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_X; } @@ -9545,7 +9565,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_XY; } @@ -9555,7 +9575,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_XY; } @@ -9564,7 +9584,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_XYZW; } @@ -9574,7 +9594,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_SHORT_XYZW; } @@ -9583,7 +9603,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayered( texture texRef, float x, float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT; } @@ -9593,7 +9613,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayered( float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT; } @@ -9602,7 +9622,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_X; } @@ -9612,7 +9632,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_X; } @@ -9621,7 +9641,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_XY; } @@ -9631,7 +9651,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_XY; } @@ -9640,7 +9660,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_XYZW; } @@ -9650,7 +9670,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_USHORT_XYZW; } @@ -9659,7 +9679,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayered(texture texRef, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT; } @@ -9669,7 +9689,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayered(texture texRef, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT; } @@ -9678,7 +9698,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_X; } @@ -9688,7 +9708,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_X; } @@ -9697,7 +9717,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_XY; } @@ -9707,7 +9727,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_XY; } @@ -9716,7 +9736,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_XYZW; } @@ -9726,7 +9746,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_INT_XYZW; } @@ -9735,7 +9755,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_X; } @@ -9764,7 +9784,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_X; } @@ -9773,7 +9793,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_XY; } @@ -9783,7 +9803,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_XY; } @@ -9792,7 +9812,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_XYZW; } @@ -9802,7 +9822,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_UINT_XYZW; } @@ -9811,7 +9831,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT; } @@ -9821,7 +9841,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT; } @@ -9830,7 +9850,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_X; } @@ -9840,7 +9860,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_X; } @@ -9849,7 +9869,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_XY; } @@ -9859,7 +9879,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_XY; } @@ -9868,7 +9888,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -9878,7 +9898,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector()); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); TEXTURE_RETURN_FLOAT_XYZW; } @@ -9889,7 +9909,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR; } @@ -9899,7 +9919,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR; } @@ -9908,7 +9928,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_X; } @@ -9918,7 +9938,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_X; } @@ -9927,7 +9947,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_XY; } @@ -9937,7 +9957,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_XY; } @@ -9946,7 +9966,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -9956,7 +9976,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_CHAR_XYZW; } @@ -9965,7 +9985,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredLod( texture texRef, float x, float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR; } @@ -9975,7 +9995,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredLod( float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR; } @@ -9984,7 +10004,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_X; } @@ -9994,7 +10014,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_X; } @@ -10003,7 +10023,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_XY; } @@ -10013,7 +10033,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_XY; } @@ -10022,7 +10042,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -10032,7 +10052,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -10041,7 +10061,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT; } @@ -10051,7 +10071,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT; } @@ -10060,7 +10080,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_X; } @@ -10070,7 +10090,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_X; } @@ -10079,7 +10099,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_XY; } @@ -10089,7 +10109,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_XY; } @@ -10098,7 +10118,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -10108,7 +10128,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_SHORT_XYZW; } @@ -10117,7 +10137,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayeredLod( texture texRef, float x, float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_USHORT; } @@ -10127,7 +10147,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayeredLod( float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_USHORT; } @@ -10136,7 +10156,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayeredLod(texture texRe int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT; } @@ -10203,7 +10223,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayeredLod(texture texRe int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT; } @@ -10212,7 +10232,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_X; } @@ -10222,7 +10242,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_X; } @@ -10231,7 +10251,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_XY; } @@ -10241,7 +10261,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_XY; } @@ -10250,7 +10270,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_XYZW; } @@ -10260,7 +10280,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_INT_XYZW; } @@ -10269,7 +10289,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_X; } @@ -10298,7 +10318,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_X; } @@ -10307,7 +10327,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_XY; } @@ -10317,7 +10337,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_XY; } @@ -10326,7 +10346,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_XYZW; } @@ -10336,7 +10356,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_UINT_XYZW; } @@ -10345,7 +10365,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT; } @@ -10355,7 +10375,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT; } @@ -10364,7 +10384,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_X; } @@ -10374,7 +10394,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_X; } @@ -10383,7 +10403,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_XY; } @@ -10393,7 +10413,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_XY; } @@ -10402,7 +10422,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -10412,7 +10432,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), level); + i, s, float4(x, y, layer, 0.0f), level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -10423,9 +10443,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR; } @@ -10435,9 +10455,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR; } @@ -10446,9 +10466,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_X; } @@ -10458,9 +10478,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_X; } @@ -10469,9 +10489,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XY; } @@ -10481,9 +10501,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XY; } @@ -10492,9 +10512,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -10504,9 +10524,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_CHAR_XYZW; } @@ -10516,9 +10536,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredGrad( float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR; } @@ -10528,9 +10548,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredGrad( float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UCHAR; } @@ -10539,9 +10559,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT; } @@ -10620,9 +10640,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_SHORT; } @@ -10631,9 +10651,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredGrad(texture texR float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT; } @@ -10805,9 +10825,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayeredGrad(texture texR int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT; } @@ -10816,9 +10836,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_X; } @@ -10828,9 +10848,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_X; } @@ -10839,9 +10859,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XY; } @@ -10851,9 +10871,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XY; } @@ -10862,9 +10882,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XYZW; } @@ -10874,9 +10894,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_INT_XYZW; } @@ -10886,9 +10906,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredGrad( float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT; } @@ -10898,9 +10918,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredGrad( int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT; } @@ -10909,9 +10929,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_X; } @@ -10921,9 +10941,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_X; } @@ -10932,9 +10952,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XY; } @@ -10944,9 +10964,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XY; } @@ -10955,9 +10975,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XYZW; } @@ -10967,9 +10987,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_UINT_XYZW; } @@ -10978,9 +10998,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT; } @@ -10990,9 +11010,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, hc::short_vector::float4(x, y, layer, 0.0f).get_vector(), - hc::short_vector::float2(dx.x, dx.y).get_vector(), - hc::short_vector::float2(dy.x, dy.y).get_vector()); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), + float2(dx.x, dx.y), + float2(dy.x, dy.y)); TEXTURE_RETURN_FLOAT; } @@ -11001,9 +11021,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredGrad(texture Date: Fri, 27 Jul 2018 09:29:29 -0700 Subject: [PATCH 15/77] Drop use of NVCC_COMPAT since it is always set --- include/hip/hcc_detail/device_functions.h | 41 ----------------------- include/hip/hcc_detail/hip_runtime.h | 2 -- tests/src/deviceLib/hip_anyall.cpp | 13 ------- tests/src/deviceLib/hip_clz.cpp | 9 ----- tests/src/deviceLib/hip_ffs.cpp | 8 ----- 5 files changed, 73 deletions(-) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 6455fa6cd1..5e1c8a4e6b 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -48,69 +48,35 @@ __device__ static inline unsigned int __popcll(unsigned long long int input) { } __device__ static inline unsigned int __clz(unsigned int input) { -#ifdef NVCC_COMPAT return input == 0 ? 32 : __builtin_clz(input); -#else - return input == 0 ? -1 : __builtin_clz(input); -#endif } __device__ static inline unsigned int __clzll(unsigned long long int input) { -#ifdef NVCC_COMPAT return input == 0 ? 64 : ( input == 0 ? -1 : __builtin_clzl(input) ); -#else - return input == 0 ? -1 : __builtin_clzl(input); -#endif } __device__ static inline unsigned int __clz(int input) { -#ifdef NVCC_COMPAT return input == 0 ? 32 : ( input > 0 ? __builtin_clz(input) : __builtin_clz(~input) ); -#else - if (input == 0) return -1; - return input > 0 ? __builtin_clz(input) : __builtin_clz(~input); -#endif } __device__ static inline unsigned int __clzll(long long int input) { -#ifdef NVCC_COMPAT return input == 0 ? 64 : input > 0 ? __builtin_clzl(input) : __builtin_clzl(~input); -#else - if (input == 0) return -1; - return input > 0 ? __builtin_clzl(input) : __builtin_clzl(~input); -#endif } __device__ static inline unsigned int __ffs(unsigned int input) { -#ifdef NVCC_COMPAT return ( input == 0 ? -1 : __builtin_ctz(input) ) + 1; -#else - return input == 0 ? -1 : __builtin_ctz(input); -#endif } __device__ static inline unsigned int __ffsll(unsigned long long int input) { -#ifdef NVCC_COMPAT return ( input == 0 ? -1 : __builtin_ctzl(input) ) + 1; -#else - return input == 0 ? -1 : __builtin_ctzl(input); -#endif } __device__ static inline unsigned int __ffs(int input) { -#ifdef NVCC_COMPAT return ( input == 0 ? -1 : __builtin_ctz(input) ) + 1; -#else - return input == 0 ? -1 : __builtin_ctz(input); -#endif } __device__ static inline unsigned int __ffsll(long long int input) { -#ifdef NVCC_COMPAT return ( input == 0 ? -1 : __builtin_ctzl(input) ) + 1; -#else - return input == 0 ? -1 : __builtin_ctzl(input); -#endif } __device__ static inline unsigned int __brev(unsigned int input) { return __llvm_bitrev_b32(input); } @@ -673,14 +639,7 @@ int __all(int predicate) { __device__ inline int __any(int predicate) { -#ifdef NVCC_COMPAT - if (__ockl_wfany_i32(predicate) != 0) - return 1; - else - return 0; -#else return __ockl_wfany_i32(predicate); -#endif } // XXX from llvm/include/llvm/IR/InstrTypes.h diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index c2ae6e8e4f..17f987a745 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -57,8 +57,6 @@ THE SOFTWARE. #if __HCC_OR_HIP_CLANG__ -// Define NVCC_COMPAT for CUDA compatibility -#define NVCC_COMPAT #define CUDA_SUCCESS hipSuccess #include diff --git a/tests/src/deviceLib/hip_anyall.cpp b/tests/src/deviceLib/hip_anyall.cpp index 21ad9f871c..934c4dbcfd 100644 --- a/tests/src/deviceLib/hip_anyall.cpp +++ b/tests/src/deviceLib/hip_anyall.cpp @@ -86,28 +86,15 @@ int main(int argc, char* argv[]) { printf("warp no. %d __all = %d \n", i, host_all[i]); if (host_all[i] != 1) ++allcount; -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - if (host_any[i] != 64) ++anycount; -#else if (host_any[i] != 1) ++anycount; -#endif } -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - if (anycount == 1 && allcount == 1) - printf("PASSED\n"); - else { - printf("FAILED\n"); - return EXIT_FAILURE; - } -#else if (anycount == 0 && allcount == 1) printf("PASSED\n"); else { printf("FAILED\n"); return EXIT_FAILURE; } -#endif return EXIT_SUCCESS; } diff --git a/tests/src/deviceLib/hip_clz.cpp b/tests/src/deviceLib/hip_clz.cpp index 6f3ed33a39..985da04967 100644 --- a/tests/src/deviceLib/hip_clz.cpp +++ b/tests/src/deviceLib/hip_clz.cpp @@ -45,12 +45,7 @@ THE SOFTWARE. unsigned int firstbit_u32(unsigned int a) { if (a == 0) { -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - - return -1; -#else return 32; -#endif } unsigned int pos = 0; while ((int)a > 0) { @@ -62,11 +57,7 @@ unsigned int firstbit_u32(unsigned int a) { unsigned int firstbit_u64(unsigned long long int a) { if (a == 0) { -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - return -1; -#else return 64; -#endif } unsigned int pos = 0; while ((long long int)a > 0) { diff --git a/tests/src/deviceLib/hip_ffs.cpp b/tests/src/deviceLib/hip_ffs.cpp index 220c742464..04cf38caa8 100644 --- a/tests/src/deviceLib/hip_ffs.cpp +++ b/tests/src/deviceLib/hip_ffs.cpp @@ -49,21 +49,13 @@ THE SOFTWARE. template int lastbit(T a) { if (a == 0) -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - return -1; -#else return 0; -#endif int pos = 1; while ((a & 1) != 1) { a >>= 1; pos++; } -#if defined(__HIP_PLATFORM_HCC__) && !defined(NVCC_COMPAT) - return pos - 1; -#else return pos; -#endif } From 92eb165875e0493e7714a0c97c6dbd9f44bbeb51 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Sat, 28 Jul 2018 21:00:44 +0300 Subject: [PATCH 16/77] [HIPIFY][BLAS] cuBLAS support revise + doc for CUBLAS API supported by HIP + 3 tests: 0 & 1 based indexing, sgemm matmul --- docs/markdown/CUBLAS_API_supported_by_HIP.md | 516 ++++++++++ hipify-clang/src/CUDA2HipMap.cpp | 915 +++++++++--------- .../cuBLAS/cublas_0_based_indexing.cu | 79 ++ .../cuBLAS/cublas_1_based_indexing.cu | 90 ++ .../cublas_sgemm_matrix_multiplication.cu | 108 +++ 5 files changed, 1263 insertions(+), 445 deletions(-) create mode 100644 docs/markdown/CUBLAS_API_supported_by_HIP.md create mode 100644 tests/hipify-clang/cuBLAS/cublas_0_based_indexing.cu create mode 100644 tests/hipify-clang/cuBLAS/cublas_1_based_indexing.cu create mode 100644 tests/hipify-clang/cuBLAS/cublas_sgemm_matrix_multiplication.cu diff --git a/docs/markdown/CUBLAS_API_supported_by_HIP.md b/docs/markdown/CUBLAS_API_supported_by_HIP.md new file mode 100644 index 0000000000..932092612b --- /dev/null +++ b/docs/markdown/CUBLAS_API_supported_by_HIP.md @@ -0,0 +1,516 @@ +# CUBLAS API supported by HIP + +## **1. CUBLAS Data types** + +| **type** | **CUDA** | **HIP** |**HIP value** (if differs) | +|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------| +| enum |***`cublasStatus`*** |***`hipblasStatus_t`*** | +| enum |***`cublasStatus_t`*** |***`hipblasStatus_t`*** | +| 0 |*`CUBLAS_STATUS_SUCCESS`* |*`HIPBLAS_STATUS_SUCCESS`* | +| 1 |*`CUBLAS_STATUS_NOT_INITIALIZED`* |*`HIPBLAS_STATUS_NOT_INITIALIZED`* | +| 3 |*`CUBLAS_STATUS_ALLOC_FAILED`* |*`HIPBLAS_STATUS_ALLOC_FAILED`* | 2 | +| 7 |*`CUBLAS_STATUS_INVALID_VALUE`* |*`HIPBLAS_STATUS_INVALID_VALUE`* | 3 | +| 8 |*`CUBLAS_STATUS_ARCH_MISMATCH`* |*`HIPBLAS_STATUS_ARCH_MISMATCH`* | | +| 11 |*`CUBLAS_STATUS_MAPPING_ERROR`* |*`HIPBLAS_STATUS_MAPPING_ERROR`* | 4 | +| 13 |*`CUBLAS_STATUS_EXECUTION_FAILED`* |*`HIPBLAS_STATUS_EXECUTION_FAILED`* | 5 | +| 14 |*`CUBLAS_STATUS_INTERNAL_ERROR`* |*`HIPBLAS_STATUS_INTERNAL_ERROR`* | 6 | +| 15 |*`CUBLAS_STATUS_NOT_SUPPORTED`* |*`HIPBLAS_STATUS_NOT_SUPPORTED`* | 7 | +| 16 |*`CUBLAS_STATUS_LICENSE_ERROR`* | | +| enum |***`cublasOperation_t`*** |***`hipblasOperation_t`*** | +| 0 |*`CUBLAS_OP_N`* |*`HIPBLAS_OP_N`* | 111 | +| 1 |*`CUBLAS_OP_T`* |*`HIPBLAS_OP_T`* | 112 | +| 2 |*`CUBLAS_OP_C`* |*`HIPBLAS_OP_C`* | 113 | +| enum |***`cublasFillMode_t`*** |***`hipblasFillMode_t`*** | +| 0 |*`CUBLAS_FILL_MODE_LOWER`* |*`HIPBLAS_FILL_MODE_LOWER`* | 121 | +| 1 |*`CUBLAS_FILL_MODE_UPPER`* |*`HIPBLAS_FILL_MODE_UPPER`* | 122 | +| enum |***`cublasDiagType_t`*** |***`hipblasDiagType_t`*** | +| 0 |*`CUBLAS_DIAG_NON_UNIT`* |*`HIPBLAS_DIAG_NON_UNIT`* | 131 | +| 1 |*`CUBLAS_DIAG_UNIT`* |*`HIPBLAS_DIAG_UNIT`* | 132 | +| enum |***`cublasSideMode_t`*** |***`hipblasSideMode_t`*** | +| 0 |*`CUBLAS_SIDE_LEFT`* |*`HIPBLAS_SIDE_LEFT`* | 141 | +| 1 |*`CUBLAS_SIDE_RIGHT`* |*`HIPBLAS_SIDE_RIGHT`* | 142 | +| enum |***`cublasPointerMode_t`*** |***`hipblasPointerMode_t`*** | +| 0 |*`CUBLAS_POINTER_MODE_HOST`* |*`HIPBLAS_POINTER_MODE_HOST`* | +| 1 |*`CUBLAS_POINTER_MODE_DEVICE`* |*`HIPBLAS_POINTER_MODE_DEVICE`* | +| enum |***`cublasAtomicsMode_t`*** | | +| 0 |*`CUBLAS_ATOMICS_NOT_ALLOWED`* | | +| 1 |*`CUBLAS_ATOMICS_ALLOWED`* | | +| enum |***`cublasAtomicsMode_t`*** | | +| -1 |*`CUBLAS_GEMM_DFALT`* | | +| -1 |*`CUBLAS_GEMM_DEFAULT`* | | +| 0 |*`CUBLAS_GEMM_ALGO0`* | | +| 1 |*`CUBLAS_GEMM_ALGO1`* | | +| 2 |*`CUBLAS_GEMM_ALGO2`* | | +| 3 |*`CUBLAS_GEMM_ALGO3`* | | +| 4 |*`CUBLAS_GEMM_ALGO4`* | | +| 5 |*`CUBLAS_GEMM_ALGO5`* | | +| 6 |*`CUBLAS_GEMM_ALGO6`* | | +| 7 |*`CUBLAS_GEMM_ALGO7`* | | +| 8 |*`CUBLAS_GEMM_ALGO8`* | | +| 9 |*`CUBLAS_GEMM_ALGO9`* | | +| 10 |*`CUBLAS_GEMM_ALGO10`* | | +| 11 |*`CUBLAS_GEMM_ALGO11`* | | +| 12 |*`CUBLAS_GEMM_ALGO12`* | | +| 13 |*`CUBLAS_GEMM_ALGO13`* | | +| 14 |*`CUBLAS_GEMM_ALGO14`* | | +| 15 |*`CUBLAS_GEMM_ALGO15`* | | +| 16 |*`CUBLAS_GEMM_ALGO16`* | | +| 17 |*`CUBLAS_GEMM_ALGO17`* | | +| 18 |*`CUBLAS_GEMM_ALGO18`* | | +| 19 |*`CUBLAS_GEMM_ALGO19`* | | +| 20 |*`CUBLAS_GEMM_ALGO20`* | | +| 21 |*`CUBLAS_GEMM_ALGO21`* | | +| 22 |*`CUBLAS_GEMM_ALGO22`* | | +| 23 |*`CUBLAS_GEMM_ALGO23`* | | +| 99 |*`CUBLAS_GEMM_DEFAULT_TENSOR_OP`* | | +| 99 |*`CUBLAS_GEMM_DFALT_TENSOR_OP`* | | +| 100 |*`CUBLAS_GEMM_ALGO0_TENSOR_OP`* | | +| 101 |*`CUBLAS_GEMM_ALGO1_TENSOR_OP`* | | +| 102 |*`CUBLAS_GEMM_ALGO2_TENSOR_OP`* | | +| 103 |*`CUBLAS_GEMM_ALGO3_TENSOR_OP`* | | +| 104 |*`CUBLAS_GEMM_ALGO4_TENSOR_OP`* | | +| 105 |*`CUBLAS_GEMM_ALGO5_TENSOR_OP`* | | +| 106 |*`CUBLAS_GEMM_ALGO6_TENSOR_OP`* | | +| 107 |*`CUBLAS_GEMM_ALGO7_TENSOR_OP`* | | +| 108 |*`CUBLAS_GEMM_ALGO8_TENSOR_OP`* | | +| 109 |*`CUBLAS_GEMM_ALGO9_TENSOR_OP`* | | +| 110 |*`CUBLAS_GEMM_ALGO10_TENSOR_OP`* | | +| 111 |*`CUBLAS_GEMM_ALGO11_TENSOR_OP`* | | +| 112 |*`CUBLAS_GEMM_ALGO12_TENSOR_OP`* | | +| 113 |*`CUBLAS_GEMM_ALGO13_TENSOR_OP`* | | +| 114 |*`CUBLAS_GEMM_ALGO14_TENSOR_OP`* | | +| 115 |*`CUBLAS_GEMM_ALGO15_TENSOR_OP`* | | +| enum |***`cublasMath_t`*** | | +| 0 |*`CUBLAS_DEFAULT_MATH`* | | +| 1 |*`CUBLAS_TENSOR_OP_MATH`* | | +| enum* |`cublasDataType_t` | | +| struct |`cublasContext` | | +| struct* |`cublasHandle_t` |`hipblasHandle_t` | + +## **2. CUBLAS API functions** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cublasCreate` |`hipblasCreate` | +|`cublasCreate_v2` |`hipblasCreate` | +|`cublasDestroy` |`hipblasDestroy` | +|`cublasDestroy_v2` |`hipblasDestroy` | +|`cublasGetVersion` | | +|`cublasGetVersion_v2` | | +|`cublasGetProperty` | | +|`cublasGetStream` |`hipblasGetStream` | +|`cublasGetStream_v2` |`hipblasGetStream_v2` | +|`cublasSetStream` |`hipblasSetStream` | +|`cublasSetStream_v2` |`hipblasSetStream_v2` | +|`cublasGetPointerMode` |`hipblasGetPointerMode` | +|`cublasGetPointerMode_v2` |`hipblasGetPointerMode_v2` | +|`cublasSetPointerMode` |`hipblasSetPointerMode` | +|`cublasSetPointerMode_v2` |`hipblasSetPointerMode_v2` | +|`cublasGetAtomicsMode` | | +|`cublasSetAtomicsMode` | | +|`cublasGetMathMode` | | +|`cublasSetMathMode` | | +|`cublasLogCallback` | | +|`cublasLoggerConfigure` | | +|`cublasSetLoggerCallback` | | +|`cublasGetLoggerCallback` | | +|`cublasSetVector` |`hipblasSetVector` | +|`cublasGetVector` |`hipblasGetVector` | +|`cublasSetMatrix` |`hipblasSetMatrix` | +|`cublasGetMatrix` |`hipblasGetMatrix` | +|`cublasSetVectorAsync` | | +|`cublasGetVectorAsync` | | +|`cublasSetMatrixAsync` | | +|`cublasGetMatrixAsync` | | +|`cublasXerbla` | | +|`cublasNrm2Ex` | | +|`cublasSnrm2` |`hipblasSnrm2` | +|`cublasSnrm2_v2` |`hipblasSnrm2` | +|`cublasDnrm2` |`hipblasDnrm2` | +|`cublasDnrm2_v2` |`hipblasDnrm2` | +|`cublasScnrm2` | | +|`cublasScnrm2_v2` | | +|`cublasDznrm2` | | +|`cublasDznrm2_v2` | | +|`cublasDotEx` | | +|`cublasDotcEx` | | +|`cublasSdot` |`hipblasSdot` | +|`cublasSdot_v2` |`hipblasSdot` | +|`cublasDdot` |`hipblasDdot` | +|`cublasDdot_v2` |`hipblasDdot` | +|`cublasCdotu` | | +|`cublasCdotu_v2` | | +|`cublasCdotc` | | +|`cublasCdotc_v2` | | +|`cublasZdotu` | | +|`cublasZdotu_v2` | | +|`cublasZdotc` | | +|`cublasZdotc_v2` | | +|`cublasScalEx` | | +|`cublasSscal` |`hipblasSscal` | +|`cublasSscal_v2` |`hipblasSscal` | +|`cublasDscal` |`hipblasDscal` | +|`cublasDscal_v2` |`hipblasDscal` | +|`cublasCscal` | | +|`cublasCscal_v2` | | +|`cublasCsscal` | | +|`cublasCsscal_v2` | | +|`cublasZscal` | | +|`cublasZscal_v2` | | +|`cublasZdscal` | | +|`cublasZdscal_v2` | | +|`cublasAxpyEx` | | +|`cublasSaxpy` |`hipblasSaxpy` | +|`cublasSaxpy_v2` |`hipblasSaxpy` | +|`cublasDaxpy` |`hipblasDaxpy` | +|`cublasDaxpy_v2` |`hipblasDaxpy` | +|`cublasCaxpy` | | +|`cublasCaxpy_v2` | | +|`cublasZaxpy` | | +|`cublasZaxpy_v2` | | +|`cublasScopy` |`hipblasScopy` | +|`cublasScopy_v2` |`hipblasScopy` | +|`cublasDcopy` |`hipblasDcopy` | +|`cublasDcopy_v2` |`hipblasDcopy` | +|`cublasCcopy` | | +|`cublasCcopy_v2` | | +|`cublasZcopy` | | +|`cublasZcopy_v2` | | +|`cublasSswap` | | +|`cublasSswap_v2` | | +|`cublasDswap` | | +|`cublasDswap_v2` | | +|`cublasCswap` | | +|`cublasCswap_v2` | | +|`cublasZswap` | | +|`cublasZswap_v2` | | +|`cublasIsamax` |`hipblasIsamax` | +|`cublasIsamax_v2` |`hipblasIsamax` | +|`cublasIdamax` |`hipblasIdamax` | +|`cublasIdamax_v2` |`hipblasIdamax` | +|`cublasIcamax` | | +|`cublasIcamax_v2` | | +|`cublasIzamax` | | +|`cublasIzamax_v2` | | +|`cublasIsamin` | | +|`cublasIsamin_v2` | | +|`cublasIdamin` | | +|`cublasIdamin_v2` | | +|`cublasIcamin` | | +|`cublasIcamin_v2` | | +|`cublasIzamin` | | +|`cublasIzamin_v2` | | +|`cublasSasum` |`hipblasSasum` | +|`cublasSasum_v2` |`hipblasSasum` | +|`cublasDasum` |`hipblasDasum` | +|`cublasDasum_v2` |`hipblasDasum` | +|`cublasScasum` | | +|`cublasScasum_v2` | | +|`cublasDzasum` | | +|`cublasDzasum_v2` | | +|`cublasSrot` | | +|`cublasSrot_v2` | | +|`cublasDrot` | | +|`cublasDrot_v2` | | +|`cublasCrot` | | +|`cublasCrot_v2` | | +|`cublasZrot` | | +|`cublasZrot_v2` | | +|`cublasZdrot` | | +|`cublasZdrot_v2` | | +|`cublasSrotg` | | +|`cublasSrotg_v2` | | +|`cublasDrotg` | | +|`cublasDrotg_v2` | | +|`cublasCrotg` | | +|`cublasCrotg_v2` | | +|`cublasZrotg` | | +|`cublasZrotg_v2` | | +|`cublasSrotm` | | +|`cublasSrotm_v2` | | +|`cublasDrotm` | | +|`cublasDrotm_v2` | | +|`cublasSrotmg` | | +|`cublasSrotmg_v2` | | +|`cublasDrotmg` | | +|`cublasDrotmg_v2` | | +|`cublasSgemv` |`hipblasSgemv` | +|`cublasSgemv_v2` |`hipblasSgemv` | +|`cublasDgemv` |`hipblasDgemv` | +|`cublasDgemv_v2` |`hipblasDgemv` | +|`cublasCgemv` | | +|`cublasCgemv_v2` | | +|`cublasZgemv` | | +|`cublasZgemv_v2` | | +|`cublasSgbmv` | | +|`cublasSgbmv_v2` | | +|`cublasDgbmv` | | +|`cublasDgbmv_v2` | | +|`cublasCgbmv` | | +|`cublasCgbmv_v2` | | +|`cublasZgbmv` | | +|`cublasZgbmv_v2` | | +|`cublasStrmv` | | +|`cublasStrmv_v2` | | +|`cublasDtrmv` | | +|`cublasDtrmv_v2` | | +|`cublasCtrmv` | | +|`cublasCtrmv_v2` | | +|`cublasZtrmv` | | +|`cublasZtrmv_v2` | | +|`cublasStbmv` | | +|`cublasStbmv_v2` | | +|`cublasDtbmv` | | +|`cublasDtbmv_v2` | | +|`cublasCtbmv` | | +|`cublasCtbmv_v2` | | +|`cublasZtbmv` | | +|`cublasZtbmv_v2` | | +|`cublasStpmv` | | +|`cublasStpmv_v2` | | +|`cublasDtpmv` | | +|`cublasDtpmv_v2` | | +|`cublasCtpmv` | | +|`cublasCtpmv_v2` | | +|`cublasZtpmv` | | +|`cublasZtpmv_v2` | | +|`cublasStrsv` | | +|`cublasStrsv_v2` | | +|`cublasDtrsv` | | +|`cublasDtrsv_v2` | | +|`cublasCtrsv` | | +|`cublasCtrsv_v2` | | +|`cublasZtrsv` | | +|`cublasZtrsv_v2` | | +|`cublasStpsv` | | +|`cublasStpsv_v2` | | +|`cublasDtpsv` | | +|`cublasDtpsv_v2` | | +|`cublasCtpsv` | | +|`cublasCtpsv_v2` | | +|`cublasZtpsv` | | +|`cublasZtpsv_v2` | | +|`cublasStbsv` | | +|`cublasStbsv_v2` | | +|`cublasDtbsv` | | +|`cublasDtbsv_v2` | | +|`cublasCtbsv` | | +|`cublasCtbsv_v2` | | +|`cublasZtbsv` | | +|`cublasZtbsv_v2` | | +|`cublasSsymv` | | +|`cublasSsymv_v2` | | +|`cublasDsymv` | | +|`cublasDsymv_v2` | | +|`cublasCsymv` | | +|`cublasCsymv_v2` | | +|`cublasZsymv` | | +|`cublasZsymv_v2` | | +|`cublasChemv` | | +|`cublasChemv_v2` | | +|`cublasZhemv` | | +|`cublasZhemv_v2` | | +|`cublasSsbmv` | | +|`cublasSsbmv_v2` | | +|`cublasDsbmv` | | +|`cublasDsbmv_v2` | | +|`cublasChbmv` | | +|`cublasChbmv_v2` | | +|`cublasZhbmv` | | +|`cublasZhbmv_v2` | | +|`cublasSspmv` | | +|`cublasSspmv_v2` | | +|`cublasDspmv` | | +|`cublasDspmv_v2` | | +|`cublasChpmv` | | +|`cublasChpmv_v2` | | +|`cublasZhpmv` | | +|`cublasZhpmv_v2` | | +|`cublasSger` |`hipblasSger` | +|`cublasSger_v2` |`hipblasSger` | +|`cublasDger` |`hipblasDger` | +|`cublasDger_v2` |`hipblasDger` | +|`cublasCgeru` | | +|`cublasCgeru_v2` | | +|`cublasCgerc` | | +|`cublasCgerc_v2` | | +|`cublasZgeru` | | +|`cublasZgeru_v2` | | +|`cublasZgerc` | | +|`cublasZgerc_v2` | | +|`cublasSsyr` | | +|`cublasSsyr_v2` | | +|`cublasDsyr` | | +|`cublasDsyr_v2` | | +|`cublasCsyr` | | +|`cublasCsyr_v2` | | +|`cublasZsyr` | | +|`cublasZsyr_v2` | | +|`cublasCher` | | +|`cublasCher_v2` | | +|`cublasZher` | | +|`cublasZher_v2` | | +|`cublasSspr` | | +|`cublasSspr_v2` | | +|`cublasDspr` | | +|`cublasDspr_v2` | | +|`cublasChpr` | | +|`cublasChpr_v2` | | +|`cublasZhpr` | | +|`cublasZhpr_v2` | | +|`cublasSsyr2` | | +|`cublasSsyr2_v2` | | +|`cublasDsyr2` | | +|`cublasDsyr2_v2` | | +|`cublasCsyr2` | | +|`cublasCsyr2_v2` | | +|`cublasZsyr2` | | +|`cublasZsyr2_v2` | | +|`cublasCher2` | | +|`cublasCher2_v2` | | +|`cublasZher2` | | +|`cublasZher2_v2` | | +|`cublasSspr2` | | +|`cublasSspr2_v2` | | +|`cublasDspr2` | | +|`cublasDspr2_v2` | | +|`cublasChpr2` | | +|`cublasChpr2_v2` | | +|`cublasZhpr2` | | +|`cublasZhpr2_v2` | | +|`cublasSgemm` |`hipblasSgemm` | +|`cublasSgemm_v2` |`hipblasSgemm` | +|`cublasDgemm` |`hipblasDgemm` | +|`cublasDgemm_v2` |`hipblasDgemm` | +|`cublasCgemm` |`hipblasCgemm` | +|`cublasCgemm_v2` |`hipblasCgemm` | +|`cublasCgemm3m` | | +|`cublasCgemm3mEx` | | +|`cublasZgemm` | | +|`cublasZgemm_v2` | | +|`cublasZgemm3m` | | +|`cublasHgemm` |`hipblasHgemm` | +|`cublasSgemmEx` | | +|`cublasGemmEx` | | +|`cublasCgemmEx` | | +|`cublasUint8gemmBias` | | +|`cublasSsyrk` | | +|`cublasSsyrk_v2` | | +|`cublasDsyrk` | | +|`cublasDsyrk_v2` | | +|`cublasCsyrk` | | +|`cublasCsyrk_v2` | | +|`cublasZsyrk` | | +|`cublasZsyrk_v2` | | +|`cublasCsyrkEx` | | +|`cublasCsyrk3mEx` | | +|`cublasCherk` | | +|`cublasCherk_v2` | | +|`cublasZherk` | | +|`cublasZherk_v2` | | +|`cublasCherkEx` | | +|`cublasCherk3mEx` | | +|`cublasSsyr2k` | | +|`cublasSsyr2k_v2` | | +|`cublasDsyr2k` | | +|`cublasDsyr2k_v2` | | +|`cublasCsyr2k` | | +|`cublasCsyr2k_v2` | | +|`cublasZsyr2k` | | +|`cublasZsyr2k_v2` | | +|`cublasCher2k` | | +|`cublasCher2k_v2` | | +|`cublasZher2k` | | +|`cublasZher2k_v2` | | +|`cublasSsyrkx` | | +|`cublasDsyrkx` | | +|`cublasCsyrkx` | | +|`cublasZsyrkx` | | +|`cublasCherkx` | | +|`cublasZherkx` | | +|`cublasSsymm` | | +|`cublasSsymm_v2` | | +|`cublasDsymm` | | +|`cublasDsymm_v2` | | +|`cublasCsymm` | | +|`cublasCsymm_v2` | | +|`cublasZsymm` | | +|`cublasZsymm_v2` | | +|`cublasChemm` | | +|`cublasChemm_v2` | | +|`cublasZhemm` | | +|`cublasZhemm_v2` | | +|`cublasStrsm` |`hipblasStrsm` | +|`cublasStrsm_v2` |`hipblasStrsm` | +|`cublasDtrsm` |`hipblasDtrsm` | +|`cublasDtrsm_v2` |`hipblasDtrsm` | +|`cublasCtrsm` | | +|`cublasCtrsm_v2` | | +|`cublasZtrsm` | | +|`cublasZtrsm_v2` | | +|`cublasStrmm` | | +|`cublasStrmm_v2` | | +|`cublasDtrmm` | | +|`cublasDtrmm_v2` | | +|`cublasCtrmm` | | +|`cublasCtrmm_v2` | | +|`cublasZtrmm` | | +|`cublasZtrmm_v2` | | +|`cublasHgemmBatched` | | +|`cublasSgemmBatched` |`hipblasSgemmBatched` | +|`cublasDgemmBatched` |`hipblasDgemmBatched` | +|`cublasCgemmBatched` | | +|`cublasCgemm3mBatched` | | +|`cublasZgemmBatched` | | +|`cublasGemmBatchedEx` | | +|`cublasGemmStridedBatchedEx` | | +|`cublasSgemmStridedBatched` | | +|`cublasDgemmStridedBatched` | | +|`cublasCgemmStridedBatched` | | +|`cublasCgemm3mStridedBatched` | | +|`cublasZgemmStridedBatched` | | +|`cublasHgemmStridedBatched` | | +|`cublasSgeam` |`hipblasSgeam` | +|`cublasDgeam` |`hipblasDgeam` | +|`cublasCgeam` | | +|`cublasZgeam` | | +|`cublasSgetrfBatched` | | +|`cublasDgetrfBatched` | | +|`cublasCgetrfBatched` | | +|`cublasZgetrfBatched` | | +|`cublasSgetriBatched` | | +|`cublasDgetriBatched` | | +|`cublasCgetriBatched` | | +|`cublasZgetriBatched` | | +|`cublasSgetrsBatched` | | +|`cublasDgetrsBatched` | | +|`cublasCgetrsBatched` | | +|`cublasZgetrsBatched` | | +|`cublasStrsmBatched` | | +|`cublasDtrsmBatched` | | +|`cublasCtrsmBatched` | | +|`cublasZtrsmBatched` | | +|`cublasSmatinvBatched` | | +|`cublasDmatinvBatched` | | +|`cublasCmatinvBatched` | | +|`cublasZmatinvBatched` | | +|`cublasSgeqrfBatched` | | +|`cublasDgeqrfBatched` | | +|`cublasCgeqrfBatched` | | +|`cublasZgeqrfBatched` | | +|`cublasSgelsBatched` | | +|`cublasDgelsBatched` | | +|`cublasCgelsBatched` | | +|`cublasZgelsBatched` | | +|`cublasSdgmm` | | +|`cublasDdgmm` | | +|`cublasCdgmm` | | +|`cublasZdgmm` | | +|`cublasStpttr` | | +|`cublasDtpttr` | | +|`cublasCtpttr` | | +|`cublasZtpttr` | | +|`cublasStrttp` | | +|`cublasDtrttp` | | +|`cublasCtrttp` | | +|`cublasZtrttp` | | diff --git a/hipify-clang/src/CUDA2HipMap.cpp b/hipify-clang/src/CUDA2HipMap.cpp index 9939e8d913..63c294ac34 100644 --- a/hipify-clang/src/CUDA2HipMap.cpp +++ b/hipify-clang/src/CUDA2HipMap.cpp @@ -2064,18 +2064,7 @@ const std::map CUDA_IDENTIFIER_MAP{ {"cudaGraphicsResourceGetMappedEglFrame", {"hipGraphicsResourceGetMappedEglFrame", CONV_EGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsResourceGetMappedEglFrame) ///////////////////////////// cuBLAS ///////////////////////////// - // Blas management functions - {"cublasInit", {"hipblasInit", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasShutdown", {"hipblasShutdown", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetVersion", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetError", {"hipblasGetError", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasAlloc", {"hipblasAlloc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasFree", {"hipblasFree", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetKernelStream", {"hipblasSetKernelStream", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetAtomicsMode", {"hipblasGetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetAtomicsMode", {"hipblasSetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetMathMode", {"hipblasGetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetMathMode", {"hipblasSetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + // Blas Data Types // Blas operations {"cublasOperation_t", {"hipblasOperation_t", CONV_TYPE, API_BLAS}}, @@ -2084,6 +2073,7 @@ const std::map CUDA_IDENTIFIER_MAP{ {"CUBLAS_OP_C", {"HIPBLAS_OP_C", CONV_NUMERIC_LITERAL, API_BLAS}}, // Blas statuses + {"cublasStatus", {"hipblasStatus_t", CONV_TYPE, API_BLAS}}, {"cublasStatus_t", {"hipblasStatus_t", CONV_TYPE, API_BLAS}}, {"CUBLAS_STATUS_SUCCESS", {"HIPBLAS_STATUS_SUCCESS", CONV_NUMERIC_LITERAL, API_BLAS}}, {"CUBLAS_STATUS_NOT_INITIALIZED", {"HIPBLAS_STATUS_NOT_INITIALIZED", CONV_NUMERIC_LITERAL, API_BLAS}}, @@ -2094,6 +2084,7 @@ const std::map CUDA_IDENTIFIER_MAP{ {"CUBLAS_STATUS_INTERNAL_ERROR", {"HIPBLAS_STATUS_INTERNAL_ERROR", CONV_NUMERIC_LITERAL, API_BLAS}}, {"CUBLAS_STATUS_NOT_SUPPORTED", {"HIPBLAS_STATUS_NOT_SUPPORTED", CONV_NUMERIC_LITERAL, API_BLAS}}, {"CUBLAS_STATUS_ARCH_MISMATCH", {"HIPBLAS_STATUS_ARCH_MISMATCH", CONV_NUMERIC_LITERAL, API_BLAS}}, + {"CUBLAS_STATUS_LICENSE_ERROR", {"HIPBLAS_STATUS_LICENSE_ERROR", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // Blas Fill Modes {"cublasFillMode_t", {"hipblasFillMode_t", CONV_TYPE, API_BLAS}}, @@ -2154,6 +2145,12 @@ const std::map CUDA_IDENTIFIER_MAP{ {"CUBLAS_GEMM_ALGO15", {"HIPBLAS_GEMM_ALGO15", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 15 {"CUBLAS_GEMM_ALGO16", {"HIPBLAS_GEMM_ALGO16", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 16 {"CUBLAS_GEMM_ALGO17", {"HIPBLAS_GEMM_ALGO17", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 17 + {"CUBLAS_GEMM_ALGO18", {"HIPBLAS_GEMM_ALGO18", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 18 + {"CUBLAS_GEMM_ALGO19", {"HIPBLAS_GEMM_ALGO19", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 19 + {"CUBLAS_GEMM_ALGO20", {"HIPBLAS_GEMM_ALGO20", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 20 + {"CUBLAS_GEMM_ALGO21", {"HIPBLAS_GEMM_ALGO21", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 21 + {"CUBLAS_GEMM_ALGO22", {"HIPBLAS_GEMM_ALGO22", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 22 + {"CUBLAS_GEMM_ALGO23", {"HIPBLAS_GEMM_ALGO23", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 23 {"CUBLAS_GEMM_DEFAULT_TENSOR_OP", {"HIPBLAS_GEMM_DEFAULT_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 99 {"CUBLAS_GEMM_DFALT_TENSOR_OP", {"HIPBLAS_GEMM_DFALT_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 99 {"CUBLAS_GEMM_ALGO0_TENSOR_OP", {"HIPBLAS_GEMM_ALGO0_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 100 @@ -2161,647 +2158,675 @@ const std::map CUDA_IDENTIFIER_MAP{ {"CUBLAS_GEMM_ALGO2_TENSOR_OP", {"HIPBLAS_GEMM_ALGO2_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 102 {"CUBLAS_GEMM_ALGO3_TENSOR_OP", {"HIPBLAS_GEMM_ALGO3_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 103 {"CUBLAS_GEMM_ALGO4_TENSOR_OP", {"HIPBLAS_GEMM_ALGO4_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 104 + {"CUBLAS_GEMM_ALGO5_TENSOR_OP", {"HIPBLAS_GEMM_ALGO5_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 105 + {"CUBLAS_GEMM_ALGO6_TENSOR_OP", {"HIPBLAS_GEMM_ALGO6_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 106 + {"CUBLAS_GEMM_ALGO7_TENSOR_OP", {"HIPBLAS_GEMM_ALGO7_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 107 + {"CUBLAS_GEMM_ALGO8_TENSOR_OP", {"HIPBLAS_GEMM_ALGO8_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 108 + {"CUBLAS_GEMM_ALGO9_TENSOR_OP", {"HIPBLAS_GEMM_ALGO9_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 109 + {"CUBLAS_GEMM_ALGO10_TENSOR_OP", {"HIPBLAS_GEMM_ALGO10_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 110 + {"CUBLAS_GEMM_ALGO11_TENSOR_OP", {"HIPBLAS_GEMM_ALGO11_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 111 + {"CUBLAS_GEMM_ALGO12_TENSOR_OP", {"HIPBLAS_GEMM_ALGO12_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 112 + {"CUBLAS_GEMM_ALGO13_TENSOR_OP", {"HIPBLAS_GEMM_ALGO13_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 113 + {"CUBLAS_GEMM_ALGO14_TENSOR_OP", {"HIPBLAS_GEMM_ALGO14_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 114 + {"CUBLAS_GEMM_ALGO15_TENSOR_OP", {"HIPBLAS_GEMM_ALGO15_TENSOR_OP", CONV_NUMERIC_LITERAL, API_BLAS, HIP_UNSUPPORTED}}, // 115 + + ///////////////////////////// cuBLAS functions ///////////////////////////// + // Blas management functions + {"cublasInit", {"hipblasInit", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasShutdown", {"hipblasShutdown", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetVersion", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetError", {"hipblasGetError", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasAlloc", {"hipblasAlloc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasFree", {"hipblasFree", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetKernelStream", {"hipblasSetKernelStream", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetAtomicsMode", {"hipblasGetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetAtomicsMode", {"hipblasSetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetMathMode", {"hipblasGetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMathMode", {"hipblasSetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + + // Blas logging + {"cublasLogCallback", {"hipblasLogCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasLoggerConfigure", {"hipblasLoggerConfigure", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetLoggerCallback", {"hipblasSetLoggerCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetLoggerCallback", {"hipblasGetLoggerCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas1 (v1) Routines - {"cublasCreate", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDestroy", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, - - {"cublasSetVector", {"hipblasSetVector", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetVector", {"hipblasGetVector", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetVectorAsync", {"hipblasSetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetVectorAsync", {"hipblasGetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasSetMatrix", {"hipblasSetMatrix", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetMatrix", {"hipblasGetMatrix", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetMatrixAsync", {"hipblasGetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetMatrixAsync", {"hipblasSetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasXerbla", {"hipblasXerbla", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCreate", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDestroy", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSetStream", {"hipblasSetStream", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetStream", {"hipblasGetStream", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetPointerMode", {"hipblasGetPointerMode", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSetPointerMode", {"hipblasSetPointerMode", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSetVector", {"hipblasSetVector", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetVector", {"hipblasGetVector", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSetVectorAsync", {"hipblasSetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetVectorAsync", {"hipblasGetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMatrix", {"hipblasSetMatrix", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetMatrix", {"hipblasGetMatrix", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetMatrixAsync", {"hipblasGetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMatrixAsync", {"hipblasSetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasXerbla", {"hipblasXerbla", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // NRM2 - {"cublasSnrm2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDnrm2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasScnrm2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDznrm2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasNrm2Ex", {"hipblasNrm2Ex", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSnrm2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDnrm2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScnrm2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDznrm2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasNrm2Ex", {"hipblasNrm2Ex", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DOT - {"cublasSdot", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdot", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSdotBatched", {"hipblasSdotBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDdot", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdotBatched", {"hipblasSdotBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDdot", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDdotBatched", {"hipblasDdotBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCdotu", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdotc", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotu", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotc", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDdotBatched", {"hipblasDdotBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCdotu", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotc", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotu", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotc", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SCAL - {"cublasSscal", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSscal", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSscalBatched", {"hipblasSscalBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDscal", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSscalBatched", {"hipblasSscalBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDscal", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDscalBatched", {"hipblasDscalBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCscal", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsscal", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZscal", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdscal", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDscalBatched", {"hipblasDscalBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCscal", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsscal", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZscal", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdscal", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AXPY - {"cublasSaxpy", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSaxpyBatched", {"hipblasSaxpyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDaxpy", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCaxpy", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZaxpy", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSaxpy", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSaxpyBatched", {"hipblasSaxpyBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDaxpy", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCaxpy", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZaxpy", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // COPY - {"cublasScopy", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScopy", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasScopyBatched", {"hipblasScopyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDcopy", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScopyBatched", {"hipblasScopyBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDcopy", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDcopyBatched", {"hipblasDcopyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCcopy", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZcopy", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDcopyBatched", {"hipblasDcopyBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCcopy", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZcopy", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SWAP - {"cublasSswap", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZswap", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSswap", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDswap", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCswap", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZswap", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMAX - {"cublasIsamax", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIdamax", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIcamax", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamax", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamax", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, + {"cublasIdamax", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, + {"cublasIcamax", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamax", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMIN - {"cublasIsamin", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamin", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamin", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIdamin", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIcamin", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamin", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ASUM - {"cublasSasum", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSasum", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSasumBatched", {"hipblasSasumBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDasum", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSasumBatched", {"hipblasSasumBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDasum", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDasumBatched", {"hipblasDasumBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScasum", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDzasum", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDasumBatched", {"hipblasDasumBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScasum", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDzasum", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROT - {"cublasSrot", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrot", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrot", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsrot", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrot", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdrot", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrot", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrot", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrot", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsrot", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrot", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdrot", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTG - {"cublasSrotg", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotg", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrotg", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrotg", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotg", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotg", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrotg", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrotg", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTM - {"cublasSrotm", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotm", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotm", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotm", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTMG - {"cublasSrotmg", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotmg", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotmg", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotmg", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GEMV - {"cublasSgemv", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSgemv", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSgemvBatched", {"hipblasSgemvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgemv", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemv", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemv", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemvBatched", {"hipblasSgemvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgemv", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgemv", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemv", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GBMV - {"cublasSgbmv", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgbmv", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgbmv", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgbmv", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgbmv", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgbmv", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgbmv", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgbmv", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMV - {"cublasStrmv", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmv", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmv", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmv", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmv", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmv", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmv", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmv", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBMV - {"cublasStbmv", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbmv", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbmv", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbmv", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbmv", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbmv", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbmv", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbmv", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPMV - {"cublasStpmv", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpmv", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpmv", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpmv", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpmv", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpmv", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpmv", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpmv", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSV - {"cublasStrsv", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsv", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsv", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsv", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsv", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsv", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsv", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPSV - {"cublasStpsv", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpsv", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpsv", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpsv", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpsv", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpsv", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpsv", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpsv", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBSV - {"cublasStbsv", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbsv", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbsv", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbsv", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbsv", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbsv", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbsv", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbsv", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMV/HEMV - {"cublasSsymv", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymv", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymv", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymv", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChemv", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemv", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymv", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymv", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymv", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymv", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemv", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemv", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SBMV/HBMV - {"cublasSsbmv", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsbmv", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChbmv", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhbmv", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsbmv", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsbmv", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChbmv", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhbmv", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPMV/HPMV - {"cublasSspmv", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspmv", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpmv", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpmv", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspmv", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspmv", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpmv", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpmv", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GER - {"cublasSger", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDger", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeru", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgerc", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeru", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgerc", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSger", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDger", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgeru", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgerc", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeru", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgerc", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR/HER - {"cublasSsyr", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr", {"hipblasCsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr", {"hipblasZsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR/HPR - {"cublasSspr", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2/HER2 - {"cublasSsyr2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2", {"hipblasCsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2", {"hipblasZsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR2/HPR2 - {"cublasSspr2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas3 (v1) Routines // GEMM - {"cublasSgemm", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemm", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, - - {"cublasCgemm", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasZgemm", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasHgemm", {"hipblasHgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSgemm", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDgemm", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgemm", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasZgemm", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasHgemm", {"hipblasHgemm", CONV_MATH_FUNC, API_BLAS}}, // BATCH GEMM - {"cublasSgemmBatched", {"hipblasSgemmBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemmBatched", {"hipblasDgemmBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasHgemmBatched", {"hipblasHgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasCgemmBatched", {"hipblasCgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemmBatched", {"hipblasZgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmBatched", {"hipblasSgemmBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDgemmBatched", {"hipblasDgemmBatched", CONV_MATH_FUNC, API_BLAS}}, + {"cublasHgemmBatched", {"hipblasHgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmBatched", {"hipblasCgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemmBatched", {"hipblasZgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRK - {"cublasSsyrk", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrk", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrk", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrk", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrk", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrk", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrk", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERK - {"cublasCherk", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherk", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherk", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2K - {"cublasSsyr2k", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2k", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2k", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2k", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2k", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2k", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2k", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2k", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRKX - eXtended SYRK - {"cublasSsyrkx", {"hipblasSsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrkx", {"hipblasDsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrkx", {"hipblasCsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrkx", {"hipblasZsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrkx", {"hipblasSsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrkx", {"hipblasDsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrkx", {"hipblasCsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrkx", {"hipblasZsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HER2K - {"cublasCher2k", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2k", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2k", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2k", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERKX - eXtended HERK - {"cublasCherkx", {"hipblasCherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherkx", {"hipblasZherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherkx", {"hipblasCherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherkx", {"hipblasZherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMM - {"cublasSsymm", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymm", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymm", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymm", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymm", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymm", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymm", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymm", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HEMM - {"cublasChemm", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemm", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemm", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemm", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - {"cublasStrsm", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDtrsm", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCtrsm", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsm", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsm", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDtrsm", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCtrsm", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsm", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - Batched Triangular Solver - {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMM - {"cublasStrmm", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmm", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmm", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmm", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmm", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmm", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmm", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmm", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ------------------------ CUBLAS BLAS - like extension (cublas_api.h) // GEAM - {"cublasSgeam", {"hipblasSgeam", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgeam", {"hipblasDgeam", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeam", {"hipblasCgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeam", {"hipblasZgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgeam", {"hipblasSgeam", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDgeam", {"hipblasDgeam", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgeam", {"hipblasCgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeam", {"hipblasZgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GETRF - Batched LU - {"cublasSgetrfBatched", {"hipblasSgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetrfBatched", {"hipblasDgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetrfBatched", {"hipblasCgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetrfBatched", {"hipblasZgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetrfBatched", {"hipblasSgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetrfBatched", {"hipblasDgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetrfBatched", {"hipblasCgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetrfBatched", {"hipblasZgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batched inversion based on LU factorization from getrf - {"cublasSgetriBatched", {"hipblasSgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetriBatched", {"hipblasDgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetriBatched", {"hipblasCgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetriBatched", {"hipblasZgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetriBatched", {"hipblasSgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetriBatched", {"hipblasDgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetriBatched", {"hipblasCgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetriBatched", {"hipblasZgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batched solver based on LU factorization from getrf - {"cublasSgetrsBatched", {"hipblasSgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetrsBatched", {"hipblasDgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetrsBatched", {"hipblasCgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetrsBatched", {"hipblasZgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetrsBatched", {"hipblasSgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetrsBatched", {"hipblasDgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetrsBatched", {"hipblasCgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetrsBatched", {"hipblasZgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - Batched Triangular Solver - {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // MATINV - Batched - {"cublasSmatinvBatched", {"hipblasSmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDmatinvBatched", {"hipblasDmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCmatinvBatched", {"hipblasCmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZmatinvBatched", {"hipblasZmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSmatinvBatched", {"hipblasSmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDmatinvBatched", {"hipblasDmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCmatinvBatched", {"hipblasCmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZmatinvBatched", {"hipblasZmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batch QR Factorization - {"cublasSgeqrfBatched", {"hipblasSgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgeqrfBatched", {"hipblasDgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgeqrfBatched", {"hipblasCgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeqrfBatched", {"hipblasZgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgeqrfBatched", {"hipblasSgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgeqrfBatched", {"hipblasDgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgeqrfBatched", {"hipblasCgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeqrfBatched", {"hipblasZgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Least Square Min only m >= n and Non-transpose supported - {"cublasSgelsBatched", {"hipblasSgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgelsBatched", {"hipblasDgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgelsBatched", {"hipblasCgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgelsBatched", {"hipblasZgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgelsBatched", {"hipblasSgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgelsBatched", {"hipblasDgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgelsBatched", {"hipblasCgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgelsBatched", {"hipblasZgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DGMM - {"cublasSdgmm", {"hipblasSdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDdgmm", {"hipblasDdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdgmm", {"hipblasCdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdgmm", {"hipblasZdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSdgmm", {"hipblasSdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDdgmm", {"hipblasDdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdgmm", {"hipblasCdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdgmm", {"hipblasZdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPTTR - Triangular Pack format to Triangular format - {"cublasStpttr", {"hipblasStpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpttr", {"hipblasDtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpttr", {"hipblasCtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpttr", {"hipblasZtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpttr", {"hipblasStpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpttr", {"hipblasDtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpttr", {"hipblasCtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpttr", {"hipblasZtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRTTP - Triangular format to Triangular Pack format - {"cublasStrttp", {"hipblasStrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrttp", {"hipblasDtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrttp", {"hipblasCtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrttp", {"hipblasZtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrttp", {"hipblasStrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrttp", {"hipblasDtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrttp", {"hipblasCtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrttp", {"hipblasZtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas2 (v2) Routines - {"cublasCreate_v2", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDestroy_v2", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, - - {"cublasGetVersion_v2", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetStream_v2", {"hipblasSetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetStream_v2", {"hipblasGetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetPointerMode_v2", {"hipblasGetPointerMode", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetPointerMode_v2", {"hipblasSetPointerMode", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCreate_v2", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDestroy_v2", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetVersion_v2", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetProperty", {"hipblasGetProperty", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetStream_v2", {"hipblasSetStream", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetStream_v2", {"hipblasGetStream", CONV_MATH_FUNC, API_BLAS}}, + {"cublasGetPointerMode_v2", {"hipblasGetPointerMode", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSetPointerMode_v2", {"hipblasSetPointerMode", CONV_MATH_FUNC, API_BLAS}}, // GEMV - {"cublasSgemv_v2", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemv_v2", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemv_v2", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemv_v2", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemv_v2", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDgemv_v2", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgemv_v2", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemv_v2", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GBMV - {"cublasSgbmv_v2", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgbmv_v2", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgbmv_v2", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgbmv_v2", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgbmv_v2", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgbmv_v2", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgbmv_v2", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgbmv_v2", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMV - {"cublasStrmv_v2", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmv_v2", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmv_v2", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmv_v2", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmv_v2", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmv_v2", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmv_v2", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmv_v2", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBMV - {"cublasStbmv_v2", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbmv_v2", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbmv_v2", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbmv_v2", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbmv_v2", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbmv_v2", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbmv_v2", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbmv_v2", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPMV - {"cublasStpmv_v2", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpmv_v2", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpmv_v2", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpmv_v2", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpmv_v2", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpmv_v2", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpmv_v2", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpmv_v2", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSV - {"cublasStrsv_v2", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv_v2", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsv_v2", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsv_v2", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsv_v2", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsv_v2", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsv_v2", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsv_v2", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPSV - {"cublasStpsv_v2", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpsv_v2", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpsv_v2", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpsv_v2", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpsv_v2", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpsv_v2", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpsv_v2", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpsv_v2", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBSV - {"cublasStbsv_v2", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbsv_v2", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbsv_v2", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbsv_v2", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbsv_v2", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbsv_v2", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbsv_v2", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbsv_v2", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMV/HEMV - {"cublasSsymv_v2", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymv_v2", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymv_v2", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymv_v2", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChemv_v2", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemv_v2", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymv_v2", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymv_v2", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymv_v2", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymv_v2", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemv_v2", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemv_v2", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SBMV/HBMV - {"cublasSsbmv_v2", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsbmv_v2", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChbmv_v2", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhbmv_v2", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsbmv_v2", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsbmv_v2", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChbmv_v2", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhbmv_v2", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPMV/HPMV - {"cublasSspmv_v2", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspmv_v2", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpmv_v2", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpmv_v2", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspmv_v2", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspmv_v2", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpmv_v2", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpmv_v2", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GER - {"cublasSger_v2", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDger_v2", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeru_v2", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgerc_v2", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeru_v2", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgerc_v2", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSger_v2", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDger_v2", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgeru_v2", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgerc_v2", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeru_v2", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgerc_v2", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR/HER - {"cublasSsyr_v2", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr_v2", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr_v2", {"hipblasCsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr_v2", {"hipblasZsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher_v2", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher_v2", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr_v2", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr_v2", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr_v2", {"hipblasCsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr_v2", {"hipblasZsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher_v2", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher_v2", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR/HPR - {"cublasSspr_v2", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr_v2", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr_v2", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr_v2", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr_v2", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr_v2", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr_v2", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr_v2", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2/HER2 - {"cublasSsyr2_v2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2_v2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2_v2", {"hipblasCsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2_v2", {"hipblasZsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher2_v2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2_v2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2_v2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2_v2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2_v2", {"hipblasCsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2_v2", {"hipblasZsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2_v2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2_v2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR2/HPR2 - {"cublasSspr2_v2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr2_v2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr2_v2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr2_v2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr2_v2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr2_v2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr2_v2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr2_v2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas3 (v2) Routines // GEMM - {"cublasSgemm_v2", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemm_v2", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, - - {"cublasCgemm_v2", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemm3m", {"hipblasCgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mEx", {"hipblasCgemm3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasZgemm_v2", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemm3m", {"hipblasZgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemm_v2", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDgemm_v2", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgemm_v2", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCgemm3m", {"hipblasCgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mEx", {"hipblasCgemm3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemm_v2", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemm3m", {"hipblasZgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, //IO in FP16 / FP32, computation in float - {"cublasSgemmEx", {"hipblasSgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGemmEx", {"hipblasGemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGemmBatchedEx", {"hipblasGemmBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmEx", {"hipblasSgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGemmEx", {"hipblasGemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGemmBatchedEx", {"hipblasGemmBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCgemmEx", {"hipblasCgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - - {"cublasUint8gemmBias", {"hipblasUint8gemmBias", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmEx", {"hipblasCgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasUint8gemmBias", {"hipblasUint8gemmBias", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRK - {"cublasSsyrk_v2", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrk_v2", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrk_v2", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrk_v2", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrk_v2", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrk_v2", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk_v2", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrk_v2", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCsyrkEx", {"hipblasCsyrkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrkEx", {"hipblasCsyrkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex, Gaussian math - {"cublasCsyrk3mEx", {"hipblasCsyrk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk3mEx", {"hipblasCsyrk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERK - {"cublasCherk_v2", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk_v2", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCherkEx", {"hipblasCherkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherkEx", {"hipblasCherkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex, Gaussian math - {"cublasCherk3mEx", {"hipblasCherk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherk_v2", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk3mEx", {"hipblasCherk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherk_v2", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2K - {"cublasSsyr2k_v2", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2k_v2", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2k_v2", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2k_v2", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2k_v2", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2k_v2", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2k_v2", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2k_v2", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HER2K - {"cublasCher2k_v2", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2k_v2", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2k_v2", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2k_v2", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMM - {"cublasSsymm_v2", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymm_v2", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymm_v2", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymm_v2", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymm_v2", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymm_v2", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymm_v2", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymm_v2", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HEMM - {"cublasChemm_v2", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemm_v2", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemm_v2", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemm_v2", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - {"cublasStrsm_v2", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsm_v2", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsm_v2", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsm_v2", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsm_v2", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDtrsm_v2", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCtrsm_v2", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsm_v2", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMM - {"cublasStrmm_v2", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmm_v2", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmm_v2", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmm_v2", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmm_v2", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmm_v2", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmm_v2", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmm_v2", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // NRM2 - {"cublasSnrm2_v2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDnrm2_v2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasScnrm2_v2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDznrm2_v2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSnrm2_v2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDnrm2_v2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScnrm2_v2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDznrm2_v2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DOT - {"cublasDotEx", {"hipblasDotEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDotcEx", {"hipblasDotcEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDotEx", {"hipblasDotEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDotcEx", {"hipblasDotcEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSdot_v2", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDdot_v2", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdot_v2", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDdot_v2", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCdotu_v2", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdotc_v2", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotu_v2", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotc_v2", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotu_v2", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotc_v2", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotu_v2", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotc_v2", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SCAL - {"cublasScalEx", {"hipblasScalEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSscal_v2", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDscal_v2", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCscal_v2", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsscal_v2", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZscal_v2", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdscal_v2", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasScalEx", {"hipblasScalEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSscal_v2", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDscal_v2", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCscal_v2", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsscal_v2", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZscal_v2", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdscal_v2", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AXPY - {"cublasAxpyEx", {"hipblasAxpyEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSaxpy_v2", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDaxpy_v2", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCaxpy_v2", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZaxpy_v2", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasAxpyEx", {"hipblasAxpyEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSaxpy_v2", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDaxpy_v2", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCaxpy_v2", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZaxpy_v2", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // COPY - {"cublasScopy_v2", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDcopy_v2", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCcopy_v2", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZcopy_v2", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasScopy_v2", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDcopy_v2", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCcopy_v2", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZcopy_v2", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SWAP - {"cublasSswap_v2", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap_v2", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap_v2", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZswap_v2", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSswap_v2", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDswap_v2", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCswap_v2", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZswap_v2", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMAX - {"cublasIsamax_v2", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIdamax_v2", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIcamax_v2", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamax_v2", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamax_v2", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, + {"cublasIdamax_v2", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, + {"cublasIcamax_v2", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamax_v2", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMIN - {"cublasIsamin_v2", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin_v2", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin_v2", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamin_v2", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamin_v2", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIdamin_v2", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIcamin_v2", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamin_v2", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ASUM - {"cublasSasum_v2", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDasum_v2", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScasum_v2", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDzasum_v2", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSasum_v2", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasDasum_v2", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScasum_v2", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDzasum_v2", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROT - {"cublasSrot_v2", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrot_v2", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrot_v2", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsrot_v2", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrot_v2", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdrot_v2", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrot_v2", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrot_v2", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrot_v2", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsrot_v2", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrot_v2", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdrot_v2", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTG - {"cublasSrotg_v2", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotg_v2", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrotg_v2", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrotg_v2", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotg_v2", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotg_v2", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrotg_v2", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrotg_v2", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTM - {"cublasSrotm_v2", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotm_v2", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotm_v2", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotm_v2", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTMG - {"cublasSrotmg_v2", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotmg_v2", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotmg_v2", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotmg_v2", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, ///////////////////////////// cuRAND ///////////////////////////// // RAND function call status types (enum curandStatus) diff --git a/tests/hipify-clang/cuBLAS/cublas_0_based_indexing.cu b/tests/hipify-clang/cuBLAS/cublas_0_based_indexing.cu new file mode 100644 index 0000000000..5dcaaaf637 --- /dev/null +++ b/tests/hipify-clang/cuBLAS/cublas_0_based_indexing.cu @@ -0,0 +1,79 @@ +// RUN: %run_test hipify "%s" "%t" %cuda_args + +#include +#include +#include +// CHECK: #include "hipblas.h" +#include "cublas.h" +#define M 6 +#define N 5 +#define IDX2C(i,j,ld) (((j)*(ld))+(i)) +static __inline__ void modify(float *m, int ldm, int n, int p, int q, float + alpha, float beta) { + // CHECK: hipblasSscal(n - p, alpha, &m[IDX2C(p, q, ldm)], ldm); + // CHECK: hipblasSscal(ldm - p, beta, &m[IDX2C(p, q, ldm)], 1); + cublasSscal(n - p, alpha, &m[IDX2C(p, q, ldm)], ldm); + cublasSscal(ldm - p, beta, &m[IDX2C(p, q, ldm)], 1); +} +int main(void) { + int i, j; + // CHECK: hipblasStatus_t stat; + cublasStatus stat; + float* devPtrA; + float* a = 0; + a = (float *)malloc(M * N * sizeof(*a)); + if (!a) { + printf("host memory allocation failed"); + return EXIT_FAILURE; + } + for (j = 0; j < N; j++) { + for (i = 0; i < M; i++) { + a[IDX2C(i, j, M)] = (float)(i * M + j + 1); + } + } + // cublasInit is not supported yet + cublasInit(); + stat = cublasAlloc(M*N, sizeof(*a), (void**)&devPtrA); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("device memory allocation failed"); + // cublasShutdown is not supported yet + cublasShutdown(); + return EXIT_FAILURE; + } + // CHECK: stat = hipblasSetMatrix(M, N, sizeof(*a), a, M, devPtrA, M); + stat = cublasSetMatrix(M, N, sizeof(*a), a, M, devPtrA, M); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("data download failed"); + // cublasFree is not supported yet + cublasFree(devPtrA); + // cublasShutdown is not supported yet + cublasShutdown(); + return EXIT_FAILURE; + } + modify(devPtrA, M, N, 1, 2, 16.0f, 12.0f); + // CHECK: stat = hipblasGetMatrix(M, N, sizeof(*a), devPtrA, M, a, M); + stat = cublasGetMatrix(M, N, sizeof(*a), devPtrA, M, a, M); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("data upload failed"); + // cublasFree is not supported yet + cublasFree(devPtrA); + // cublasShutdown is not supported yet + cublasShutdown(); + return EXIT_FAILURE; + } + // cublasFree is not supported yet + cublasFree(devPtrA); + // cublasShutdown is not supported yet + cublasShutdown(); + for (j = 0; j < N; j++) { + for (i = 0; i < M; i++) { + printf("%7.0f", a[IDX2C(i, j, M)]); + } + printf("\n"); + } + free(a); + return EXIT_SUCCESS; +} diff --git a/tests/hipify-clang/cuBLAS/cublas_1_based_indexing.cu b/tests/hipify-clang/cuBLAS/cublas_1_based_indexing.cu new file mode 100644 index 0000000000..4e3c1cace8 --- /dev/null +++ b/tests/hipify-clang/cuBLAS/cublas_1_based_indexing.cu @@ -0,0 +1,90 @@ +// RUN: %run_test hipify "%s" "%t" %cuda_args + +#include +#include +#include +// CHECK: #include +#include +// CHECK: #include "hipblas.h" +#include "cublas_v2.h" +#define M 6 +#define N 5 +#define IDX2F(i,j,ld) ((((j)-1)*(ld))+((i)-1)) +// CHECK: static __inline__ void modify(hipblasHandle_t handle, float *m, int ldm, int +static __inline__ void modify(cublasHandle_t handle, float *m, int ldm, int + n, int p, int q, float alpha, float beta) { + // CHECK: hipblasSscal(handle, n - p + 1, &alpha, &m[IDX2F(p, q, ldm)], ldm); + // CHECK: hipblasSscal(handle, ldm - p + 1, &beta, &m[IDX2F(p, q, ldm)], 1); + cublasSscal(handle, n - p + 1, &alpha, &m[IDX2F(p, q, ldm)], ldm); + cublasSscal(handle, ldm - p + 1, &beta, &m[IDX2F(p, q, ldm)], 1); +} +int main(void) { + // CHECK: hipError_t cudaStat; + // CHECK: hipblasStatus_t stat; + // CHECK: hipblasHandle_t handle; + cudaError_t cudaStat; + cublasStatus_t stat; + cublasHandle_t handle; + int i, j; + float* devPtrA; + float* a = 0; + a = (float *)malloc(M * N * sizeof(*a)); + if (!a) { + printf("host memory allocation failed"); + return EXIT_FAILURE; + } + for (j = 1; j <= N; j++) { + for (i = 1; i <= M; i++) { + a[IDX2F(i, j, M)] = (float)((i - 1) * M + j); + } + } + // CHECK: cudaStat = hipMalloc((void**)&devPtrA, M*N * sizeof(*a)); + cudaStat = cudaMalloc((void**)&devPtrA, M*N * sizeof(*a)); + // CHECK: if (cudaStat != hipSuccess) { + if (cudaStat != cudaSuccess) { + printf("device memory allocation failed"); + return EXIT_FAILURE; + } + // CHECK: stat = hipblasCreate(&handle); + stat = cublasCreate(&handle); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("CUBLAS initialization failed\n"); + return EXIT_FAILURE; + } + // CHECK: stat = hipblasSetMatrix(M, N, sizeof(*a), a, M, devPtrA, M); + stat = cublasSetMatrix(M, N, sizeof(*a), a, M, devPtrA, M); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("data download failed"); + // CHECK: hipFree(devPtrA); + // CHECK: hipblasDestroy(handle); + cudaFree(devPtrA); + cublasDestroy(handle); + return EXIT_FAILURE; + } + modify(handle, devPtrA, M, N, 2, 3, 16.0f, 12.0f); + // CHECK: stat = hipblasGetMatrix(M, N, sizeof(*a), devPtrA, M, a, M); + stat = cublasGetMatrix(M, N, sizeof(*a), devPtrA, M, a, M); + // CHECK: if (stat != HIPBLAS_STATUS_SUCCESS) { + if (stat != CUBLAS_STATUS_SUCCESS) { + printf("data upload failed"); + // CHECK: hipFree(devPtrA); + // CHECK: hipblasDestroy(handle); + cudaFree(devPtrA); + cublasDestroy(handle); + return EXIT_FAILURE; + } + // CHECK: hipFree(devPtrA); + // CHECK: hipblasDestroy(handle); + cudaFree(devPtrA); + cublasDestroy(handle); + for (j = 1; j <= N; j++) { + for (i = 1; i <= M; i++) { + printf("%7.0f", a[IDX2F(i, j, M)]); + } + printf("\n"); + } + free(a); + return EXIT_SUCCESS; +} diff --git a/tests/hipify-clang/cuBLAS/cublas_sgemm_matrix_multiplication.cu b/tests/hipify-clang/cuBLAS/cublas_sgemm_matrix_multiplication.cu new file mode 100644 index 0000000000..32692440d4 --- /dev/null +++ b/tests/hipify-clang/cuBLAS/cublas_sgemm_matrix_multiplication.cu @@ -0,0 +1,108 @@ +// RUN: %run_test hipify "%s" "%t" %cuda_args + +#include +#include +// CHECK: #include +#include +// CHECK: #include "hipblas.h" +#include "cublas_v2.h" +#define IDX2C(i,j,ld) (((j)*(ld))+(i)) +#define m 6 +#define n 4 +#define k 5 +int main(void) { + // CHECK: hipError_t cudaStat; + // CHECK: hipblasStatus_t stat; + // CHECK: hipblasHandle_t handle; + cudaError_t cudaStat; + cublasStatus_t stat; + cublasHandle_t handle; + int i, j; + float * a; + float * b; + float * c; + a = (float *)malloc(m*k * sizeof(float)); + b = (float *)malloc(k*n * sizeof(float)); + c = (float *)malloc(m*n * sizeof(float)); + int ind = 11; + for (j = 0; j Date: Wed, 25 Jul 2018 14:16:32 -0700 Subject: [PATCH 17/77] Remove device mapping from shareWithAll memory When shareWithAll memory (e.g., host memory) is allocated, set appId in hc::AmPointerInfo to -1 to indicate that this memory is not mapped to any device. Peer checking in ihipStream_t::canSeeMemory is not necessary if memory is shared with all devices. Thus, it is skipped. Note that earlier host memory is always mapped to device 0 and HIP always performs peer checking for all kinds of hipMemcpy. Since the peer checking process requires context locking, hipMemcpy from/to host memory always grabs device 0's context lock. Therefore, if there is another thread holding the context lock of device 0 (e.g., hipDeviceSynchronize on device 0), hipMemcpy will have to wait for the lock until it can actually perform memcpy. This can significantly deteriorate execution performance. Signed-off-by: Sarunya Pumma --- src/hip_hcc.cpp | 4 ++-- src/hip_memory.cpp | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/hip_hcc.cpp b/src/hip_hcc.cpp index c23bdf6dad..aecf75b717 100644 --- a/src/hip_hcc.cpp +++ b/src/hip_hcc.cpp @@ -1808,7 +1808,7 @@ bool ihipStream_t::canSeeMemory(const ihipCtx_t* copyEngineCtx, const hc::AmPoin // TODO - pointer-info stores a deviceID not a context,may have some unusual side-effects here: if (dstPtrInfo->_sizeBytes == 0) { return false; - } else { + } else if (dstPtrInfo->_appId != -1) { #if USE_APP_PTR_FOR_CTX ihipCtx_t* dstCtx = static_cast(dstPtrInfo->_appPtr); #else @@ -1831,7 +1831,7 @@ bool ihipStream_t::canSeeMemory(const ihipCtx_t* copyEngineCtx, const hc::AmPoin // TODO - pointer-info stores a deviceID not a context,may have some unusual side-effects here: if (srcPtrInfo->_sizeBytes == 0) { return false; - } else { + } else if (srcPtrInfo->_appId != -1) { #if USE_APP_PTR_FOR_CTX ihipCtx_t* srcCtx = static_cast(srcPtrInfo->_appPtr); #else diff --git a/src/hip_memory.cpp b/src/hip_memory.cpp index d6c04ae98c..dc5390f014 100644 --- a/src/hip_memory.cpp +++ b/src/hip_memory.cpp @@ -61,19 +61,20 @@ int sharePtr(void* ptr, ihipCtx_t* ctx, bool shareWithAll, unsigned hipFlags) { auto device = ctx->getWriteableDevice(); -#if USE_APP_PTR_FOR_CTX - hc::am_memtracker_update(ptr, device->_deviceId, hipFlags, ctx); -#else - hc::am_memtracker_update(ptr, device->_deviceId, hipFlags); -#endif - if (shareWithAll) { + // shareWithAll memory is not mapped to any device + hc::am_memtracker_update(ptr, -1, hipFlags); hsa_status_t s = hsa_amd_agents_allow_access(g_deviceCnt + 1, g_allAgents, NULL, ptr); tprintf(DB_MEM, " allow access to CPU + all %d GPUs (shareWithAll)\n", g_deviceCnt); if (s != HSA_STATUS_SUCCESS) { ret = -1; } } else { +#if USE_APP_PTR_FOR_CTX + hc::am_memtracker_update(ptr, device->_deviceId, hipFlags, ctx); +#else + hc::am_memtracker_update(ptr, device->_deviceId, hipFlags); +#endif int peerCnt = 0; { LockedAccessor_CtxCrit_t crit(ctx->criticalData()); From e0e785a45d1ff3f0e98cd04103f057ead3b83be5 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Mon, 30 Jul 2018 19:34:05 +0000 Subject: [PATCH 18/77] Ensure correct vector value type used in texture Implement the vector value types in terms of SCALAR_TYPE##SIZE_vector_value_type for float, int, uint and sizes 2, 3, 4, 8, and 16. --- include/hip/hcc_detail/texture_functions.h | 2571 ++++++++++---------- 1 file changed, 1291 insertions(+), 1280 deletions(-) diff --git a/include/hip/hcc_detail/texture_functions.h b/include/hip/hcc_detail/texture_functions.h index 0c221c1997..892b39780a 100644 --- a/include/hip/hcc_detail/texture_functions.h +++ b/include/hip/hcc_detail/texture_functions.h @@ -26,10 +26,21 @@ THE SOFTWARE. #include #include +#define TYPEDEF_VECTOR_VALUE_TYPE(SCALAR_TYPE) \ +typedef SCALAR_TYPE SCALAR_TYPE##2_vector_value_type __attribute__((ext_vector_type(2))); \ +typedef SCALAR_TYPE SCALAR_TYPE##3_vector_value_type __attribute__((ext_vector_type(3))); \ +typedef SCALAR_TYPE SCALAR_TYPE##4_vector_value_type __attribute__((ext_vector_type(4))); \ +typedef SCALAR_TYPE SCALAR_TYPE##8_vector_value_type __attribute__((ext_vector_type(8))); \ +typedef SCALAR_TYPE SCALAR_TYPE##16_vector_value_type __attribute__((ext_vector_type(16))); + +TYPEDEF_VECTOR_VALUE_TYPE(float); +TYPEDEF_VECTOR_VALUE_TYPE(int); +TYPEDEF_VECTOR_VALUE_TYPE(uint); + union TData { - float4 f; - int4 i; - uint4 u; + float4_vector_value_type f; + int4_vector_value_type i; + uint4_vector_value_type u; }; #define __TEXTURE_FUNCTIONS_DECL__ static __inline__ __device__ @@ -154,110 +165,110 @@ union TData { extern "C" { __device__ -float4 __ockl_image_sample_1D( +float4_vector_value_type __ockl_image_sample_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c); __device__ -float4 __ockl_image_sample_1Da( +float4_vector_value_type __ockl_image_sample_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c); + float2_vector_value_type c); __device__ -float4 __ockl_image_sample_2D( +float4_vector_value_type __ockl_image_sample_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c); + float2_vector_value_type c); __device__ -float4 __ockl_image_sample_2Da( +float4_vector_value_type __ockl_image_sample_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c); + float4_vector_value_type c); __device__ float __ockl_image_sample_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c); + float4_vector_value_type c); __device__ float __ockl_image_sample_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c); + float2_vector_value_type c); __device__ -float4 __ockl_image_sample_3D( +float4_vector_value_type __ockl_image_sample_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c); + float4_vector_value_type c); __device__ -float4 __ockl_image_sample_grad_1D( +float4_vector_value_type __ockl_image_sample_grad_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float dx, float dy); __device__ -float4 __ockl_image_sample_grad_1Da( +float4_vector_value_type __ockl_image_sample_grad_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float dx, float dy); + float2_vector_value_type c, float dx, float dy); __device__ -float4 __ockl_image_sample_grad_2D( +float4_vector_value_type __ockl_image_sample_grad_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float2 dx, float2 dy); + float2_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); __device__ -float4 __ockl_image_sample_grad_2Da( +float4_vector_value_type __ockl_image_sample_grad_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float2 dx, float2 dy); + float4_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); __device__ float __ockl_image_sample_grad_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float2 dx, float2 dy); + float4_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); __device__ float __ockl_image_sample_grad_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float2 dx, float2 dy); + float2_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); __device__ -float4 __ockl_image_sample_grad_3D( +float4_vector_value_type __ockl_image_sample_grad_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float4 dx, float4 dy); + float4_vector_value_type c, float4_vector_value_type dx, float4_vector_value_type dy); __device__ -float4 __ockl_image_sample_lod_1D( +float4_vector_value_type __ockl_image_sample_lod_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float l); __device__ -float4 __ockl_image_sample_lod_1Da( +float4_vector_value_type __ockl_image_sample_lod_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float l); + float2_vector_value_type c, float l); __device__ -float4 __ockl_image_sample_lod_2D( +float4_vector_value_type __ockl_image_sample_lod_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float l); + float2_vector_value_type c, float l); __device__ -float4 __ockl_image_sample_lod_2Da( +float4_vector_value_type __ockl_image_sample_lod_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float l); + float4_vector_value_type c, float l); __device__ float __ockl_image_sample_lod_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float l); + float4_vector_value_type c, float l); __device__ float __ockl_image_sample_lod_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2 c, float l); + float2_vector_value_type c, float l); __device__ -float4 __ockl_image_sample_lod_3D( +float4_vector_value_type __ockl_image_sample_lod_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4 c, float l); + float4_vector_value_type c, float l); } //////////////////////////////////////////////////////////// @@ -1045,196 +1056,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex1DGrad(hipTextureObject_t textureObject, float x __TEXTURE_FUNCTIONS_DECL__ void tex2D(char* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(char4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uchar4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(short4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(ushort4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(int4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(uint4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float1* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float2* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2D(float4* retVal, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_SET_FLOAT_XYZW; } @@ -1249,196 +1260,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex2D(hipTextureObject_t textureObject, float x, fl __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(char4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(short4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(int4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float1* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float2* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex2DLod(float4* retVal, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_SET_FLOAT_XYZW; } @@ -1454,196 +1465,196 @@ __TEXTURE_FUNCTIONS_DECL__ T tex2DLod(hipTextureObject_t textureObject, float x, __TEXTURE_FUNCTIONS_DECL__ void tex3D(char* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(char4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(short4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(int4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float1* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float2* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex3D(float4* retVal, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_SET_FLOAT_XYZW; } @@ -1658,7 +1669,7 @@ __TEXTURE_FUNCTIONS_DECL__ T tex3D(hipTextureObject_t textureObject, float x, fl __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -1666,7 +1677,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -1674,7 +1685,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char1* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -1682,7 +1693,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char2* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -1690,7 +1701,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(char4* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned char* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -1698,7 +1709,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned char* retVal, hipTextureObject __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -1706,7 +1717,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -1714,7 +1725,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1722,7 +1733,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uchar4* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -1730,7 +1741,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -1738,7 +1749,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -1746,7 +1757,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -1754,7 +1765,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(short4* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned short* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -1762,7 +1773,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned short* retVal, hipTextureObjec __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -1770,7 +1781,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort1* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -1778,7 +1789,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort2* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1786,7 +1797,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(ushort4* retVal, hipTextureObject_t tex __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -1794,7 +1805,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int* retVal, hipTextureObject_t texture __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -1802,7 +1813,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int1* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -1810,7 +1821,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int2* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -1818,7 +1829,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(int4* retVal, hipTextureObject_t textur __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned int* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -1826,7 +1837,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(unsigned int* retVal, hipTextureObject_ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -1834,7 +1845,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint1* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -1842,7 +1853,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint2* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -1850,7 +1861,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(uint4* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_FLOAT; } @@ -1858,7 +1869,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float* retVal, hipTextureObject_t textu __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float1* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_FLOAT_X; } @@ -1866,7 +1877,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float1* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float2* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_FLOAT_XY; } @@ -1874,7 +1885,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float2* retVal, hipTextureObject_t text __TEXTURE_FUNCTIONS_DECL__ void tex3DLod(float4* retVal, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_SET_FLOAT_XYZW; } @@ -1891,189 +1902,189 @@ __TEXTURE_FUNCTIONS_DECL__ T tex3DLod(hipTextureObject_t textureObject, float x, __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(char4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned char* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uchar4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(short4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned short* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(ushort4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(int4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_SIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(unsigned int* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(uint4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_UNSIGNED_XYZW; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_FLOAT; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float1* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_FLOAT_X; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float2* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_FLOAT_XY; } __TEXTURE_FUNCTIONS_DECL__ void tex1DLayered(float4* retVal, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_SET_FLOAT_XYZW; } @@ -2089,7 +2100,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED; } @@ -2097,7 +2108,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char1* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_X; } @@ -2105,7 +2116,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char2* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2113,7 +2124,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(char4* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2122,7 +2133,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned char* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED; } @@ -2130,7 +2141,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2138,7 +2149,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2146,7 +2157,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uchar4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2154,7 +2165,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED; } @@ -2162,7 +2173,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_X; } @@ -2170,7 +2181,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2178,7 +2189,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(short4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2187,7 +2198,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned short* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED; } @@ -2195,7 +2206,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort1* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2203,7 +2214,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort2* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2211,7 +2222,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(ushort4* retVal, hipTextureObjec float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2219,7 +2230,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED; } @@ -2227,7 +2238,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int1* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_X; } @@ -2235,7 +2246,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int2* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2243,7 +2254,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(int4* retVal, hipTextureObject_t float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2252,7 +2263,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(unsigned int* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED; } @@ -2260,7 +2271,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint1* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2268,7 +2279,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint2* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2276,7 +2287,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(uint4* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2284,7 +2295,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float* retVal, hipTextureObject_ float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_FLOAT; } @@ -2292,7 +2303,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float1* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_FLOAT_X; } @@ -2300,7 +2311,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float2* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_FLOAT_XY; } @@ -2308,7 +2319,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredLod(float4* retVal, hipTextureObject float x, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_SET_FLOAT_XYZW; } @@ -2325,7 +2336,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED; } @@ -2333,7 +2344,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char1* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2341,7 +2352,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char2* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2349,7 +2360,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(char4* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2358,7 +2369,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned char* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2366,7 +2377,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2374,7 +2385,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2382,7 +2393,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uchar4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2390,7 +2401,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED; } @@ -2398,7 +2409,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2406,7 +2417,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2414,7 +2425,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(short4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2423,7 +2434,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned short* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2431,7 +2442,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort1* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2439,7 +2450,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort2* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2447,7 +2458,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(ushort4* retVal, hipTextureObje float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2455,7 +2466,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int* retVal, hipTextureObject_t float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED; } @@ -2463,7 +2474,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int1* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_X; } @@ -2471,7 +2482,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int2* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XY; } @@ -2479,7 +2490,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(int4* retVal, hipTextureObject_ float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_SIGNED_XYZW; } @@ -2488,7 +2499,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(unsigned int* retVal, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED; } @@ -2496,7 +2507,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint1* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_X; } @@ -2504,7 +2515,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint2* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XY; } @@ -2512,7 +2523,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(uint4* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2520,7 +2531,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float* retVal, hipTextureObject float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_FLOAT; } @@ -2528,7 +2539,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float1* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_FLOAT_X; } @@ -2536,7 +2547,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float2* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_FLOAT_XY; } @@ -2544,7 +2555,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex1DLayeredGrad(float4* retVal, hipTextureObjec float x, int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_SET_FLOAT_XYZW; } @@ -2561,7 +2572,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED; } @@ -2569,7 +2580,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char1* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_X; } @@ -2577,7 +2588,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char2* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XY; } @@ -2585,7 +2596,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(char4* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } @@ -2594,7 +2605,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned char* retVal, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED; } @@ -2602,7 +2613,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } @@ -2610,7 +2621,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } @@ -2618,7 +2629,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uchar4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2626,7 +2637,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED; } @@ -2634,7 +2645,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_X; } @@ -2642,7 +2653,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XY; } @@ -2650,7 +2661,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(short4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } @@ -2659,7 +2670,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned short* retVal, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED; } @@ -2667,7 +2678,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } @@ -2675,7 +2686,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } @@ -2683,7 +2694,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(ushort4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2691,7 +2702,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int* retVal, hipTextureObject_t tex float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED; } @@ -2699,7 +2710,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int1* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_X; } @@ -2707,7 +2718,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int2* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XY; } @@ -2715,7 +2726,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(int4* retVal, hipTextureObject_t te float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_SIGNED_XYZW; } @@ -2723,7 +2734,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(unsigned int* retVal, hipTextureObj float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED; } @@ -2731,7 +2742,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint1* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_X; } @@ -2739,7 +2750,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint2* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XY; } @@ -2747,7 +2758,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(uint4* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2755,7 +2766,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float* retVal, hipTextureObject_t t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_FLOAT; } @@ -2763,7 +2774,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float1* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_FLOAT_X; } @@ -2771,7 +2782,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float2* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_FLOAT_XY; } @@ -2779,7 +2790,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayered(float4* retVal, hipTextureObject_t float x, float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_SET_FLOAT_XYZW; } @@ -2796,7 +2807,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -2804,7 +2815,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char1* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -2812,7 +2823,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char2* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2820,7 +2831,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(char4* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2829,7 +2840,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned char* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -2837,7 +2848,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2845,7 +2856,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2853,7 +2864,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uchar4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2861,7 +2872,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -2869,7 +2880,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -2877,7 +2888,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2885,7 +2896,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(short4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2894,7 +2905,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned short* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -2902,7 +2913,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort1* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2910,7 +2921,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort2* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2918,7 +2929,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(ushort4* retVal, hipTextureObjec float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2926,7 +2937,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED; } @@ -2934,7 +2945,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int1* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_X; } @@ -2942,7 +2953,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int2* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XY; } @@ -2950,7 +2961,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(int4* retVal, hipTextureObject_t float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_SIGNED_XYZW; } @@ -2959,7 +2970,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(unsigned int* retVal, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED; } @@ -2967,7 +2978,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint1* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_X; } @@ -2975,7 +2986,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint2* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XY; } @@ -2983,7 +2994,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(uint4* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_UNSIGNED_XYZW; } @@ -2991,7 +3002,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float* retVal, hipTextureObject_ float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_FLOAT; } @@ -2999,7 +3010,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float1* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_FLOAT_X; } @@ -3007,7 +3018,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float2* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_FLOAT_XY; } @@ -3015,7 +3026,7 @@ __TEXTURE_FUNCTIONS_DECL__ void tex2DLayeredLod(float4* retVal, hipTextureObject float x, float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_SET_FLOAT_XYZW; } @@ -4819,28 +4830,28 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DGrad(texture texRe template __TEXTURE_FUNCTIONS_DECL__ char tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR; } template __TEXTURE_FUNCTIONS_DECL__ char1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_X; } template __TEXTURE_FUNCTIONS_DECL__ char2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_XY; } template __TEXTURE_FUNCTIONS_DECL__ char4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -4848,56 +4859,56 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR; } template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_X; } template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_XY; } template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_XYZW; } template __TEXTURE_FUNCTIONS_DECL__ short tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT; } template __TEXTURE_FUNCTIONS_DECL__ short1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_X; } template __TEXTURE_FUNCTIONS_DECL__ short2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_XY; } template __TEXTURE_FUNCTIONS_DECL__ short4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -4905,56 +4916,56 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT; } template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_X; } template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_XY; } template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_XYZW; } template __TEXTURE_FUNCTIONS_DECL__ int tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT; } template __TEXTURE_FUNCTIONS_DECL__ int1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_X; } template __TEXTURE_FUNCTIONS_DECL__ int2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_XY; } template __TEXTURE_FUNCTIONS_DECL__ int4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_XYZW; } @@ -4962,28 +4973,28 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT; } template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_X; } template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_XY; } template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -4994,7 +5005,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR; } @@ -5002,7 +5013,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_X; } @@ -5010,7 +5021,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_XY; } @@ -5018,7 +5029,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -5026,7 +5037,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR; } @@ -5034,7 +5045,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_X; } @@ -5042,7 +5053,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_XY; } @@ -5050,7 +5061,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5058,7 +5069,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT; } @@ -5066,7 +5077,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_X; } @@ -5074,7 +5085,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_XY; } @@ -5082,7 +5093,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -5091,7 +5102,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2D(texture __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_X; } @@ -5107,7 +5118,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_XY; } @@ -5115,7 +5126,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -5123,7 +5134,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT; } @@ -5131,7 +5142,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_X; } @@ -5139,7 +5150,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_XY; } @@ -5147,7 +5158,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_INT_XYZW; } @@ -5155,7 +5166,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT; } @@ -5163,7 +5174,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_X; } @@ -5171,7 +5182,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_XY; } @@ -5179,7 +5190,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -5187,21 +5198,21 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT; } template __TEXTURE_FUNCTIONS_DECL__ float tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT; } template __TEXTURE_FUNCTIONS_DECL__ float1 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_X; } @@ -5209,14 +5220,14 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_X; } template __TEXTURE_FUNCTIONS_DECL__ float2 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_XY; } @@ -5224,14 +5235,14 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_XY; } template __TEXTURE_FUNCTIONS_DECL__ float4 tex2D(texture texRef, float x, float y) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5239,7 +5250,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2D(texture texRef, hipTextureObject_t textureObject, float x, float y) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_2D(i, s, float2(x, y)); + texel.f = __ockl_image_sample_2D(i, s, float2(x, y).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5249,7 +5260,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR; } @@ -5257,7 +5268,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_X; } @@ -5265,7 +5276,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -5273,7 +5284,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -5281,7 +5292,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR; } @@ -5289,7 +5300,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -5297,7 +5308,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -5305,7 +5316,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5313,7 +5324,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT; } @@ -5321,7 +5332,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_X; } @@ -5329,7 +5340,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -5337,7 +5348,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -5345,7 +5356,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT; } @@ -5353,7 +5364,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_X; } @@ -5361,7 +5372,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_XY; } @@ -5369,7 +5380,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_XYZW; } @@ -5377,7 +5388,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT; } @@ -5385,7 +5396,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_X; } @@ -5393,7 +5404,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_XY; } @@ -5401,7 +5412,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -5409,7 +5420,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT; } @@ -5417,7 +5428,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_X; } @@ -5425,7 +5436,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_XY; } @@ -5433,7 +5444,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -5441,7 +5452,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT; } @@ -5449,7 +5460,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -5457,7 +5468,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -5465,7 +5476,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLod(texture texRef, float x, float y, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5476,7 +5487,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR; } @@ -5485,7 +5496,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_X; } @@ -5494,7 +5505,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -5503,7 +5514,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -5512,7 +5523,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -5530,7 +5541,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -5539,7 +5550,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5548,7 +5559,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT; } @@ -5557,7 +5568,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_X; } @@ -5566,7 +5577,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -5575,7 +5586,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -5584,7 +5595,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_X; } @@ -5602,7 +5613,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_XY; } @@ -5611,7 +5622,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLod(texture texR hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_USHORT_XYZW; } @@ -5620,7 +5631,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT; } @@ -5629,7 +5640,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_X; } @@ -5638,7 +5649,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_XY; } @@ -5647,7 +5658,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -5656,7 +5667,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_X; } @@ -5674,7 +5685,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_XY; } @@ -5683,7 +5694,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -5692,7 +5703,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT; } @@ -5701,7 +5712,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -5710,7 +5721,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -5719,7 +5730,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y), level); + texel.f = __ockl_image_sample_lod_2D(i, s, float2(x, y).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -5729,9 +5740,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR; } @@ -5739,9 +5750,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_X; } @@ -5749,9 +5760,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XY; } @@ -5759,9 +5770,9 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -5769,9 +5780,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR; } @@ -5779,9 +5790,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_X; } @@ -5789,9 +5800,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_XY; } @@ -5799,9 +5810,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -5809,9 +5820,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT; } @@ -5819,9 +5830,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_X; } @@ -5829,9 +5840,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_XY; } @@ -5839,9 +5850,9 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -5849,9 +5860,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT; } @@ -5859,9 +5870,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_X; } @@ -5869,9 +5880,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_XY; } @@ -5879,9 +5890,9 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -5889,9 +5900,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT; } @@ -5899,9 +5910,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_X; } @@ -5909,9 +5920,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XY; } @@ -5919,9 +5930,9 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XYZW; } @@ -5929,9 +5940,9 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT; } @@ -5939,9 +5950,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_X; } @@ -5949,9 +5960,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XY; } @@ -5959,9 +5970,9 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -5969,9 +5980,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT; } @@ -5979,9 +5990,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_X; } @@ -5989,9 +6000,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_XY; } @@ -5999,9 +6010,9 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex2DGrad(texture texRef, float x, float y, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6012,9 +6023,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR; } @@ -6023,9 +6034,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_X; } @@ -6034,9 +6045,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XY; } @@ -6045,9 +6056,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -6056,9 +6067,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_X; } @@ -6078,9 +6089,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_XY; } @@ -6089,9 +6100,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6100,9 +6111,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT; } @@ -6111,9 +6122,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_X; } @@ -6122,9 +6133,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_XY; } @@ -6133,9 +6144,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -6144,9 +6155,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_X; } @@ -6166,9 +6177,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_XY; } @@ -6177,9 +6188,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DGrad(texture tex hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -6188,9 +6199,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT; } @@ -6199,9 +6210,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_X; } @@ -6210,9 +6221,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XY; } @@ -6221,9 +6232,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XYZW; } @@ -6232,9 +6243,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_X; } @@ -6254,9 +6265,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XY; } @@ -6265,9 +6276,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -6276,9 +6287,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DGrad(texture texRef, hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT; } @@ -6287,9 +6298,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_X; } @@ -6298,9 +6309,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_XY; } @@ -6309,9 +6320,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DGrad(texture texRe hipTextureObject_t textureObject, float x, float y, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + texel.f = __ockl_image_sample_grad_2D(i, s, float2(x, y).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6321,7 +6332,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR; } @@ -6329,7 +6340,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_X; } @@ -6337,7 +6348,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_XY; } @@ -6345,7 +6356,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -6353,7 +6364,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR; } @@ -6361,7 +6372,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_X; } @@ -6369,7 +6380,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_XY; } @@ -6377,7 +6388,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6385,7 +6396,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT; } @@ -6393,7 +6404,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_X; } @@ -6401,7 +6412,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_XY; } @@ -6409,7 +6420,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -6417,7 +6428,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT; } @@ -6425,7 +6436,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_X; } @@ -6433,7 +6444,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_XY; } @@ -6441,7 +6452,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -6449,7 +6460,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT; } @@ -6457,7 +6468,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_X; } @@ -6465,7 +6476,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_XY; } @@ -6473,7 +6484,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_XYZW; } @@ -6481,7 +6492,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT; } @@ -6489,7 +6500,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_X; } @@ -6497,7 +6508,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_XY; } @@ -6505,7 +6516,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_XYZW; } @@ -6513,7 +6524,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT; } @@ -6521,7 +6532,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_X; } @@ -6529,7 +6540,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_XY; } @@ -6537,7 +6548,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex3D(texture texRef, float x, float y, float z) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6547,7 +6558,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR; } @@ -6556,7 +6567,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_X; } @@ -6565,7 +6576,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_XY; } @@ -6574,7 +6585,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -6583,7 +6594,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_X; } @@ -6601,7 +6612,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_XY; } @@ -6610,7 +6621,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6619,7 +6630,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT; } @@ -6628,7 +6639,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_X; } @@ -6637,7 +6648,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_XY; } @@ -6646,7 +6657,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -6655,7 +6666,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_X; } @@ -6673,7 +6684,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_XY; } @@ -6682,7 +6693,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -6690,7 +6701,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT; } @@ -6698,7 +6709,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_X; } @@ -6706,7 +6717,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_XY; } @@ -6714,7 +6725,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_INT_XYZW; } @@ -6723,7 +6734,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_X; } @@ -6741,7 +6752,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_XY; } @@ -6750,7 +6761,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_UINT_XYZW; } @@ -6759,7 +6770,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT; } @@ -6768,7 +6779,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_X; } @@ -6777,7 +6788,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_XY; } @@ -6786,7 +6797,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3D(texture texRef, hipTextureObject_t textureObject, float x, float y, float z) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f)); + texel.f = __ockl_image_sample_3D(i, s, float4(x, y, z, 0.0f).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6796,7 +6807,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR; } @@ -6805,7 +6816,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_X; } @@ -6814,7 +6825,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -6823,7 +6834,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -6832,7 +6843,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR; } @@ -6841,7 +6852,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -6850,7 +6861,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -6859,7 +6870,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -6868,7 +6879,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT; } @@ -6877,7 +6888,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_X; } @@ -6886,7 +6897,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_XY; } @@ -6895,7 +6906,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -6904,7 +6915,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT; } @@ -6913,7 +6924,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_X; } @@ -6922,7 +6933,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_XY; } @@ -6931,7 +6942,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -6940,7 +6951,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT; } @@ -6949,7 +6960,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -6958,7 +6969,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -6967,7 +6978,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex3DLod(texture texRef, float x, float y, float z, float level) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -6979,7 +6990,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR; } @@ -6989,7 +7000,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_X; } @@ -6999,7 +7010,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -7009,7 +7020,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -7019,7 +7030,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -7039,7 +7050,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -7049,7 +7060,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7059,7 +7070,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT; } @@ -7069,7 +7080,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_X; } @@ -7079,7 +7090,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_XY; } @@ -7089,7 +7100,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -7099,7 +7110,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_X; } @@ -7119,7 +7130,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_XY; } @@ -7129,7 +7140,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -7139,7 +7150,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DLod(texture texRef, hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT; } @@ -7149,7 +7160,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -7159,7 +7170,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -7169,7 +7180,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DLod(texture texRef hipTextureObject_t textureObject, float x, float y, float z, float level) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f), + texel.f = __ockl_image_sample_lod_3D(i, s, float4(x, y, z, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7181,9 +7192,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR; } @@ -7192,9 +7203,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_X; } @@ -7203,9 +7214,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_XY; } @@ -7214,9 +7225,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -7226,9 +7237,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_X; } @@ -7248,9 +7259,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_XY; } @@ -7259,9 +7270,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7270,9 +7281,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT; } @@ -7281,9 +7292,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_X; } @@ -7292,9 +7303,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_XY; } @@ -7303,9 +7314,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -7315,9 +7326,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_X; } @@ -7337,9 +7348,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_XY; } @@ -7348,9 +7359,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3DGrad(texture tex float y, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -7359,9 +7370,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DGrad(texture texRef, flo float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT; } @@ -7370,9 +7381,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_X; } @@ -7381,9 +7392,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_XY; } @@ -7392,9 +7403,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DGrad(texture texRef, f float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_XYZW; } @@ -7403,9 +7414,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_X; } @@ -7425,9 +7436,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_XY; } @@ -7436,9 +7447,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_XYZW; } @@ -7447,9 +7458,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT; } @@ -7458,9 +7469,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_X; } @@ -7469,9 +7480,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_XY; } @@ -7480,9 +7491,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7493,9 +7504,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR; } @@ -7505,9 +7516,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_X; } @@ -7517,9 +7528,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_XY; } @@ -7529,9 +7540,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -7541,9 +7552,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_X; } @@ -7565,9 +7576,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_XY; } @@ -7577,9 +7588,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7589,9 +7600,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT; } @@ -7601,9 +7612,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_X; } @@ -7613,9 +7624,9 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_XY; } @@ -7625,9 +7636,9 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -7637,9 +7648,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_X; } @@ -7661,9 +7672,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_XY; } @@ -7673,9 +7684,9 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex3DGrad(texture tex float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -7685,9 +7696,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT; } @@ -7697,9 +7708,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_X; } @@ -7709,9 +7720,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_XY; } @@ -7721,9 +7732,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_INT_XYZW; } @@ -7733,9 +7744,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_X; } @@ -7757,9 +7768,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_XY; } @@ -7769,9 +7780,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_UINT_XYZW; } @@ -7781,9 +7792,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex3DGrad(texture texRef, float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT; } @@ -7793,9 +7804,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_X; } @@ -7805,9 +7816,9 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_XY; } @@ -7817,9 +7828,9 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex3DGrad(texture texRe float z, float4 dx, float4 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f), - float4(dx.x, dx.y, dx.z, dx.w), - float4(dy.x, dy.y, dy.z, dy.w)); + __ockl_image_sample_grad_3D(i, s, float4(x, y, z, 0.0f).data, + float4(dx.x, dx.y, dx.z, dx.w).data, + float4(dy.x, dy.y, dy.z, dy.w).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -7829,7 +7840,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR; } @@ -7837,7 +7848,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_X; } @@ -7845,7 +7856,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_XY; } @@ -7853,7 +7864,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -7861,7 +7872,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR; } @@ -7869,7 +7880,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_X; } @@ -7877,7 +7888,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_XY; } @@ -7885,7 +7896,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -7893,7 +7904,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT; } @@ -7901,7 +7912,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_X; } @@ -7909,7 +7920,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_XY; } @@ -7917,7 +7928,7 @@ template __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -7925,7 +7936,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayered( texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT; } @@ -7933,7 +7944,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_X; } @@ -7941,7 +7952,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_XY; } @@ -7949,7 +7960,7 @@ template __TEXTURE_FUNCTIONS_DECL__ ushort4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -7957,7 +7968,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT; } @@ -7965,7 +7976,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_X; } @@ -7973,7 +7984,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_XY; } @@ -7981,7 +7992,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_XYZW; } @@ -7989,7 +8000,7 @@ template __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT; } @@ -7997,7 +8008,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_X; } @@ -8005,7 +8016,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_XY; } @@ -8013,7 +8024,7 @@ template __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_XYZW; } @@ -8021,7 +8032,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT; } @@ -8029,7 +8040,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_X; } @@ -8037,7 +8048,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_XY; } @@ -8045,7 +8056,7 @@ template __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayered(texture texRef, float x, int layer) { TEXTURE_REF_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8055,7 +8066,7 @@ template __TEXTURE_FUNCTIONS_DECL__ char tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR; } @@ -8064,7 +8075,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_X; } @@ -8073,7 +8084,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_XY; } @@ -8082,7 +8093,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -8091,7 +8102,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_X; } @@ -8109,7 +8120,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_XY; } @@ -8118,7 +8129,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8127,7 +8138,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT; } @@ -8136,7 +8147,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_X; } @@ -8145,7 +8156,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_XY; } @@ -8154,7 +8165,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -8163,7 +8174,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayered( texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT; } @@ -8172,7 +8183,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_X; } @@ -8181,7 +8192,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_XY; } @@ -8190,7 +8201,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex1DLayered(texture hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -8198,7 +8209,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT; } @@ -8206,7 +8217,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_X; } @@ -8214,7 +8225,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_XY; } @@ -8222,7 +8233,7 @@ template __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayered(texture texRef, hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_INT_XYZW; } @@ -8231,7 +8242,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_X; } @@ -8249,7 +8260,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_XY; } @@ -8258,7 +8269,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_UINT_XYZW; } @@ -8267,7 +8278,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayered(texture texR hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT; } @@ -8276,7 +8287,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_X; } @@ -8285,7 +8296,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_XY; } @@ -8294,7 +8305,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayered(texture te hipTextureObject_t textureObject, float x, int layer) { TEXTURE_PARAMETERS_INIT; - texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer)); + texel.f = __ockl_image_sample_1Da(i, s, float2(x, layer).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8305,7 +8316,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR; } @@ -8314,7 +8325,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_X; } @@ -8323,7 +8334,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -8332,7 +8343,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -8341,7 +8352,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredLod( texture texRef, float x, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR; } @@ -8350,7 +8361,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -8359,7 +8370,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -8368,7 +8379,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8377,7 +8388,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT; } @@ -8386,7 +8397,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_X; } @@ -8395,7 +8406,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -8404,7 +8415,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -8413,7 +8424,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredLod( texture texRef, float x, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_USHORT; } @@ -8422,7 +8433,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredLod(texture texRe int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT; } @@ -8458,7 +8469,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_X; } @@ -8467,7 +8478,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_XY; } @@ -8476,7 +8487,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -8485,7 +8496,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_X; } @@ -8503,7 +8514,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_XY; } @@ -8512,7 +8523,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -8521,7 +8532,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredLod(texture t int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT; } @@ -8530,7 +8541,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -8539,7 +8550,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -8548,7 +8559,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8560,7 +8571,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR; } @@ -8570,7 +8581,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_X; } @@ -8580,7 +8591,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -8590,7 +8601,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -8600,7 +8611,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredLod( int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR; } @@ -8610,7 +8621,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -8620,7 +8631,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -8630,7 +8641,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -8640,7 +8651,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT; } @@ -8650,7 +8661,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_X; } @@ -8660,7 +8671,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -8670,7 +8681,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -8680,7 +8691,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredLod( int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_USHORT; } @@ -8690,7 +8701,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredLod(texture texRe float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT; } @@ -8730,7 +8741,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_X; } @@ -8740,7 +8751,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_XY; } @@ -8750,7 +8761,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -8760,7 +8771,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_X; } @@ -8780,7 +8791,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_XY; } @@ -8790,7 +8801,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -8800,7 +8811,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT; } @@ -8810,7 +8821,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -8820,7 +8831,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -8830,7 +8841,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex1DLayeredLod(texture int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_lod_1Da(i, s, float2(x, layer), level); + __ockl_image_sample_lod_1Da(i, s, float2(x, layer).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -8841,7 +8852,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR; } @@ -8851,7 +8862,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR; } @@ -8860,7 +8871,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_X; } @@ -8870,7 +8881,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_X; } @@ -8879,7 +8890,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_XY; } @@ -8889,7 +8900,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_XY; } @@ -8898,7 +8909,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_XYZW; } @@ -8908,7 +8919,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_CHAR_XYZW; } @@ -8917,7 +8928,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredGrad( texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UCHAR; } @@ -8927,7 +8938,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UCHAR; } @@ -8936,7 +8947,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_SHORT; } @@ -9003,7 +9014,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_SHORT; } @@ -9012,7 +9023,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex1DLayeredGrad(texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_USHORT; } @@ -9079,7 +9090,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_USHORT; } @@ -9088,7 +9099,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex1DLayeredGrad(texture texR int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT; } @@ -9155,7 +9166,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex1DLayeredGrad(texture texR int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT; } @@ -9164,7 +9175,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_X; } @@ -9174,7 +9185,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_X; } @@ -9183,7 +9194,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_XY; } @@ -9193,7 +9204,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_XY; } @@ -9202,7 +9213,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_XYZW; } @@ -9212,7 +9223,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex1DLayeredGrad(texture te int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_INT_XYZW; } @@ -9221,7 +9232,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredGrad( texture texRef, float x, int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT; } @@ -9231,7 +9242,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex1DLayeredGrad( int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT; } @@ -9240,7 +9251,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_X; } @@ -9250,7 +9261,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_X; } @@ -9259,7 +9270,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_XY; } @@ -9269,7 +9280,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_XY; } @@ -9278,7 +9289,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_XYZW; } @@ -9288,7 +9299,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_UINT_XYZW; } @@ -9297,7 +9308,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_FLOAT; } @@ -9307,7 +9318,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex1DLayeredGrad(texture int layer, float dx, float dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_1Da(i, s, float2(x, layer), dx, dy); + __ockl_image_sample_grad_1Da(i, s, float2(x, layer).data, dx, dy); TEXTURE_RETURN_FLOAT; } @@ -9316,7 +9327,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex1DLayeredGrad(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR; } @@ -9385,7 +9396,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR; } @@ -9394,7 +9405,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_X; } @@ -9404,7 +9415,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_X; } @@ -9413,7 +9424,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_XY; } @@ -9423,7 +9434,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_XY; } @@ -9432,7 +9443,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -9442,7 +9453,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -9451,7 +9462,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_X; } @@ -9480,7 +9491,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_X; } @@ -9489,7 +9500,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_XY; } @@ -9499,7 +9510,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_XY; } @@ -9508,7 +9519,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -9518,7 +9529,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UCHAR_XYZW; } @@ -9527,7 +9538,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT; } @@ -9537,7 +9548,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT; } @@ -9546,7 +9557,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_X; } @@ -9556,7 +9567,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_X; } @@ -9565,7 +9576,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_XY; } @@ -9575,7 +9586,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_XY; } @@ -9584,7 +9595,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -9594,7 +9605,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_SHORT_XYZW; } @@ -9603,7 +9614,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayered( texture texRef, float x, float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT; } @@ -9613,7 +9624,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayered( float y, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT; } @@ -9622,7 +9633,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_X; } @@ -9632,7 +9643,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_X; } @@ -9641,7 +9652,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_XY; } @@ -9651,7 +9662,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort2 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_XY; } @@ -9660,7 +9671,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLayered(texture float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -9670,7 +9681,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort4 tex2DLayered(texture int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_USHORT_XYZW; } @@ -9679,7 +9690,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayered(texture texRef, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT; } @@ -9689,7 +9700,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayered(texture texRef, int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT; } @@ -9698,7 +9709,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_X; } @@ -9708,7 +9719,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_X; } @@ -9717,7 +9728,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_XY; } @@ -9727,7 +9738,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_XY; } @@ -9736,7 +9747,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayered(texture texRef int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_XYZW; } @@ -9746,7 +9757,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayered(texture texRef int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_INT_XYZW; } @@ -9755,7 +9766,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_X; } @@ -9784,7 +9795,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_X; } @@ -9793,7 +9804,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_XY; } @@ -9803,7 +9814,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_XY; } @@ -9812,7 +9823,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_XYZW; } @@ -9822,7 +9833,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_UINT_XYZW; } @@ -9831,7 +9842,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayered(texture texR float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT; } @@ -9841,7 +9852,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayered(texture texR int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT; } @@ -9850,7 +9861,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_X; } @@ -9860,7 +9871,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_X; } @@ -9869,7 +9880,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_XY; } @@ -9879,7 +9890,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_XY; } @@ -9888,7 +9899,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayered(texture te float y, int layer) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -9898,7 +9909,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayered(texture te int layer) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f)); + __ockl_image_sample_2Da(i, s, float4(x, y, layer, 0.0f).data); TEXTURE_RETURN_FLOAT_XYZW; } @@ -9909,7 +9920,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR; } @@ -9919,7 +9930,7 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR; } @@ -9928,7 +9939,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_X; } @@ -9938,7 +9949,7 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_X; } @@ -9947,7 +9958,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -9957,7 +9968,7 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_XY; } @@ -9966,7 +9977,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -9976,7 +9987,7 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_CHAR_XYZW; } @@ -9985,7 +9996,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredLod( texture texRef, float x, float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR; } @@ -9995,7 +10006,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredLod( float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR; } @@ -10004,7 +10015,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -10014,7 +10025,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_X; } @@ -10023,7 +10034,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -10033,7 +10044,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XY; } @@ -10042,7 +10053,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -10052,7 +10063,7 @@ __TEXTURE_FUNCTIONS_DECL__ uchar4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UCHAR_XYZW; } @@ -10061,7 +10072,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT; } @@ -10071,7 +10082,7 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT; } @@ -10080,7 +10091,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_X; } @@ -10090,7 +10101,7 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_X; } @@ -10099,7 +10110,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -10109,7 +10120,7 @@ __TEXTURE_FUNCTIONS_DECL__ short2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_XY; } @@ -10118,7 +10129,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -10128,7 +10139,7 @@ __TEXTURE_FUNCTIONS_DECL__ short4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_SHORT_XYZW; } @@ -10137,7 +10148,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayeredLod( texture texRef, float x, float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_USHORT; } @@ -10147,7 +10158,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned short tex2DLayeredLod( float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_USHORT; } @@ -10156,7 +10167,7 @@ __TEXTURE_FUNCTIONS_DECL__ ushort1 tex2DLayeredLod(texture texRe int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT; } @@ -10223,7 +10234,7 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayeredLod(texture texRe int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT; } @@ -10232,7 +10243,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_X; } @@ -10242,7 +10253,7 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_X; } @@ -10251,7 +10262,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_XY; } @@ -10261,7 +10272,7 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_XY; } @@ -10270,7 +10281,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredLod(texture tex float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -10280,7 +10291,7 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredLod(texture tex int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_INT_XYZW; } @@ -10289,7 +10300,7 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_X; } @@ -10318,7 +10329,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_X; } @@ -10327,7 +10338,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_XY; } @@ -10337,7 +10348,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_XY; } @@ -10346,7 +10357,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -10356,7 +10367,7 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_UINT_XYZW; } @@ -10365,7 +10376,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredLod(texture t float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT; } @@ -10375,7 +10386,7 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredLod(texture t int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT; } @@ -10384,7 +10395,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -10394,7 +10405,7 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_X; } @@ -10403,7 +10414,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -10413,7 +10424,7 @@ __TEXTURE_FUNCTIONS_DECL__ float2 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XY; } @@ -10422,7 +10433,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_REF_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -10432,7 +10443,7 @@ __TEXTURE_FUNCTIONS_DECL__ float4 tex2DLayeredLod(texture float y, int layer, float level) { TEXTURE_PARAMETERS_INIT; texel.f = __ockl_image_sample_lod_2Da( - i, s, float4(x, y, layer, 0.0f), level); + i, s, float4(x, y, layer, 0.0f).data, level); TEXTURE_RETURN_FLOAT_XYZW; } @@ -10443,9 +10454,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR; } @@ -10455,9 +10466,9 @@ __TEXTURE_FUNCTIONS_DECL__ char tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR; } @@ -10466,9 +10477,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_X; } @@ -10478,9 +10489,9 @@ __TEXTURE_FUNCTIONS_DECL__ char1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_X; } @@ -10489,9 +10500,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XY; } @@ -10501,9 +10512,9 @@ __TEXTURE_FUNCTIONS_DECL__ char2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XY; } @@ -10512,9 +10523,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -10524,9 +10535,9 @@ __TEXTURE_FUNCTIONS_DECL__ char4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_CHAR_XYZW; } @@ -10536,9 +10547,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredGrad( float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR; } @@ -10548,9 +10559,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned char tex2DLayeredGrad( float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UCHAR; } @@ -10559,9 +10570,9 @@ __TEXTURE_FUNCTIONS_DECL__ uchar1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT; } @@ -10640,9 +10651,9 @@ __TEXTURE_FUNCTIONS_DECL__ short tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_SHORT; } @@ -10651,9 +10662,9 @@ __TEXTURE_FUNCTIONS_DECL__ short1 tex2DLayeredGrad(texture texR float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT; } @@ -10825,9 +10836,9 @@ __TEXTURE_FUNCTIONS_DECL__ int tex2DLayeredGrad(texture texR int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT; } @@ -10836,9 +10847,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_X; } @@ -10848,9 +10859,9 @@ __TEXTURE_FUNCTIONS_DECL__ int1 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_X; } @@ -10859,9 +10870,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XY; } @@ -10871,9 +10882,9 @@ __TEXTURE_FUNCTIONS_DECL__ int2 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XY; } @@ -10882,9 +10893,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredGrad(texture te float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XYZW; } @@ -10894,9 +10905,9 @@ __TEXTURE_FUNCTIONS_DECL__ int4 tex2DLayeredGrad(texture te int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_INT_XYZW; } @@ -10906,9 +10917,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredGrad( float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT; } @@ -10918,9 +10929,9 @@ __TEXTURE_FUNCTIONS_DECL__ unsigned int tex2DLayeredGrad( int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT; } @@ -10929,9 +10940,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_X; } @@ -10941,9 +10952,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint1 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_X; } @@ -10952,9 +10963,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XY; } @@ -10964,9 +10975,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint2 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XY; } @@ -10975,9 +10986,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -10987,9 +10998,9 @@ __TEXTURE_FUNCTIONS_DECL__ uint4 tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_UINT_XYZW; } @@ -10998,9 +11009,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_REF_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT; } @@ -11010,9 +11021,9 @@ __TEXTURE_FUNCTIONS_DECL__ float tex2DLayeredGrad(texture float y, int layer, float2 dx, float2 dy) { TEXTURE_PARAMETERS_INIT; texel.f = - __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f), - float2(dx.x, dx.y), - float2(dy.x, dy.y)); + __ockl_image_sample_grad_2Da(i, s, float4(x, y, layer, 0.0f).data, + float2(dx.x, dx.y).data, + float2(dy.x, dy.y).data); TEXTURE_RETURN_FLOAT; } @@ -11021,9 +11032,9 @@ __TEXTURE_FUNCTIONS_DECL__ float1 tex2DLayeredGrad(texture Date: Mon, 30 Jul 2018 20:41:24 +0000 Subject: [PATCH 19/77] Protect macro TYPEDEF_VECTOR_VALUE_TYPE and prefix __hip_ for vector_value_types --- include/hip/hcc_detail/texture_functions.h | 86 +++++++++++----------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/include/hip/hcc_detail/texture_functions.h b/include/hip/hcc_detail/texture_functions.h index 892b39780a..2a7aeb7357 100644 --- a/include/hip/hcc_detail/texture_functions.h +++ b/include/hip/hcc_detail/texture_functions.h @@ -26,21 +26,25 @@ THE SOFTWARE. #include #include +#pragma push_macro("TYPEDEF_VECTOR_VALUE_TYPE") #define TYPEDEF_VECTOR_VALUE_TYPE(SCALAR_TYPE) \ -typedef SCALAR_TYPE SCALAR_TYPE##2_vector_value_type __attribute__((ext_vector_type(2))); \ -typedef SCALAR_TYPE SCALAR_TYPE##3_vector_value_type __attribute__((ext_vector_type(3))); \ -typedef SCALAR_TYPE SCALAR_TYPE##4_vector_value_type __attribute__((ext_vector_type(4))); \ -typedef SCALAR_TYPE SCALAR_TYPE##8_vector_value_type __attribute__((ext_vector_type(8))); \ -typedef SCALAR_TYPE SCALAR_TYPE##16_vector_value_type __attribute__((ext_vector_type(16))); +typedef SCALAR_TYPE __hip_##SCALAR_TYPE##2_vector_value_type __attribute__((ext_vector_type(2))); \ +typedef SCALAR_TYPE __hip_##SCALAR_TYPE##3_vector_value_type __attribute__((ext_vector_type(3))); \ +typedef SCALAR_TYPE __hip_##SCALAR_TYPE##4_vector_value_type __attribute__((ext_vector_type(4))); \ +typedef SCALAR_TYPE __hip_##SCALAR_TYPE##8_vector_value_type __attribute__((ext_vector_type(8))); \ +typedef SCALAR_TYPE __hip_##SCALAR_TYPE##16_vector_value_type __attribute__((ext_vector_type(16))); TYPEDEF_VECTOR_VALUE_TYPE(float); TYPEDEF_VECTOR_VALUE_TYPE(int); TYPEDEF_VECTOR_VALUE_TYPE(uint); +#undef TYPEDEF_VECTOR_VALUE_TYPE +#pragma pop_macro("TYPEDEF_VECTOR_VALUE_TYPE") + union TData { - float4_vector_value_type f; - int4_vector_value_type i; - uint4_vector_value_type u; + __hip_float4_vector_value_type f; + __hip_int4_vector_value_type i; + __hip_uint4_vector_value_type u; }; #define __TEXTURE_FUNCTIONS_DECL__ static __inline__ __device__ @@ -165,110 +169,110 @@ union TData { extern "C" { __device__ -float4_vector_value_type __ockl_image_sample_1D( +__hip_float4_vector_value_type __ockl_image_sample_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c); __device__ -float4_vector_value_type __ockl_image_sample_1Da( +__hip_float4_vector_value_type __ockl_image_sample_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c); + __hip_float2_vector_value_type c); __device__ -float4_vector_value_type __ockl_image_sample_2D( +__hip_float4_vector_value_type __ockl_image_sample_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c); + __hip_float2_vector_value_type c); __device__ -float4_vector_value_type __ockl_image_sample_2Da( +__hip_float4_vector_value_type __ockl_image_sample_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c); + __hip_float4_vector_value_type c); __device__ float __ockl_image_sample_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c); + __hip_float4_vector_value_type c); __device__ float __ockl_image_sample_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c); + __hip_float2_vector_value_type c); __device__ -float4_vector_value_type __ockl_image_sample_3D( +__hip_float4_vector_value_type __ockl_image_sample_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c); + __hip_float4_vector_value_type c); __device__ -float4_vector_value_type __ockl_image_sample_grad_1D( +__hip_float4_vector_value_type __ockl_image_sample_grad_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float dx, float dy); __device__ -float4_vector_value_type __ockl_image_sample_grad_1Da( +__hip_float4_vector_value_type __ockl_image_sample_grad_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float dx, float dy); + __hip_float2_vector_value_type c, float dx, float dy); __device__ -float4_vector_value_type __ockl_image_sample_grad_2D( +__hip_float4_vector_value_type __ockl_image_sample_grad_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); + __hip_float2_vector_value_type c, __hip_float2_vector_value_type dx, __hip_float2_vector_value_type dy); __device__ -float4_vector_value_type __ockl_image_sample_grad_2Da( +__hip_float4_vector_value_type __ockl_image_sample_grad_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); + __hip_float4_vector_value_type c, __hip_float2_vector_value_type dx, __hip_float2_vector_value_type dy); __device__ float __ockl_image_sample_grad_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); + __hip_float4_vector_value_type c, __hip_float2_vector_value_type dx, __hip_float2_vector_value_type dy); __device__ float __ockl_image_sample_grad_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float2_vector_value_type dx, float2_vector_value_type dy); + __hip_float2_vector_value_type c, __hip_float2_vector_value_type dx, __hip_float2_vector_value_type dy); __device__ -float4_vector_value_type __ockl_image_sample_grad_3D( +__hip_float4_vector_value_type __ockl_image_sample_grad_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float4_vector_value_type dx, float4_vector_value_type dy); + __hip_float4_vector_value_type c, __hip_float4_vector_value_type dx, __hip_float4_vector_value_type dy); __device__ -float4_vector_value_type __ockl_image_sample_lod_1D( +__hip_float4_vector_value_type __ockl_image_sample_lod_1D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, float c, float l); __device__ -float4_vector_value_type __ockl_image_sample_lod_1Da( +__hip_float4_vector_value_type __ockl_image_sample_lod_1Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float l); + __hip_float2_vector_value_type c, float l); __device__ -float4_vector_value_type __ockl_image_sample_lod_2D( +__hip_float4_vector_value_type __ockl_image_sample_lod_2D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float l); + __hip_float2_vector_value_type c, float l); __device__ -float4_vector_value_type __ockl_image_sample_lod_2Da( +__hip_float4_vector_value_type __ockl_image_sample_lod_2Da( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float l); + __hip_float4_vector_value_type c, float l); __device__ float __ockl_image_sample_lod_2Dad( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float l); + __hip_float4_vector_value_type c, float l); __device__ float __ockl_image_sample_lod_2Dd( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float2_vector_value_type c, float l); + __hip_float2_vector_value_type c, float l); __device__ -float4_vector_value_type __ockl_image_sample_lod_3D( +__hip_float4_vector_value_type __ockl_image_sample_lod_3D( unsigned int ADDRESS_SPACE_CONSTANT* i, unsigned int ADDRESS_SPACE_CONSTANT* s, - float4_vector_value_type c, float l); + __hip_float4_vector_value_type c, float l); } //////////////////////////////////////////////////////////// From 70cfa5e53cf4c146c9d8ef6bbc13c531ed0a0bee Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Tue, 31 Jul 2018 22:25:48 +0300 Subject: [PATCH 20/77] [HIPIFY][FFT] Add cuFFT support + Add API_FFT support (data types and functions) + Add CUFFT_API_supported_by_HIP.md + Add simple_cufft.cu test + Update README.md --- docs/markdown/CUFFT_API_supported_by_HIP.md | 81 +++++++++++++++++++ hipify-clang/README.md | 62 ++++++++------ hipify-clang/src/CUDA2HipMap.cpp | 90 ++++++++++++++++++++- hipify-clang/src/HipifyAction.cpp | 4 + hipify-clang/src/HipifyAction.h | 1 + hipify-clang/src/Statistics.cpp | 2 +- hipify-clang/src/Statistics.h | 1 + tests/hipify-clang/cuFFT/simple_cufft.cu | 78 ++++++++++++++++++ tests/hipify-clang/headers_test_09.cu | 4 + 9 files changed, 293 insertions(+), 30 deletions(-) create mode 100644 docs/markdown/CUFFT_API_supported_by_HIP.md create mode 100644 tests/hipify-clang/cuFFT/simple_cufft.cu diff --git a/docs/markdown/CUFFT_API_supported_by_HIP.md b/docs/markdown/CUFFT_API_supported_by_HIP.md new file mode 100644 index 0000000000..57a9d414b7 --- /dev/null +++ b/docs/markdown/CUFFT_API_supported_by_HIP.md @@ -0,0 +1,81 @@ +# CUFFT API supported by HIP + +## **1. CUFFT Data types** + +| **type** | **CUDA** | **HIP** |**HIP value** (if differs) | +|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------| +| enum |***`cufftResult_t`*** |***`hipfftResult_t`*** | +| enum |***`cufftResult`*** |***`hipfftResult`*** | +| 0x0 |*`CUFFT_SUCCESS`* |*`HIPFFT_SUCCESS`* | 0 | +| 0x1 |*`CUFFT_INVALID_PLAN`* |*`HIPFFT_INVALID_PLAN`* | 1 | +| 0x2 |*`CUFFT_ALLOC_FAILED`* |*`HIPFFT_ALLOC_FAILED`* | 2 | +| 0x3 |*`CUFFT_INVALID_TYPE`* |*`HIPFFT_INVALID_TYPE`* | 3 | +| 0x4 |*`CUFFT_INVALID_VALUE`* |*`HIPFFT_INVALID_VALUE`* | 4 | +| 0x5 |*`CUFFT_INTERNAL_ERROR`* |*`HIPFFT_INTERNAL_ERROR`* | 5 | +| 0x6 |*`CUFFT_EXEC_FAILED`* |*`HIPFFT_EXEC_FAILED`* | 6 | +| 0x7 |*`CUFFT_SETUP_FAILED`* |*`HIPFFT_SETUP_FAILED`* | 7 | +| 0x8 |*`CUFFT_I;NVALID_SIZE`* |*`HIPFFT_INVALID_SIZE`* | 8 | +| 0x9 |*`CUFFT_UNALIGNED_DATA`* |*`HIPFFT_UNALIGNED_DATA`* | 9 | +| 0xA |*`CUFFT_INCOMPLETE_PARAMETER_LIST`* |*`HIPFFT_INCOMPLETE_PARAMETER_LIST`* | 10 | +| 0xB |*`CUFFT_INVALID_DEVICE`* |*`HIPFFT_INVALID_DEVICE`* | 11 | +| 0xC |*`CUFFT_PARSE_ERROR`* |*`HIPFFT_PARSE_ERROR`* | 12 | +| 0xD |*`CUFFT_NO_WORKSPACE`* |*`HIPFFT_NO_WORKSPACE`* | 13 | +| 0xE |*`CUFFT_NOT_IMPLEMENTED`* |*`HIPFFT_NOT_IMPLEMENTED`* | 14 | +| 0xF |*`CUFFT_LICENSE_ERROR`* | | +| 0x10 |*`CUFFT_NOT_SUPPORTED`* |*`HIPFFT_NOT_SUPPORTED`* | 16 | +| float |***`cufftReal`*** |***`hipfftReal`*** | +| double |***`cufftDoubleReal`*** |***`hipfftDoubleReal`*** | +| float2 |***`cufftComplex`*** |***`hipfftComplex`*** | +| double2 |***`cufftDoubleComplex`*** |***`hipfftDoubleComplex`*** | +| define |`CUFFT_FORWARD` |`HIPFFT_FORWARD` | +| define |`CUFFT_INVERSE` |`HIPFFT_BACKWARD` | +| enum |***`cufftType_t`*** |***`hipfftType_t`*** | +| enum |***`cufftType`*** |***`hipfftType`*** | +| 0x2a |*`CUFFT_R2C`* |*`HIPFFT_R2C`* | +| 0x2c |*`CUFFT_C2R`* |*`HIPFFT_C2R`* | +| 0x29 |*`CUFFT_C2C`* |*`HIPFFT_C2C`* | +| 0x6a |*`CUFFT_D2Z`* |*`HIPFFT_D2Z`* | +| 0x6c |*`CUFFT_Z2D`* |*`HIPFFT_Z2D`* | +| 0x69 |*`CUFFT_Z2Z`* |*`HIPFFT_Z2Z`* | +| enum |***`cufftCompatibility_t`*** | | +| enum |***`cufftCompatibility`*** | | +| 0x01 |*`CUFFT_COMPATIBILITY_FFTW_PADDING`* | | +| define |`CUFFT_COMPATIBILITY_DEFAULT` | | +| int |***`cufftHandle`*** |***`hipfftHandle`*** | + +## **2. CUFFT API functions** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cufftPlan1d` |`hipfftPlan1d` | +|`cufftPlan2d` |`hipfftPlan2d` | +|`cufftPlan3d` |`hipfftPlan3d` | +|`cufftPlanMany` |`hipfftPlanMany` | +|`cufftMakePlan1d` |`hipfftMakePlan1d` | +|`cufftMakePlan2d` |`hipfftMakePlan2d` | +|`cufftMakePlan3d` |`hipfftMakePlan3d` | +|`cufftMakePlanMany` |`hipfftMakePlanMany` | +|`cufftMakePlanMany64` |`hipfftMakePlanMany64` | +|`cufftGetSizeMany64` |`hipfftGetSizeMany64` | +|`cufftEstimate1d` |`hipfftEstimate1d` | +|`cufftEstimate2d` |`hipfftEstimate2d` | +|`cufftEstimate3d` |`hipfftEstimate3d` | +|`cufftEstimateMany` |`hipfftEstimateMany` | +|`cufftCreate` |`hipfftCreate` | +|`cufftGetSize1d` |`hipfftGetSize1d` | +|`cufftGetSize2d` |`hipfftGetSize2d` | +|`cufftGetSize3d` |`hipfftGetSize3d` | +|`cufftGetSizeMany` |`hipfftGetSizeMany` | +|`cufftGetSize` |`hipfftGetSize` | +|`cufftSetWorkArea` |`hipfftSetWorkArea` | +|`cufftSetAutoAllocation` |`hipfftSetAutoAllocation` | +|`cufftExecC2C` |`hipfftExecC2C` | +|`cufftExecR2C` |`hipfftExecR2C` | +|`cufftExecC2R` |`hipfftExecC2R` | +|`cufftExecZ2Z` |`hipfftExecZ2Z` | +|`cufftExecD2Z` |`hipfftExecD2Z` | +|`cufftExecZ2D` |`hipfftExecZ2D` | +|`cufftSetStream` |`hipfftSetStream` | +|`cufftDestroy` |`hipfftDestroy` | +|`cufftGetVersion` |`hipfftGetVersion` | +|`cufftGetProperty` | | diff --git a/hipify-clang/README.md b/hipify-clang/README.md index e099085ca6..fdb37d2e2d 100644 --- a/hipify-clang/README.md +++ b/hipify-clang/README.md @@ -6,19 +6,30 @@ -- [Using hipify-clang](#using-hipify-clang) - * [Build and install](#build-and-install) - * [Running and using hipify-clang](#running-and-using-hipify-clang) +- [Supported CUDA APIs](#cuda-apis) +- [Dependencies](#dependencies) +- [Build and install](#build-and-install) + * [Building](#building) + * [Testing](#testing) + * [Windows](#windows) +- [Running and using hipify-clang](#running-and-using-hipify-clang) - [Disclaimer](#disclaimer) -## Build and install +##Supported CUDA APIs -### Dependencies +- [Runtime API](../docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md) +- [Driver API](../docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md) +- [cuBLAS](../docs/markdown/CUBLAS_API_supported_by_HIP.md) +- [cuRAND](../docs/markdown/CURAND_API_supported_by_HIP.md) +- [cuDNN](../docs/markdown/CUDNN_API_supported_by_HIP.md) +- [cuFFT](../docs/markdown/CUFFT_API_supported_by_HIP.md) + +##Dependencies `hipify-clang` requires: -1. LLVM+CLANG of at least version 3.8.0, latest stable release is 6.0.0. +1. LLVM+CLANG of at least version 3.8.0, latest stable and recommended release is 6.0.1. 2. CUDA at least version 7.5, latest supported release is 9.0. | **LLVM release version** | **CUDA latest supported version** | @@ -38,10 +49,11 @@ In most cases, you can get a suitable version of LLVM+CLANG with your package manager. Failing that or having multiple versions of LLVM, you can [download a release archive](http://releases.llvm.org/), build or install it, and set -[CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.0/variable/CMAKE_PREFIX_PATH.html) so `cmake` can find it; for instance: `-DCMAKE_PREFIX_PATH=f:\LLVM\6.0.0\dist` +[CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.10/variable/CMAKE_PREFIX_PATH.html) so `cmake` can find it; for instance: `-DCMAKE_PREFIX_PATH=f:\LLVM\6.0.1\dist` -### Build +##Build and install +###Build Assuming this repository is at `./HIP`: @@ -64,14 +76,14 @@ Debug build type `-DCMAKE_BUILD_TYPE=Debug` is also supported and tested, `LLVM+ The binary can then be found at `./dist/bin/hipify-clang`. -### Test +###Test `hipify-clang` has unit tests using LLVM [`lit`](https://llvm.org/docs/CommandGuide/lit.html)/[`FileCheck`](https://llvm.org/docs/CommandGuide/FileCheck.html). **LLVM+CLANG should be built from sources, Pre-Built Binaries are not exhaustive for testing.** To run it: -1. Download [`LLVM`](http://releases.llvm.org/6.0.0/llvm-6.0.0.src.tar.xz)+[`CLANG`](http://releases.llvm.org/6.0.0/cfe-6.0.0.src.tar.xz) sources. +1. Download [`LLVM`](http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz)+[`CLANG`](http://releases.llvm.org/6.0.1/cfe-6.0.1.src.tar.xz) sources. 2. Build [`LLVM+CLANG`](http://llvm.org/docs/CMake.html). For instance: ```shell @@ -110,21 +122,21 @@ To run it: 6. Ensure `lit` and `FileCheck` are installed - these are distributed with LLVM. * installing `lit` into `python` might be required: - `python f:/LLVM/6.0.0/llvm/utils/lit/setup.py install`, + `python f:/LLVM/6.0.1/llvm/utils/lit/setup.py install`, - where `f:/LLVM/6.0.0/llvm` is LLVM sources root directory. + where `f:/LLVM/6.0.1/llvm` is LLVM sources root directory. - * Starting with LLVM 6.0.0 path to llvm-lit.py script should be specified by the `LLVM_EXTERNAL_LIT` option: + * Starting with LLVM 6.0.1 path to llvm-lit.py script should be specified by the `LLVM_EXTERNAL_LIT` option: - `-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Release/bin/llvm-lit.py`, + `-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.1/build/Release/bin/llvm-lit.py`, - where `f:/LLVM/6.0.0/build/Release` is LLVM build directory. + where `f:/LLVM/6.0.1/build/Release` is LLVM build directory. 7. Build with the `HIPIFY_CLANG_TESTS` option turned on: -DHIPIFY_CLANG_TESTS=1. 8. `make test-hipify` On Windows after `cmake` the project `test-hipify` in the generated `hipify-clang.sln` should be built by `Visual Studio 15 2017` instead of `make test-hipify`. -### Windows +###Windows On Windows the following configurations are tested: @@ -144,30 +156,30 @@ cmake -DHIPIFY_CLANG_TESTS=1 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../dist \ - -DCMAKE_PREFIX_PATH=f:/LLVM/6.0.0/dist \ + -DCMAKE_PREFIX_PATH=f:/LLVM/6.0.1/dist \ -DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0" \ -DCUDA_SDK_ROOT_DIR="c:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.0" \ -DCUDA_DNN_ROOT_DIR=f:/CUDNN/cudnn-9.0-windows10-x64-v7.1 \ - -DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Release/bin/llvm-lit.py \ + -DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.1/build/Release/bin/llvm-lit.py \ -Thost=x64 .. ``` A corresponding successful output: ```shell --- Found LLVM 6.0.0: --- - CMake module path: F:/LLVM/6.0.0/dist/lib/cmake/llvm --- - Include path : F:/LLVM/6.0.0/dist/include --- - Binary path : F:/LLVM/6.0.0/dist/bin +-- Found LLVM 6.0.1: +-- - CMake module path: F:/LLVM/6.0.1/dist/lib/cmake/llvm +-- - Include path : F:/LLVM/6.0.1/dist/include +-- - Binary path : F:/LLVM/6.0.1/dist/bin -- Found PythonInterp: C:/Program Files/Python36/python.exe (found suitable version "3.6.4", minimum required is "2.7") -- Found lit: C:/Program Files/Python36/Scripts/lit.exe --- Found FileCheck: F:/LLVM/6.0.0/dist/bin/FileCheck.exe +-- Found FileCheck: F:/LLVM/6.0.1/dist/bin/FileCheck.exe -- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0 (found version "9.0") -- Configuring done -- Generating done -- Build files have been written to: f:/HIP/hipify-clang/build ``` -## Running and using hipify-clang +##Running and using hipify-clang To process a file, `hipify-clang` needs access to the same headers that would be needed to compile it with clang. @@ -188,7 +200,7 @@ may be useful. For a list of `hipify-clang` options, run `hipify-clang --help`. -## Disclaimer +##Disclaimer The information contained herein is for informational purposes only, and is subject to change without notice. While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or other products described herein. No license, including implied or arising by estoppel, to any intellectual property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD's products are as set forth in a signed agreement between the parties or in AMD's Standard Terms and Conditions of Sale. diff --git a/hipify-clang/src/CUDA2HipMap.cpp b/hipify-clang/src/CUDA2HipMap.cpp index 63c294ac34..ca53738abb 100644 --- a/hipify-clang/src/CUDA2HipMap.cpp +++ b/hipify-clang/src/CUDA2HipMap.cpp @@ -395,7 +395,10 @@ const std::map CUDA_INCLUDE_MAP{ {"curand_uniform.h", {"hiprand_kernel.h", CONV_INCLUDE, API_RAND}}, // CUDNN includes - {"cudnn.h", {"hipDNN.h", CONV_INCLUDE_CUDA_MAIN_H, API_RAND}}, + {"cudnn.h", {"hipDNN.h", CONV_INCLUDE_CUDA_MAIN_H, API_DNN}}, + + // CUDNN includes + {"cufft.h", {"hipfft.h", CONV_INCLUDE_CUDA_MAIN_H, API_FFT}}, // HIP includes // TODO: uncomment this when hip/cudacommon.h will be renamed to hip/hipcommon.h @@ -3161,7 +3164,7 @@ const std::map CUDA_IDENTIFIER_MAP{ {"cudnnDebug_t", {"hipdnnDebug_t", CONV_TYPE, API_DNN, HIP_UNSUPPORTED}}, {"cudnnCallback_t", {"hipdnnCallback_t", CONV_TYPE, API_DNN, HIP_UNSUPPORTED}}, - ///////////////////////////// cuDNN functions ///////////////////////////// + ///////////////////////////// cuDNN functions ///////////////////////////// {"cudnnGetVersion", {"hipdnnGetVersion", CONV_VERSION, API_DNN}}, {"cudnnGetCudartVersion", {"hipdnnGetCudartVersion", CONV_VERSION, API_DNN, HIP_UNSUPPORTED}}, {"cudnnQueryRuntimeError", {"hipdnnQueryRuntimeError", CONV_VERSION, API_DNN, HIP_UNSUPPORTED}}, @@ -3193,7 +3196,7 @@ const std::map CUDA_IDENTIFIER_MAP{ {"cudnnDestroyOpTensorDescriptor", {"hipdnnDestroyOpTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, {"cudnnOpTensor", {"hipdnnOpTensor", CONV_MATH_FUNC, API_DNN}}, - // cuDNN Reduce Tensor functions + // cuDNN Reduce Tensor functions {"cudnnCreateReduceTensorDescriptor", {"hipdnnCreateReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, {"cudnnSetReduceTensorDescriptor", {"hipdnnSetReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, {"cudnnGetReduceTensorDescriptor", {"hipdnnGetReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, @@ -3206,7 +3209,7 @@ const std::map CUDA_IDENTIFIER_MAP{ // cuDNN Filter functions {"cudnnCreateFilterDescriptor", {"hipdnnCreateFilterDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetFilter4dDescriptor", {"hipdnnSetFilter4dDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetFilter4dDescriptor", {"hipdnnSetFilter4dDescriptor", CONV_MATH_FUNC, API_DNN}}, {"cudnnGetFilter4dDescriptor", {"hipdnnGetFilter4dDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, {"cudnnSetFilterNdDescriptor", {"hipdnnSetFilterNdDescriptor", CONV_MATH_FUNC, API_DNN}}, {"cudnnGetFilterNdDescriptor", {"hipdnnGetFilterNdDescriptor", CONV_MATH_FUNC, API_DNN}}, @@ -3365,6 +3368,85 @@ const std::map CUDA_IDENTIFIER_MAP{ {"cudnnGetAlgorithmSpaceSize", {"hipdnnGetAlgorithmSpaceSize", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, {"cudnnSaveAlgorithm", {"hipdnnSaveAlgorithm", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, {"cudnnRestoreAlgorithm", {"hipdnnRestoreAlgorithm", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + + ///////////////////////////// cuFFT ///////////////////////////// + // cuFFT defines + {"CUFFT_FORWARD", {"HIPFFT_FORWARD", CONV_NUMERIC_LITERAL, API_DNN}}, // -1 + {"CUFFT_INVERSE", {"HIPFFT_BACKWARD", CONV_NUMERIC_LITERAL, API_DNN}}, // 1 + {"CUFFT_COMPATIBILITY_DEFAULT", {"HIPFFT_COMPATIBILITY_DEFAULT", CONV_NUMERIC_LITERAL, API_DNN, HIP_UNSUPPORTED}}, // CUFFT_COMPATIBILITY_FFTW_PADDING + + // cuFFT enums + {"cufftResult_t", {"hipfftResult_t", CONV_TYPE, API_FFT}}, + {"cufftResult", {"hipfftResult", CONV_TYPE, API_FFT}}, + {"CUFFT_SUCCESS", {"HIPFFT_SUCCESS", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x0 0 + {"CUFFT_INVALID_PLAN", {"HIPFFT_INVALID_PLAN", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x1 1 + {"CUFFT_ALLOC_FAILED", {"HIPFFT_ALLOC_FAILED", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x2 2 + {"CUFFT_INVALID_TYPE", {"HIPFFT_INVALID_TYPE", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x3 3 + {"CUFFT_INVALID_VALUE", {"HIPFFT_INVALID_VALUE", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x4 4 + {"CUFFT_INTERNAL_ERROR", {"HIPFFT_INTERNAL_ERROR", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x5 5 + {"CUFFT_EXEC_FAILED", {"HIPFFT_EXEC_FAILED", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x6 6 + {"CUFFT_SETUP_FAILED", {"HIPFFT_SETUP_FAILED", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x7 7 + {"CUFFT_INVALID_SIZE", {"HIPFFT_INVALID_SIZE", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x8 8 + {"CUFFT_UNALIGNED_DATA", {"HIPFFT_UNALIGNED_DATA", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x9 9 + {"CUFFT_INCOMPLETE_PARAMETER_LIST", {"HIPFFT_INCOMPLETE_PARAMETER_LIST", CONV_NUMERIC_LITERAL, API_FFT}}, // 0xA 10 + {"CUFFT_INVALID_DEVICE", {"HIPFFT_INVALID_DEVICE", CONV_NUMERIC_LITERAL, API_FFT}}, // 0xB 11 + {"CUFFT_PARSE_ERROR", {"HIPFFT_PARSE_ERROR", CONV_NUMERIC_LITERAL, API_FFT}}, // 0xC 12 + {"CUFFT_NO_WORKSPACE", {"HIPFFT_NO_WORKSPACE", CONV_NUMERIC_LITERAL, API_FFT}}, // 0xD 13 + {"CUFFT_NOT_IMPLEMENTED", {"HIPFFT_NOT_IMPLEMENTED", CONV_NUMERIC_LITERAL, API_FFT}}, // 0xE 14 + {"CUFFT_LICENSE_ERROR", {"HIPFFT_LICENSE_ERROR", CONV_NUMERIC_LITERAL, API_FFT, HIP_UNSUPPORTED}}, + {"CUFFT_NOT_SUPPORTED", {"HIPFFT_NOT_SUPPORTED", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x10 16 + {"cufftType_t", {"hipfftType_t", CONV_TYPE, API_FFT}}, + {"cufftType", {"hipfftType", CONV_TYPE, API_FFT}}, + {"CUFFT_R2C", {"HIPFFT_R2C", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x2a + {"CUFFT_C2R", {"HIPFFT_C2R", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x2c + {"CUFFT_C2C", {"HIPFFT_C2C", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x29 + {"CUFFT_D2Z", {"HIPFFT_D2Z", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x6a + {"CUFFT_Z2D", {"HIPFFT_Z2D", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x6c + {"CUFFT_Z2Z", {"HIPFFT_Z2Z", CONV_NUMERIC_LITERAL, API_FFT}}, // 0x69 + {"cufftCompatibility_t", {"hipfftCompatibility_t", CONV_TYPE, API_FFT, HIP_UNSUPPORTED}}, + {"cufftCompatibility", {"hipfftCompatibility", CONV_TYPE, API_FFT, HIP_UNSUPPORTED}}, + {"CUFFT_COMPATIBILITY_FFTW_PADDING", {"HIPFFT_COMPATIBILITY_FFTW_PADDING", CONV_NUMERIC_LITERAL, API_FFT, HIP_UNSUPPORTED}}, // 0x01 + + // cuFFT types + {"cufftReal", {"hipfftReal", CONV_TYPE, API_FFT}}, + {"cufftDoubleReal", {"hipfftDoubleReal", CONV_TYPE, API_FFT}}, + {"cufftComplex", {"hipfftComplex", CONV_TYPE, API_FFT}}, + {"cufftDoubleComplex", {"hipfftDoubleComplex", CONV_TYPE, API_FFT}}, + {"cufftHandle", {"hipfftHandle", CONV_TYPE, API_FFT}}, + + ///////////////////////////// cuFFT functions ///////////////////////////// + {"cufftPlan1d", {"hipfftPlan1d", CONV_MATH_FUNC, API_FFT}}, + {"cufftPlan2d", {"hipfftPlan2d", CONV_MATH_FUNC, API_FFT}}, + {"cufftPlan3d", {"hipfftPlan3d", CONV_MATH_FUNC, API_FFT}}, + {"cufftPlanMany", {"hipfftPlanMany", CONV_MATH_FUNC, API_FFT}}, + {"cufftMakePlan1d", {"hipfftMakePlan1d", CONV_MATH_FUNC, API_FFT}}, + {"cufftMakePlan2d", {"hipfftMakePlan2d", CONV_MATH_FUNC, API_FFT}}, + {"cufftMakePlan3d", {"hipfftMakePlan3d", CONV_MATH_FUNC, API_FFT}}, + {"cufftMakePlanMany", {"hipfftMakePlanMany", CONV_MATH_FUNC, API_FFT}}, + {"cufftMakePlanMany64", {"hipfftMakePlanMany64", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSizeMany64", {"hipfftGetSizeMany64", CONV_MATH_FUNC, API_FFT}}, + {"cufftEstimate1d", {"hipfftEstimate1d", CONV_MATH_FUNC, API_FFT}}, + {"cufftEstimate2d", {"hipfftEstimate2d", CONV_MATH_FUNC, API_FFT}}, + {"cufftEstimate3d", {"hipfftEstimate3d", CONV_MATH_FUNC, API_FFT}}, + {"cufftEstimateMany", {"hipfftEstimateMany", CONV_MATH_FUNC, API_FFT}}, + {"cufftCreate", {"hipfftCreate", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSize1d", {"hipfftGetSize1d", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSize2d", {"hipfftGetSize2d", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSize3d", {"hipfftGetSize3d", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSizeMany", {"hipfftGetSizeMany", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetSize", {"hipfftGetSize", CONV_MATH_FUNC, API_FFT}}, + {"cufftSetWorkArea", {"hipfftSetWorkArea", CONV_MATH_FUNC, API_FFT}}, + {"cufftSetAutoAllocation", {"hipfftSetAutoAllocation", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecC2C", {"hipfftExecC2C", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecR2C", {"hipfftExecR2C", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecC2R", {"hipfftExecC2R", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecZ2Z", {"hipfftExecZ2Z", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecD2Z", {"hipfftExecD2Z", CONV_MATH_FUNC, API_FFT}}, + {"cufftExecZ2D", {"hipfftExecZ2D", CONV_MATH_FUNC, API_FFT}}, + {"cufftSetStream", {"hipfftSetStream", CONV_MATH_FUNC, API_FFT}}, + {"cufftDestroy", {"hipfftDestroy", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetVersion", {"hipfftGetVersion", CONV_MATH_FUNC, API_FFT}}, + {"cufftGetProperty", {"hipfftGetProperty", CONV_MATH_FUNC, API_FFT, HIP_UNSUPPORTED}}, }; const std::map& CUDA_RENAMES_MAP() { diff --git a/hipify-clang/src/HipifyAction.cpp b/hipify-clang/src/HipifyAction.cpp index 21b16e0699..20bc9dcc2c 100644 --- a/hipify-clang/src/HipifyAction.cpp +++ b/hipify-clang/src/HipifyAction.cpp @@ -164,6 +164,10 @@ bool HipifyAction::Exclude(const hipCounter & hipToken) { if (insertedDNNHeader) { return true; } insertedDNNHeader = true; return false; + case API_FFT: + if (insertedFFTHeader) { return true; } + insertedFFTHeader = true; + return false; default: return false; } diff --git a/hipify-clang/src/HipifyAction.h b/hipify-clang/src/HipifyAction.h index af75f93063..ad987c921e 100644 --- a/hipify-clang/src/HipifyAction.h +++ b/hipify-clang/src/HipifyAction.h @@ -28,6 +28,7 @@ private: bool insertedRANDHeader = false; bool insertedRAND_kernelHeader = false; bool insertedDNNHeader = false; + bool insertedFFTHeader = false; bool firstHeader = false; bool pragmaOnce = false; clang::SourceLocation firstHeaderLoc; diff --git a/hipify-clang/src/Statistics.cpp b/hipify-clang/src/Statistics.cpp index 13d4c3effc..595f243857 100644 --- a/hipify-clang/src/Statistics.cpp +++ b/hipify-clang/src/Statistics.cpp @@ -14,7 +14,7 @@ const char *counterNames[NUM_CONV_TYPES] = { }; const char *apiNames[NUM_API_TYPES] = { - "CUDA Driver API", "CUDA RT API", "CUBLAS API", "CURAND API", "CUDNN API" + "CUDA Driver API", "CUDA RT API", "CUBLAS API", "CURAND API", "CUDNN API", "CUFFT API" }; namespace { diff --git a/hipify-clang/src/Statistics.h b/hipify-clang/src/Statistics.h index 77bf9b0518..00ecce3eda 100644 --- a/hipify-clang/src/Statistics.h +++ b/hipify-clang/src/Statistics.h @@ -57,6 +57,7 @@ enum ApiTypes { API_BLAS, API_RAND, API_DNN, + API_FFT, API_LAST }; constexpr int NUM_API_TYPES = (int) ApiTypes::API_LAST; diff --git a/tests/hipify-clang/cuFFT/simple_cufft.cu b/tests/hipify-clang/cuFFT/simple_cufft.cu new file mode 100644 index 0000000000..906fe93853 --- /dev/null +++ b/tests/hipify-clang/cuFFT/simple_cufft.cu @@ -0,0 +1,78 @@ +// RUN: %run_test hipify "%s" "%t" %cuda_args + +// CHECK: #include +#include +// CHECK: #include +#include +#include +#include + +#define DATASIZE 8 +#define BATCH 2 + +#define gpuErrchk(ans) { gpuAssert((ans), __FILE__, __LINE__); } +// CHECK: inline void gpuAssert(hipError_t code, const char *file, int line, bool abort = true) +inline void gpuAssert(cudaError_t code, const char *file, int line, bool abort = true) +{ + // CHECK: if (code != hipSuccess) + if (code != cudaSuccess) + { + // CHECK: fprintf(stderr, "GPUassert: %s %s %dn", hipGetErrorString(code), file, line); + fprintf(stderr, "GPUassert: %s %s %dn", cudaGetErrorString(code), file, line); + if (abort) exit(code); + } +} + +int main() +{ + // --- Host side input data allocation and initialization + // CHECK: hipfftReal *hostInputData = (hipfftReal*)malloc(DATASIZE*BATCH * sizeof(hipfftReal)); + cufftReal *hostInputData = (cufftReal*)malloc(DATASIZE*BATCH * sizeof(cufftReal)); + for (int i = 0; iHost copy of the results + // CHECK: gpuErrchk(hipMemcpy(hostOutputData, deviceOutputData, (DATASIZE / 2 + 1) * BATCH * sizeof(hipfftComplex), hipMemcpyDeviceToHost)); + gpuErrchk(cudaMemcpy(hostOutputData, deviceOutputData, (DATASIZE / 2 + 1) * BATCH * sizeof(cufftComplex), cudaMemcpyDeviceToHost)); + + for (int i = 0; i +// CHECK: #include "hipfft.h" + #include #include @@ -91,3 +93,5 @@ #include "curand_uniform.h" #include + +#include "cufft.h" From d1149a9b64ab7a1ea7e0442381685915a7cf888e Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 31 Jul 2018 20:38:20 +0000 Subject: [PATCH 21/77] Enable hipHccModuleLaunchKernel on HIP-Clang --- include/hip/hcc_detail/hip_runtime.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index c2ae6e8e4f..1475cd6eec 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -450,6 +450,14 @@ extern const __device__ __attribute__((weak)) __hip_builtin_gridDim_t gridDim; #include -#endif +hipError_t hipHccModuleLaunchKernel(hipFunction_t f, uint32_t globalWorkSizeX, + uint32_t globalWorkSizeY, uint32_t globalWorkSizeZ, + uint32_t localWorkSizeX, uint32_t localWorkSizeY, + uint32_t localWorkSizeZ, size_t sharedMemBytes, + hipStream_t hStream, void** kernelParams, void** extra, + hipEvent_t startEvent = nullptr, + hipEvent_t stopEvent = nullptr); + +#endif // defined(__clang__) && defined(__HIP__) #endif // HIP_HCC_DETAIL_RUNTIME_H From 26f944b1c1e7d4bc7a66c083cbcbd77dbafc429a Mon Sep 17 00:00:00 2001 From: lthakur Date: Wed, 1 Aug 2018 10:41:30 +0530 Subject: [PATCH 22/77] Added offset value verification. Added offset value verification. --- tests/src/texture/hipGetAlgntoffset2D.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/src/texture/hipGetAlgntoffset2D.cpp b/tests/src/texture/hipGetAlgntoffset2D.cpp index 2343d7a7fb..3a4cc7dfc8 100644 --- a/tests/src/texture/hipGetAlgntoffset2D.cpp +++ b/tests/src/texture/hipGetAlgntoffset2D.cpp @@ -71,5 +71,8 @@ HIPCHECK(hipBindTextureToArray(&tex, hipArray, &chan_desc)); HIPCHECK(hipGetTextureAlignmentOffset(&offset,&tex)); HIPCHECK(hipUnbindTexture(&tex)); HIPCHECK(hipFreeArray(hipArray)); -return true; +if(offset != 0) + return false; + else + return true; } From 0fe661b182e64701fcd42dcee74ba5445f3dc3c9 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Wed, 1 Aug 2018 17:29:00 +0300 Subject: [PATCH 23/77] [HIPIFY][docs] Formatting --- hipify-clang/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hipify-clang/README.md b/hipify-clang/README.md index fdb37d2e2d..d5a825033d 100644 --- a/hipify-clang/README.md +++ b/hipify-clang/README.md @@ -17,7 +17,7 @@ -##Supported CUDA APIs +## Supported CUDA APIs - [Runtime API](../docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md) - [Driver API](../docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md) @@ -26,7 +26,7 @@ - [cuDNN](../docs/markdown/CUDNN_API_supported_by_HIP.md) - [cuFFT](../docs/markdown/CUFFT_API_supported_by_HIP.md) -##Dependencies +## Dependencies `hipify-clang` requires: 1. LLVM+CLANG of at least version 3.8.0, latest stable and recommended release is 6.0.1. @@ -51,9 +51,9 @@ In most cases, you can get a suitable version of LLVM+CLANG with your package ma Failing that or having multiple versions of LLVM, you can [download a release archive](http://releases.llvm.org/), build or install it, and set [CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.10/variable/CMAKE_PREFIX_PATH.html) so `cmake` can find it; for instance: `-DCMAKE_PREFIX_PATH=f:\LLVM\6.0.1\dist` -##Build and install +## Build and install -###Build +### Build Assuming this repository is at `./HIP`: @@ -76,7 +76,7 @@ Debug build type `-DCMAKE_BUILD_TYPE=Debug` is also supported and tested, `LLVM+ The binary can then be found at `./dist/bin/hipify-clang`. -###Test +### Test `hipify-clang` has unit tests using LLVM [`lit`](https://llvm.org/docs/CommandGuide/lit.html)/[`FileCheck`](https://llvm.org/docs/CommandGuide/FileCheck.html). @@ -136,7 +136,7 @@ To run it: On Windows after `cmake` the project `test-hipify` in the generated `hipify-clang.sln` should be built by `Visual Studio 15 2017` instead of `make test-hipify`. -###Windows +### Windows On Windows the following configurations are tested: @@ -179,7 +179,7 @@ A corresponding successful output: -- Build files have been written to: f:/HIP/hipify-clang/build ``` -##Running and using hipify-clang +## Running and using hipify-clang To process a file, `hipify-clang` needs access to the same headers that would be needed to compile it with clang. @@ -200,7 +200,7 @@ may be useful. For a list of `hipify-clang` options, run `hipify-clang --help`. -##Disclaimer +## Disclaimer The information contained herein is for informational purposes only, and is subject to change without notice. While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or other products described herein. No license, including implied or arising by estoppel, to any intellectual property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD's products are as set forth in a signed agreement between the parties or in AMD's Standard Terms and Conditions of Sale. From 43bb490947bbae7a10de30598c1a699315d620fa Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Tue, 31 Jul 2018 18:20:13 -0400 Subject: [PATCH 24/77] Add HCC compatibility mode --- bin/hipcc | 5 +++++ include/hip/hcc_detail/hip_runtime.h | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/bin/hipcc b/bin/hipcc index 9df3459fd1..1eebb571d5 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -57,6 +57,7 @@ $HIP_PATH=$ENV{'HIP_PATH'} // dirname (dirname $0); # use parent directory of hi $HIP_VDI_HOME=$ENV{'HIP_VDI_HOME'}; $HIP_CLANG_PATH=$ENV{'HIP_CLANG_PATH'}; $DEVICE_LIB_PATH=$ENV{'DEVICE_LIB_PATH'}; +$HIP_CLANG_HCC_COMPAT_MODE=$ENV{'HIP_CLANG_HCC_COMPAT_MODE'}; # HCC compatibility mode #--- # Read .hipInfo @@ -158,6 +159,10 @@ if ($HIP_PLATFORM eq "clang") { $HIPCXXFLAGS .= " -std=c++11 -isystem $HIP_CLANG_INCLUDE_PATH"; $HIPLDFLAGS .= " --hip-device-lib-path=$DEVICE_LIB_PATH -L$HIP_LIB_PATH -Wl,--rpath=$HIP_LIB_PATH -lhip_hcc"; + if ($HIP_CLANG_HCC_COMPAT_MODE) { + ## Allow __fp16 as function parameter and return type. + $HIPCXXFLAGS .= " -Xclang -fallow-half-arguments-and-returns -D__HIP_HCC_COMPAT_MODE__=1"; + } } elsif ($HIP_PLATFORM eq "hcc") { $HIP_INCLUDE_PATH = "$HIP_PATH/include"; $HSA_PATH=$ENV{'HSA_PATH'} // "/opt/rocm/hsa"; diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index c2ae6e8e4f..61a614ee15 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -438,6 +438,26 @@ extern const __device__ __attribute__((weak)) __hip_builtin_gridDim_t gridDim; #define hipGridDim_y gridDim.y #define hipGridDim_z gridDim.z +#if __HIP_HCC_COMPAT_MODE__ +// Define HCC work item functions in terms of HIP builtin variables. +#pragma push_macro("__DEFINE_HCC_FUNC") +#define __DEFINE_HCC_FUNC(hc_fun,hip_var) \ +inline __device__ __attribute__((always_inline)) uint hc_get_##hc_fun(uint i) { \ + if (i==0) \ + return hip_var.x; \ + else if(i==1) \ + return hip_var.y; \ + else \ + return hip_var.z; \ +} + +__DEFINE_HCC_FUNC(workitem_id, threadIdx) +__DEFINE_HCC_FUNC(group_id, blockIdx) +__DEFINE_HCC_FUNC(group_size, blockDim) +__DEFINE_HCC_FUNC(num_groups, gridDim) +#pragma pop_macro("__DEFINE_HCC_FUNC") +#endif + // Support std::complex. #pragma push_macro("__CUDA__") #define __CUDA__ From ef1d1d57f7ac0a935a0f1b22d37d049b3cac61f3 Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Wed, 1 Aug 2018 15:13:07 -0400 Subject: [PATCH 25/77] Add hc_get_workitem_absolute_id for hip-clang HCC compatibility mode --- include/hip/hcc_detail/hip_runtime.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 61a614ee15..0b44c5f9c0 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -456,6 +456,14 @@ __DEFINE_HCC_FUNC(group_id, blockIdx) __DEFINE_HCC_FUNC(group_size, blockDim) __DEFINE_HCC_FUNC(num_groups, gridDim) #pragma pop_macro("__DEFINE_HCC_FUNC") + +extern "C" __device__ __attribute__((const)) size_t __ockl_get_global_id(uint); +inline __device__ __attribute__((always_inline)) uint +hc_get_workitem_absolute_id(int dim) +{ + return (uint)__ockl_get_global_id(dim); +} + #endif // Support std::complex. From 704f236c9a59658c185c707f259404f458ec9458 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 1 Aug 2018 20:37:46 +0000 Subject: [PATCH 26/77] Enable HIP_COMPILER to choose HIP-Clang lib links --- CMakeLists.txt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a4da3b1920..818c75783e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,21 @@ if(NOT DEFINED HIP_PLATFORM) endif() message(STATUS "HIP Platform: " ${HIP_PLATFORM}) +# Determine HIP_COMPILER +# Either hcc or clang; default is hcc +if(NOT DEFINED HIP_COMPILER) + if(NOT DEFINED ENV{HIP_COMPILER}) + set(HIP_COMPILER "hcc" CACHE STRING "HIP Compiler") + else() + set(HIP_COMPILER $ENV{HIP_COMPILER} CACHE STRING "HIP Compiler") + endif() +endif() +if(NOT (HIP_COMPILER STREQUAL "hcc" OR HIP_COMPILER STREQUAL "clang")) + message(FATAL_ERROR "Must use HIP_COMPILER as hcc or clang") +endif() +message(STATUS "HIP Compiler: " ${HIP_COMPILER}) + + # If HIP_PLATFORM is hcc, we need HCC_HOME and HSA_PATH to be defined if(HIP_PLATFORM STREQUAL "hcc") # Determine HCC_HOME @@ -214,7 +229,11 @@ if(HIP_PLATFORM STREQUAL "hcc") add_library(host INTERFACE) target_link_libraries(host INTERFACE hip_hcc) add_library(device INTERFACE) - target_link_libraries(device INTERFACE host hip_device hcc::hccrt hcc::hc_am) + if(HIP_COMPILER STREQUAL "hcc") + target_link_libraries(device INTERFACE host hip_device hcc::hccrt hcc::hc_am) + elseif(HIP_COMPILER STREQUAL "clang") + target_link_libraries(device INTERFACE host hip_device) + endif() # Generate .hipInfo file(WRITE "${PROJECT_BINARY_DIR}/.hipInfo" ${_buildInfo}) From f6316a95b88355770ab99f0528c0dcefc6fefed4 Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Wed, 1 Aug 2018 17:01:39 -0400 Subject: [PATCH 27/77] Let hipcc handle static library for hip-clang --- bin/hipcc | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/bin/hipcc b/bin/hipcc index 9df3459fd1..c277fc42aa 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -455,6 +455,53 @@ foreach $arg (@ARGV) close $in; close $out; $arg = "$new_arg -Wl,\@$new_file"; + } elsif (($arg =~ m/\.a$/ || $arg =~ m/\.lo$/) && + $HIP_PLATFORM eq 'clang') { + ## process static library for hip-clang + ## extract object files from static library and pass them directly to + ## hip-clang. + ## ToDo: Remove this after hip-clang switch to lto and lld is able to + ## handle clang-offload-bundler bundles. + + my $new_arg = ""; + my $tmpdir = get_temp_dir (); + my $libFile = $arg; + my $path = abs_path($arg); + my @objs = split ('\n', `cd $tmpdir; ar xv $path`); + ## Check if all files in .a are object files. + my $allIsObj = 1; + my $realObjs = ""; + foreach my $obj (@objs) { + chomp $obj; + $obj =~ s/^x - //; + $obj = "$tmpdir/$obj"; + my $fileType = `file $obj`; + my $isObj = ($fileType =~ m/ELF/ or $fileType =~ m/COFF/); + $allIsObj = ($allIsObj and $isObj); + if ($isObj) { + $realObjs = ($realObjs . " " . $obj); + } else { + push (@inputs, $obj); + if ($new_arg ne "") { + $new_arg .= " "; + } + $new_arg .= "$obj"; + } + } + chomp $realObjs; + if ($allIsObj) { + $new_arg = $arg; + } elsif ($realObjs) { + my($libBaseName, $libDir, $libExt) = fileparse($libFile); + $libBaseName = mktemp($libBaseName . "XXXX") . $libExt; + system("cd $tmpdir; ar c $libBaseName $realObjs"); + $new_arg .= " $tmpdir/$libBaseName"; + } + $arg = "$new_arg"; + if ($toolArgs =~ m/-Xlinker$/) { + $toolArgs = substr $toolArgs, 0, -8; + chomp $toolArgs; + } } elsif ($arg =~ m/^-/) { # options start with - From 07f8f09aff211b2e67422ef70043813895359e1d Mon Sep 17 00:00:00 2001 From: Rahul Garg Date: Thu, 2 Aug 2018 15:16:36 +0530 Subject: [PATCH 28/77] Remove adipose extension from genco output --- lpl_ca/lpl.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lpl_ca/lpl.hpp b/lpl_ca/lpl.hpp index cbd7fe8386..c3992e43c0 100644 --- a/lpl_ca/lpl.hpp +++ b/lpl_ca/lpl.hpp @@ -80,7 +80,7 @@ inline void copy_kernel_section_to_fat_binary(const std::string& tmp, const std: std::find_if(reader.sections.begin(), reader.sections.end(), [](const ELFIO::section* x) { return x->get_name() == kernel_section(); }); - std::ofstream out{output + fat_binary_extension()}; + std::ofstream out{output}; if (it == reader.sections.end()) { std::cerr << "Warning: no kernels were generated; fat binary shall " @@ -95,8 +95,8 @@ inline void generate_fat_binary(const std::vector& sources, const std::vector& targets, const std::string& flags, const std::string& output) { static const auto d = [](const std::string* f) { remove(f->c_str()); }; - - std::unique_ptr tmp{&output, d}; + std::string temp_str = output + ".tmp"; + std::unique_ptr tmp{&temp_str, d}; redi::ipstream hipcc{make_hipcc_call(sources, targets, flags, *tmp), redi::pstream::pstderr}; From 136bcc298100a698a2e0e451842ebc2895398ee8 Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Fri, 3 Aug 2018 17:02:50 -0500 Subject: [PATCH 29/77] Revert "Keep the map which tracks GPU kernel symbols to grow monotonically" This reverts commit 32789a8b7dee21e8e4f320e8d673591b01113ced. --- src/program_state.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/program_state.cpp b/src/program_state.cpp index fab71b1def..3eba84f12e 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -444,9 +444,7 @@ const unordered_map>>& fu auto cons = [rebuild]() { if (rebuild) { - // do NOT clear r so we reuse instances of pair - // created previously - + r.clear(); function_names(rebuild); kernels(rebuild); globals(rebuild); From 3426f151718142f76c81dfbc4084f48701d88314 Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Fri, 3 Aug 2018 17:02:58 -0500 Subject: [PATCH 30/77] Revert "Improve performance of re-initialization logic" This reverts commit ece4539c1da091c749b24a73aaba9dc40ec99567. --- src/program_state.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/program_state.cpp b/src/program_state.cpp index 3eba84f12e..3ad9285b8c 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -180,29 +180,21 @@ const unordered_map>>& code_object_blobs(bool reb static once_flag f; auto cons = [rebuild]() { - // names of shared libraries who .kernel sections already loaded - static unordered_set lib_names; static vector> blobs{code_object_blob_for_process()}; if (rebuild) { - r.clear(); blobs.clear(); + blobs.push_back(code_object_blob_for_process()); } dl_iterate_phdr( [](dl_phdr_info* info, std::size_t, void*) { elfio tmp; - if ((lib_names.find(info->dlpi_name) == lib_names.end()) && - (tmp.load(info->dlpi_name))) { + if (tmp.load(info->dlpi_name)) { const auto it = find_section_if( tmp, [](const section* x) { return x->get_name() == ".kernel"; }); - if (it) { - blobs.emplace_back( - it->get_data(), it->get_data() + it->get_size()); - // register the shared library as already loaded - lib_names.emplace(info->dlpi_name); - } + if (it) blobs.emplace_back(it->get_data(), it->get_data() + it->get_size()); } return 0; }, @@ -346,8 +338,7 @@ executables(bool rebuild) { // TODO: This leaks the hsa_executable_ts, it shoul static const auto accelerators = hc::accelerator::get_all(); if (rebuild) { - // do NOT clear r so we reuse instances of hsa_executable_t - // created previously + r.clear(); code_object_blobs(rebuild); } From 2604f3393003281b0fee6731d32f50ddeb814326 Mon Sep 17 00:00:00 2001 From: "Wen-Heng (Jack) Chung" Date: Fri, 3 Aug 2018 17:03:04 -0500 Subject: [PATCH 31/77] Revert "HIP program state re-initialization logic" This reverts commit 379b7a224138acd54c76dac8fe23f40c5d1b53cc. --- include/hip/hcc_detail/program_state.hpp | 9 +- src/functional_grid_launch.inl | 16 +-- src/program_state.cpp | 131 ++++------------------- 3 files changed, 32 insertions(+), 124 deletions(-) diff --git a/include/hip/hcc_detail/program_state.hpp b/include/hip/hcc_detail/program_state.hpp index bdb87b3509..ac689fdb89 100644 --- a/include/hip/hcc_detail/program_state.hpp +++ b/include/hip/hcc_detail/program_state.hpp @@ -93,12 +93,11 @@ public: } }; -const std::unordered_map>& executables( - bool rebuild = false); +const std::unordered_map>& executables(); const std::unordered_map>>& -functions(bool rebuild = false); -const std::unordered_map& function_names(bool rebuild = false); -std::unordered_map& globals(bool rebuild = false); +functions(); +const std::unordered_map& function_names(); +std::unordered_map& globals(); hsa_executable_t load_executable(const std::string& file, hsa_executable_t executable, hsa_agent_t agent); diff --git a/src/functional_grid_launch.inl b/src/functional_grid_launch.inl index 6283d1aaba..704cf9ffeb 100644 --- a/src/functional_grid_launch.inl +++ b/src/functional_grid_launch.inl @@ -92,19 +92,13 @@ namespace hip_impl hipStream_t stream, void** kernarg) { - auto it0 = functions().find(function_address); + const auto it0 = functions().find(function_address); if (it0 == functions().cend()) { - // Re-init device code maps once again to help locate kernels - // loaded after HIP runtime initialization via means such as - // dlopen(). - it0 = functions(true).find(function_address); - if (it0 == functions().cend()) { - throw runtime_error{ - "No device code available for function: " + - name(function_address) - }; - } + throw runtime_error{ + "No device code available for function: " + + name(function_address) + }; } auto agent = target_agent(stream); diff --git a/src/program_state.cpp b/src/program_state.cpp index 3ad9285b8c..c4478bec2f 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -74,15 +74,11 @@ vector copy_names_of_undefined_symbols(const symbol_section_accessor& se } const std::unordered_map>& -symbol_addresses(bool rebuild = false) { +symbol_addresses() { static unordered_map> r; static once_flag f; - auto cons = [rebuild]() { - if (rebuild) { - r.clear(); - } - + call_once(f, []() { dl_iterate_phdr( [](dl_phdr_info* info, size_t, void*) { static constexpr const char self[] = "/proc/self/exe"; @@ -112,12 +108,7 @@ symbol_addresses(bool rebuild = false) { return 0; }, nullptr); - }; - - call_once(f, cons); - if (rebuild) { - cons(); - } + }); return r; } @@ -175,18 +166,13 @@ vector code_object_blob_for_process() { return r; } -const unordered_map>>& code_object_blobs(bool rebuild = false) { +const unordered_map>>& code_object_blobs() { static unordered_map>> r; static once_flag f; - auto cons = [rebuild]() { + call_once(f, []() { static vector> blobs{code_object_blob_for_process()}; - if (rebuild) { - blobs.clear(); - blobs.push_back(code_object_blob_for_process()); - } - dl_iterate_phdr( [](dl_phdr_info* info, std::size_t, void*) { elfio tmp; @@ -208,13 +194,7 @@ const unordered_map>>& code_object_blobs(bool reb } } } - }; - - - call_once(f, cons); - if (rebuild) { - cons(); - } + }); return r; } @@ -236,13 +216,13 @@ vector> function_names_for(const elfio& reader, section* return r; } -const vector>& function_names_for_process(bool rebuild = false) { +const vector>& function_names_for_process() { static constexpr const char self[] = "/proc/self/exe"; static vector> r; static once_flag f; - auto cons = [rebuild]() { + call_once(f, []() { elfio reader; if (!reader.load(self)) { @@ -253,26 +233,16 @@ const vector>& function_names_for_process(bool rebuild = find_section_if(reader, [](const section* x) { return x->get_type() == SHT_SYMTAB; }); if (symtab) r = function_names_for(reader, symtab); - }; - - call_once(f, cons); - if (rebuild) { - cons(); - } + }); return r; } -const unordered_map>& kernels(bool rebuild = false) { +const unordered_map>& kernels() { static unordered_map> r; static once_flag f; - auto cons = [rebuild]() { - if (rebuild) { - r.clear(); - executables(rebuild); - } - + call_once(f, []() { static const auto copy_kernels = [](hsa_executable_t, hsa_agent_t, hsa_executable_symbol_t s, void*) { if (type(s) == HSA_SYMBOL_KIND_KERNEL) r[name(s)].push_back(s); @@ -286,12 +256,7 @@ const unordered_map>& kernels(bool rebui copy_kernels, nullptr); } } - }; - - call_once(f, cons); - if (rebuild) { - cons(); - } + }); return r; } @@ -330,18 +295,13 @@ void load_code_object_and_freeze_executable( namespace hip_impl { const unordered_map>& -executables(bool rebuild) { // TODO: This leaks the hsa_executable_ts, it should use RAII. +executables() { // TODO: This leaks the hsa_executable_ts, it should use RAII. static unordered_map> r; static once_flag f; - auto cons = [rebuild]() { + call_once(f, []() { static const auto accelerators = hc::accelerator::get_all(); - if (rebuild) { - r.clear(); - code_object_blobs(rebuild); - } - for (auto&& acc : accelerators) { auto agent = static_cast(acc.get_hsa_agent()); @@ -375,29 +335,17 @@ executables(bool rebuild) { // TODO: This leaks the hsa_executable_ts, it shoul }, agent); } - }; - - call_once(f, cons); - if (rebuild) { - cons(); - } + }); return r; } -const unordered_map& function_names(bool rebuild) { +const unordered_map& function_names() { static unordered_map r{function_names_for_process().cbegin(), function_names_for_process().cend()}; static once_flag f; - auto cons = [rebuild]() { - if (rebuild) { - r.clear(); - function_names_for_process(rebuild); - r.insert(function_names_for_process().cbegin(), - function_names_for_process().cend()); - } - + call_once(f, []() { dl_iterate_phdr( [](dl_phdr_info* info, size_t, void*) { elfio tmp; @@ -417,30 +365,16 @@ const unordered_map& function_names(bool rebuild) { return 0; }, nullptr); - }; - - call_once(f, cons); - if (rebuild) { - static mutex mtx; - lock_guard lck{mtx}; - cons(); - } + }); return r; } -const unordered_map>>& functions(bool rebuild) { +const unordered_map>>& functions() { static unordered_map>> r; static once_flag f; - auto cons = [rebuild]() { - if (rebuild) { - r.clear(); - function_names(rebuild); - kernels(rebuild); - globals(rebuild); - } - + call_once(f, []() { for (auto&& function : function_names()) { const auto it = kernels().find(function.second); @@ -452,34 +386,15 @@ const unordered_map>>& fu } } } - }; - - call_once(f, cons); - if (rebuild) { - static mutex mtx; - lock_guard lck{mtx}; - cons(); - } + }); return r; } -unordered_map& globals(bool rebuild) { +unordered_map& globals() { static unordered_map r; static once_flag f; - auto cons =[rebuild]() { - if (rebuild) { - r.clear(); - symbol_addresses(rebuild); - } - - r.reserve(symbol_addresses().size()); - }; - - call_once(f, cons); - if (rebuild) { - cons(); - } + call_once(f, []() { r.reserve(symbol_addresses().size()); }); return r; } From 3a68ab49193389773c873843e0120d4f00ca7d50 Mon Sep 17 00:00:00 2001 From: sunway513 Date: Sat, 4 Aug 2018 01:48:06 +0000 Subject: [PATCH 32/77] Add startup loader under HIP_STARTUP_LOADER env var, disable by default --- src/program_state.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/program_state.cpp b/src/program_state.cpp index fab71b1def..17f127fe87 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -513,8 +513,9 @@ hsa_executable_t load_executable(const string& file, hsa_executable_t executable return executable; } -// To force HIP to load the kernels and to setup the function -// symbol map on program startup +// HIP startup kernel loader logic +// When enabled HIP_STARTUP_LOADER, HIP will load the kernels and setup +// the function symbol map on program startup class startup_kernel_loader { private: startup_kernel_loader() { functions(); } @@ -522,6 +523,12 @@ class startup_kernel_loader { startup_kernel_loader& operator=(const startup_kernel_loader&) = delete; static startup_kernel_loader skl; }; -startup_kernel_loader startup_kernel_loader::skl; + +extern "C" void __attribute__((constructor)) __startup_kernel_loader_init() { + if (atoi(std::getenv("HIP_STARTUP_LOADER"))) functions(); +} + +extern "C" void __attribute__((destructor)) __startup_kernel_loader_fini() { +} } // Namespace hip_impl. From 30dfa6f129baa91576ef86d1125d49111097d86f Mon Sep 17 00:00:00 2001 From: sunway513 Date: Sat, 4 Aug 2018 01:52:27 +0000 Subject: [PATCH 33/77] Add more check to ensure the startup loader only be enabled with the env var set to 1 --- src/program_state.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/program_state.cpp b/src/program_state.cpp index 17f127fe87..4c14eb2953 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -525,7 +525,7 @@ class startup_kernel_loader { }; extern "C" void __attribute__((constructor)) __startup_kernel_loader_init() { - if (atoi(std::getenv("HIP_STARTUP_LOADER"))) functions(); + if (atoi(std::getenv("HIP_STARTUP_LOADER")) == 1) functions(); } extern "C" void __attribute__((destructor)) __startup_kernel_loader_fini() { From dacb18414ee7f4b1e4c877e8a18b69795a3b11fc Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Tue, 7 Aug 2018 15:44:59 -0400 Subject: [PATCH 34/77] Fix declaration conflict when hip/math_functions.h is included first This fixes build failure in TensorFlow 1.8 for HCC --- include/hip/hcc_detail/math_functions.h | 6 + tests/src/deviceLib/hipTestIncludeMath.cpp | 136 +++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 tests/src/deviceLib/hipTestIncludeMath.cpp diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index 629ecf7c50..d9125e1654 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -31,6 +31,12 @@ THE SOFTWARE. #include #include +// HCC's own math functions should be included first, otherwise there will +// be conflicts when hip/math_functions.h is included before hip/hip_runtime.h. +#ifdef __HCC__ +#include "kalmar_math.h" +#endif + #pragma push_macro("__DEVICE__") #pragma push_macro("__RETURN_TYPE") diff --git a/tests/src/deviceLib/hipTestIncludeMath.cpp b/tests/src/deviceLib/hipTestIncludeMath.cpp new file mode 100644 index 0000000000..1097c23166 --- /dev/null +++ b/tests/src/deviceLib/hipTestIncludeMath.cpp @@ -0,0 +1,136 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ + +// Test include math_functions.h then hip_runtime.h. +// Incorrect implementation causes compilation failure due to conflict +// declartions. + +#include +#include +#include "test_common.h" + +__global__ void FloatMathPrecise() { + int iX; + float fX, fY; + + acosf(1.0f); + acoshf(1.0f); + asinf(0.0f); + asinhf(0.0f); + atan2f(0.0f, 1.0f); + atanf(0.0f); + atanhf(0.0f); + cbrtf(0.0f); + fX = ceilf(0.0f); + fX = copysignf(1.0f, -2.0f); + cosf(0.0f); + coshf(0.0f); + cospif(0.0f); + cyl_bessel_i0f(0.0f); + cyl_bessel_i1f(0.0f); + erfcf(0.0f); + erfcinvf(2.0f); + erfcxf(0.0f); + erff(0.0f); + erfinvf(1.0f); + exp10f(0.0f); + exp2f(0.0f); + expf(0.0f); + expm1f(0.0f); + fX = fabsf(1.0f); + fdimf(1.0f, 0.0f); + fdividef(0.0f, 1.0f); + fX = floorf(0.0f); + fmaf(1.0f, 2.0f, 3.0f); + fX = fmaxf(0.0f, 0.0f); + fX = fminf(0.0f, 0.0f); + fmodf(0.0f, 1.0f); + frexpf(0.0f, &iX); + hypotf(1.0f, 0.0f); + ilogbf(1.0f); + isfinite(0.0f); + fX = isinf(0.0f); + fX = isnan(0.0f); + j0f(0.0f); + j1f(0.0f); + jnf(-1.0f, 1.0f); + ldexpf(0.0f, 0); + lgammaf(1.0f); + llrintf(0.0f); + llroundf(0.0f); + log10f(1.0f); + log1pf(-1.0f); + log2f(1.0f); + logbf(1.0f); + logf(1.0f); + lrintf(0.0f); + lroundf(0.0f); + modff(0.0f, &fX); + fX = nanf("1"); + fX = nearbyintf(0.0f); + nextafterf(0.0f, 0.0f); + norm3df(1.0f, 0.0f, 0.0f); + norm4df(1.0f, 0.0f, 0.0f, 0.0f); + normcdff(0.0f); + normcdfinvf(1.0f); + fX = 1.0f; + normf(1, &fX); + powf(1.0f, 0.0f); + rcbrtf(1.0f); + remainderf(2.0f, 1.0f); + remquof(1.0f, 2.0f, &iX); + rhypotf(0.0f, 1.0f); + fY = rintf(1.0f); + rnorm3df(0.0f, 0.0f, 1.0f); + rnorm4df(0.0f, 0.0f, 0.0f, 1.0f); + fX = 1.0f; + rnormf(1, &fX); + fY = roundf(0.0f); + rsqrtf(1.0f); + scalblnf(0.0f, 1); + scalbnf(0.0f, 1); + signbit(1.0f); + sincosf(0.0f, &fX, &fY); + sincospif(0.0f, &fX, &fY); + sinf(0.0f); + sinhf(0.0f); + sinpif(0.0f); + sqrtf(0.0f); + tanf(0.0f); + tanhf(0.0f); + tgammaf(2.0f); + fY = truncf(0.0f); + y0f(1.0f); + y1f(1.0f); + ynf(1, 1.0f); +} + +int main() { + hipLaunchKernelGGL(FloatMathPrecise, dim3(1, 1, 1), dim3(1, 1, 1), 0, 0); + passed(); +} From 450ea49df0bc01140d3ed1ae6f2bf2018bbbe87c Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Tue, 7 Aug 2018 17:14:39 -0400 Subject: [PATCH 35/77] Fix __HIP_DEVICE_COMPILE__ not defined when hip/math_functions.h is included This fixes build failure in TensorFlow 1.8 for HCC --- include/hip/math_functions.h | 1 + tests/src/deviceLib/hipTestIncludeMath.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/hip/math_functions.h b/include/hip/math_functions.h index 23dddf9f9d..2dfec4551b 100644 --- a/include/hip/math_functions.h +++ b/include/hip/math_functions.h @@ -27,6 +27,7 @@ THE SOFTWARE. // paths to provide a consistent include env and avoid "missing symbol" errors that only appears // on NVCC path: +#include #if defined(__HIP_PLATFORM_HCC__) && !defined(__HIP_PLATFORM_NVCC__) #include diff --git a/tests/src/deviceLib/hipTestIncludeMath.cpp b/tests/src/deviceLib/hipTestIncludeMath.cpp index 1097c23166..fd9bff1ad9 100644 --- a/tests/src/deviceLib/hipTestIncludeMath.cpp +++ b/tests/src/deviceLib/hipTestIncludeMath.cpp @@ -31,6 +31,20 @@ THE SOFTWARE. // declartions. #include + +// Test __HIP_DEVICE_COMPILE__ is defined after math_functions.h +// is included. +// +__device__ __host__ inline void throw_std_bad_alloc() +{ + #ifndef __HIP_DEVICE_COMPILE__ + throw std::bad_alloc(); + #else + std::size_t huge = static_cast(-1); + new int[huge]; + #endif +} + #include #include "test_common.h" From b8a0c14171a1fd6744ea4d82e065c62524237fea Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Wed, 8 Aug 2018 08:55:28 -0400 Subject: [PATCH 36/77] Fix __HIP_ARCH_* not defined after including math_functions.h hcc_detail/math_functions.h used to include hcc_detail/hip_runtime.h. Removing it has caused regression in TensorFlow 1.8. Put it back for backward compatibiliity. --- include/hip/hcc_detail/math_functions.h | 5 +++++ tests/src/deviceLib/hipTestIncludeMath.cpp | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index d9125e1654..10967605d4 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -1338,3 +1338,8 @@ __HIP_OVERLOAD2(double, min) #pragma pop_macro("__HIP_OVERLOAD2") #pragma pop_macro("__DEVICE__") #pragma pop_macro("__RETURN_TYPE") + +// For backward compatibility. +// There are HIP applications e.g. TensorFlow, expecting __HIP_ARCH_* macros +// defined after including math_functions.h. +#include diff --git a/tests/src/deviceLib/hipTestIncludeMath.cpp b/tests/src/deviceLib/hipTestIncludeMath.cpp index fd9bff1ad9..6063eee76c 100644 --- a/tests/src/deviceLib/hipTestIncludeMath.cpp +++ b/tests/src/deviceLib/hipTestIncludeMath.cpp @@ -45,6 +45,14 @@ __device__ __host__ inline void throw_std_bad_alloc() #endif } +// Test __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ and __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ +// is defined. Eigen HIP/hcc/Half.h __ldg depends on this. +#if !defined(__HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__) || \ + !defined(__HIP_ARCH_HAS_DYNAMIC_PARALLEL__) +#error \ + "__HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ or __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ not defined" +#endif + #include #include "test_common.h" From 368977f75bfdfb478dab169a635148e0fbc372b9 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Wed, 8 Aug 2018 18:34:57 +0300 Subject: [PATCH 37/77] [HIPIFY][Complex] Add cuComplex support + Add API_COMPLEX support (data types and functions) + Add cuComplex_API_supported_by_HIP.md + Add cuComplex_Julia.cu test + Update README.md --- .../cuComplex_API_supported_by_HIP.md | 37 ++++++++++++ hipify-clang/README.md | 1 + hipify-clang/src/CUDA2HipMap.cpp | 38 ++++++++++-- hipify-clang/src/HipifyAction.cpp | 4 ++ hipify-clang/src/HipifyAction.h | 1 + hipify-clang/src/Statistics.cpp | 4 +- hipify-clang/src/Statistics.h | 2 + .../hipify-clang/cuComplex/cuComplex_Julia.cu | 58 +++++++++++++++++++ 8 files changed, 138 insertions(+), 7 deletions(-) create mode 100644 docs/markdown/cuComplex_API_supported_by_HIP.md create mode 100644 tests/hipify-clang/cuComplex/cuComplex_Julia.cu diff --git a/docs/markdown/cuComplex_API_supported_by_HIP.md b/docs/markdown/cuComplex_API_supported_by_HIP.md new file mode 100644 index 0000000000..621973ba61 --- /dev/null +++ b/docs/markdown/cuComplex_API_supported_by_HIP.md @@ -0,0 +1,37 @@ +# cuComplex API supported by HIP + +## **1. cuComplex Data types** + +| **type** | **CUDA** | **HIP** |**HIP value** (if differs) | +|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------| +| float2 |***`cuFloatComplex`*** |***`hipFloatComplex`*** | struct | +| double2 |***`cuDoubleComplex`*** |***`hipDoubleComplex`*** | struct | +| float2 |***`cuComplex`*** |***`hipComplex`*** | struct | + +## **2. cuComplex API functions** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cuCrealf` |`hipCrealf` | +|`cuCimagf` |`hipCimagf` | +|`make_cuFloatComplex` |`make_hipFloatComplex` | +|`cuConjf` |`hipConjf` | +|`cuCaddf` |`hipCaddf` | +|`cuCsubf` |`hipCsubf` | +|`cuCmulf` |`hipCmulf` | +|`cuCdivf` |`hipCdivf` | +|`cuCabsf` |`hipCabsf` | +|`cuCreal` |`hipCreal` | +|`cuCimag` |`hipCimag` | +|`make_cuDoubleComplex` |`make_hipDoubleComplex` | +|`cuConj` |`hipConj` | +|`cuCadd` |`hipCadd` | +|`cuCsub` |`hipCsub` | +|`cuCmul` |`hipCmul` | +|`cuCdiv` |`hipCdiv` | +|`cuCabs` |`hipCabs` | +|`make_cuComplex` |`make_hipComplex` | +|`cuComplexFloatToDouble` |`hipComplexFloatToDouble` | +|`cuComplexDoubleToFloat` |`hipComplexDoubleToFloat` | +|`cuCfmaf` |`hipCfmaf` | +|`cuCfma` |`hipCfma` | diff --git a/hipify-clang/README.md b/hipify-clang/README.md index d5a825033d..7f55dea800 100644 --- a/hipify-clang/README.md +++ b/hipify-clang/README.md @@ -21,6 +21,7 @@ - [Runtime API](../docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md) - [Driver API](../docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md) +- [cuComplex API](../docs/markdown/cuComplex_API_supported_by_HIP.md) - [cuBLAS](../docs/markdown/CUBLAS_API_supported_by_HIP.md) - [cuRAND](../docs/markdown/CURAND_API_supported_by_HIP.md) - [cuDNN](../docs/markdown/CUDNN_API_supported_by_HIP.md) diff --git a/hipify-clang/src/CUDA2HipMap.cpp b/hipify-clang/src/CUDA2HipMap.cpp index ca53738abb..4bd7263bad 100644 --- a/hipify-clang/src/CUDA2HipMap.cpp +++ b/hipify-clang/src/CUDA2HipMap.cpp @@ -366,7 +366,6 @@ const std::map CUDA_INCLUDE_MAP{ {"channel_descriptor.h", {"hip/channel_descriptor.h", CONV_INCLUDE, API_RUNTIME}}, {"device_functions.h", {"hip/device_functions.h", CONV_INCLUDE, API_RUNTIME}}, {"driver_types.h", {"hip/driver_types.h", CONV_INCLUDE, API_RUNTIME}}, - {"cuComplex.h", {"hip/hip_complex.h", CONV_INCLUDE, API_RUNTIME}}, {"cuda_fp16.h", {"hip/hip_fp16.h", CONV_INCLUDE, API_RUNTIME}}, {"cuda_texture_types.h", {"hip/hip_texture_types.h", CONV_INCLUDE, API_RUNTIME}}, {"vector_types.h", {"hip/hip_vector_types.h", CONV_INCLUDE, API_RUNTIME}}, @@ -397,12 +396,11 @@ const std::map CUDA_INCLUDE_MAP{ // CUDNN includes {"cudnn.h", {"hipDNN.h", CONV_INCLUDE_CUDA_MAIN_H, API_DNN}}, - // CUDNN includes + // CUFFT includes {"cufft.h", {"hipfft.h", CONV_INCLUDE_CUDA_MAIN_H, API_FFT}}, - // HIP includes - // TODO: uncomment this when hip/cudacommon.h will be renamed to hip/hipcommon.h - // {"cudacommon.h", {"hipcommon.h", CONV_INCLUDE, API_RUNTIME}}, + // cuComplex includes + {"cuComplex.h", {"hip/hip_complex.h", CONV_INCLUDE_CUDA_MAIN_H, API_COMPLEX}}, }; /// All other identifiers: function and macro names. @@ -1387,6 +1385,36 @@ const std::map CUDA_IDENTIFIER_MAP{ {"cuGraphicsEGLRegisterImage", {"hipGraphicsEGLRegisterImage", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsEGLRegisterImage) {"cuGraphicsResourceGetMappedEglFrame", {"hipGraphicsResourceGetMappedEglFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsResourceGetMappedEglFrame) + +////////////////////////////// cuComplex API ////////////////////////////// + {"cuFloatComplex", {"hipFloatComplex", CONV_TYPE, API_COMPLEX}}, + {"cuDoubleComplex", {"hipDoubleComplex", CONV_TYPE, API_COMPLEX}}, + {"cuComplex", {"hipComplex", CONV_TYPE, API_COMPLEX}}, + + {"cuCrealf", {"hipCrealf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCimagf", {"hipCimagf", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuFloatComplex", {"make_hipFloatComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuConjf", {"hipConjf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCaddf", {"hipCaddf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCsubf", {"hipCsubf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCmulf", {"hipCmulf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCdivf", {"hipCdivf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCabsf", {"hipCabsf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCreal", {"hipCreal", CONV_COMPLEX, API_COMPLEX}}, + {"cuCimag", {"hipCimag", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuDoubleComplex", {"make_hipDoubleComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuConj", {"hipConj", CONV_COMPLEX, API_COMPLEX}}, + {"cuCadd", {"hipCadd", CONV_COMPLEX, API_COMPLEX}}, + {"cuCsub", {"hipCsub", CONV_COMPLEX, API_COMPLEX}}, + {"cuCmul", {"hipCmul", CONV_COMPLEX, API_COMPLEX}}, + {"cuCdiv", {"hipCdiv", CONV_COMPLEX, API_COMPLEX}}, + {"cuCabs", {"hipCabs", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuComplex", {"make_hipComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuComplexFloatToDouble", {"hipComplexFloatToDouble", CONV_COMPLEX, API_COMPLEX}}, + {"cuComplexDoubleToFloat", {"hipComplexDoubleToFloat", CONV_COMPLEX, API_COMPLEX}}, + {"cuCfmaf", {"hipCfmaf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCfma", {"hipCfma", CONV_COMPLEX, API_COMPLEX}}, + /////////////////////////////// CUDA RT API /////////////////////////////// // Data types {"cudaDataType_t", {"hipDataType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, diff --git a/hipify-clang/src/HipifyAction.cpp b/hipify-clang/src/HipifyAction.cpp index 20bc9dcc2c..a9bd1aa085 100644 --- a/hipify-clang/src/HipifyAction.cpp +++ b/hipify-clang/src/HipifyAction.cpp @@ -168,6 +168,10 @@ bool HipifyAction::Exclude(const hipCounter & hipToken) { if (insertedFFTHeader) { return true; } insertedFFTHeader = true; return false; + case API_COMPLEX: + if (insertedComplexHeader) { return true; } + insertedComplexHeader = true; + return false; default: return false; } diff --git a/hipify-clang/src/HipifyAction.h b/hipify-clang/src/HipifyAction.h index ad987c921e..1262142cfc 100644 --- a/hipify-clang/src/HipifyAction.h +++ b/hipify-clang/src/HipifyAction.h @@ -29,6 +29,7 @@ private: bool insertedRAND_kernelHeader = false; bool insertedDNNHeader = false; bool insertedFFTHeader = false; + bool insertedComplexHeader = false; bool firstHeader = false; bool pragmaOnce = false; clang::SourceLocation firstHeaderLoc; diff --git a/hipify-clang/src/Statistics.cpp b/hipify-clang/src/Statistics.cpp index 595f243857..2115c567a5 100644 --- a/hipify-clang/src/Statistics.cpp +++ b/hipify-clang/src/Statistics.cpp @@ -8,13 +8,13 @@ const char *counterNames[NUM_CONV_TYPES] = { "version", "init", "device", "mem", "kern", "coord_func", "math_func", "device_func", "special_func", "stream", "event", "occupancy", "ctx", "peer", "module", "cache", "exec", "err", "def", "tex", "gl", "graphics", - "surface", "jit", "d3d9", "d3d10", "d3d11", "vdpau", "egl", + "surface", "jit", "d3d9", "d3d10", "d3d11", "vdpau", "egl", "complex", "thread", "other", "include", "include_cuda_main_header", "type", "literal", "numeric_literal" }; const char *apiNames[NUM_API_TYPES] = { - "CUDA Driver API", "CUDA RT API", "CUBLAS API", "CURAND API", "CUDNN API", "CUFFT API" + "CUDA Driver API", "CUDA RT API", "CUBLAS API", "CURAND API", "CUDNN API", "CUFFT API", "cuComplex API" }; namespace { diff --git a/hipify-clang/src/Statistics.h b/hipify-clang/src/Statistics.h index 00ecce3eda..1ded45f0e4 100644 --- a/hipify-clang/src/Statistics.h +++ b/hipify-clang/src/Statistics.h @@ -40,6 +40,7 @@ enum ConvTypes { CONV_D3D11, CONV_VDPAU, CONV_EGL, + CONV_COMPLEX, CONV_THREAD, CONV_OTHER, CONV_INCLUDE, @@ -58,6 +59,7 @@ enum ApiTypes { API_RAND, API_DNN, API_FFT, + API_COMPLEX, API_LAST }; constexpr int NUM_API_TYPES = (int) ApiTypes::API_LAST; diff --git a/tests/hipify-clang/cuComplex/cuComplex_Julia.cu b/tests/hipify-clang/cuComplex/cuComplex_Julia.cu new file mode 100644 index 0000000000..8bf9587b94 --- /dev/null +++ b/tests/hipify-clang/cuComplex/cuComplex_Julia.cu @@ -0,0 +1,58 @@ +// RUN: %run_test hipify "%s" "%t" %cuda_args + +// CHECK: #include +// CHECK: #include "hip/hip_complex.h" +#include "cuComplex.h" + +#define TYPEFLOAT +#define DIMX 100 +#define DIMY 40 +#define moveX 2 +#define moveY 1 + +#define MAXITERATIONS 10 + +#ifdef TYPEFLOAT +#define TYPE float +// CHECK: #define cTYPE hipFloatComplex +#define cTYPE cuFloatComplex +// CHECK: #define cMakecuComplex(re,i) make_hipFloatComplex(re,i) +#define cMakecuComplex(re,i) make_cuFloatComplex(re,i) +#endif +#ifdef TYPEDOUBLE +// CHECK: #define TYPE hipDoubleComplex +#define TYPE cuDoubleComplex +// CHECK: #define cMakecuComplex(re,i) make_hipDoubleComplex(re,i) +#define cMakecuComplex(re,i) make_cuDoubleComplex(re,i) +#endif + +__device__ cTYPE juliaFunctor(cTYPE p, cTYPE c) { + // CHECK: return hipCaddf(hipCmulf(p, p), c); + return cuCaddf(cuCmulf(p, p), c); +} + +__device__ cTYPE convertToComplex(int x, int y, float zoom) { + TYPE jx = 1.5 * (x - DIMX / 2) / (0.5 * zoom * DIMX) + moveX; + TYPE jy = (y - DIMY / 2) / (0.5 * zoom * DIMY) + moveY; + return cMakecuComplex(jx, jy); +} + +__device__ int evolveComplexPoint(cTYPE p, cTYPE c) { + int it = 1; + // CHECK: while (it <= MAXITERATIONS && hipCabsf(p) <= 4) { + while (it <= MAXITERATIONS && cuCabsf(p) <= 4) { + p = juliaFunctor(p, c); + it++; + } + return it; +} + +__global__ void computeJulia(int* data, cTYPE c, float zoom) { + int i = blockIdx.x * blockDim.x + threadIdx.x; + int j = blockIdx.y * blockDim.y + threadIdx.y; + + if (i Date: Wed, 8 Aug 2018 22:28:13 +0530 Subject: [PATCH 38/77] Clean up module api samples --- samples/0_Intro/module_api/runKernel.cpp | 25 +++-------------- .../0_Intro/module_api_global/runKernel.cpp | 25 +++-------------- .../11_texture_driver/texture2dDrv.cpp | 27 +++---------------- 3 files changed, 10 insertions(+), 67 deletions(-) diff --git a/samples/0_Intro/module_api/runKernel.cpp b/samples/0_Intro/module_api/runKernel.cpp index 129c458dd0..ed74a7e4eb 100644 --- a/samples/0_Intro/module_api/runKernel.cpp +++ b/samples/0_Intro/module_api/runKernel.cpp @@ -30,7 +30,7 @@ THE SOFTWARE. #define LEN 64 #define SIZE LEN << 2 -#define fileName "vcpy_kernel.code.adipose" +#define fileName "vcpy_kernel.code" #define kernel_name "hello_world" #define HIP_CHECK(status) \ @@ -66,32 +66,13 @@ int main() { HIP_CHECK(hipModuleLoad(&Module, fileName)); HIP_CHECK(hipModuleGetFunction(&Function, Module, kernel_name)); -#ifdef __HIP_PLATFORM_HCC__ - uint32_t len = LEN; - uint32_t one = 1; - struct { void* _Ad; void* _Bd; } args; - args._Ad = Ad; - args._Bd = Bd; - -#endif - -#ifdef __HIP_PLATFORM_NVCC__ - struct { - uint32_t _hidden[1]; - void* _Ad; - void* _Bd; - } args; - - args._hidden[0] = 0; - args._Ad = Ad; - args._Bd = Bd; -#endif - + args._Ad = (void*) Ad; + args._Bd = (void*) Bd; size_t size = sizeof(args); diff --git a/samples/0_Intro/module_api_global/runKernel.cpp b/samples/0_Intro/module_api_global/runKernel.cpp index ebae029a16..0047f79b7f 100644 --- a/samples/0_Intro/module_api_global/runKernel.cpp +++ b/samples/0_Intro/module_api_global/runKernel.cpp @@ -30,7 +30,7 @@ THE SOFTWARE. #define LEN 64 #define SIZE LEN * sizeof(float) -#define fileName "vcpy_kernel.code.adipose" +#define fileName "vcpy_kernel.code" float myDeviceGlobal; float myDeviceGlobalArray[16]; #define HIP_CHECK(cmd) \ @@ -79,32 +79,13 @@ int main() { myDeviceGlobalArray[i] = i * 1000.0f; } -#ifdef __HIP_PLATFORM_HCC__ - uint32_t len = LEN; - uint32_t one = 1; - struct { void* _Ad; void* _Bd; } args; - args._Ad = Ad; - args._Bd = Bd; - -#endif - -#ifdef __HIP_PLATFORM_NVCC__ - struct { - uint32_t _hidden[1]; - void* _Ad; - void* _Bd; - } args; - - args._hidden[0] = 0; - args._Ad = Ad; - args._Bd = Bd; -#endif - + args._Ad = (void*) Ad; + args._Bd = (void*) Bd; size_t size = sizeof(args); diff --git a/samples/2_Cookbook/11_texture_driver/texture2dDrv.cpp b/samples/2_Cookbook/11_texture_driver/texture2dDrv.cpp index 2485d455ef..385ed4775a 100644 --- a/samples/2_Cookbook/11_texture_driver/texture2dDrv.cpp +++ b/samples/2_Cookbook/11_texture_driver/texture2dDrv.cpp @@ -21,13 +21,13 @@ THE SOFTWARE. */ #include "hip/hip_runtime.h" -#include "hip/hip_runtime_api.h" +//#include "hip/hip_runtime_api.h" #include #include #include -#include +//#include -#define fileName "tex2dKernel.code.adipose" +#define fileName "tex2dKernel.code" texture tex; bool testResult = false; @@ -87,34 +87,15 @@ bool runTest(int argc, char** argv) { float* dData = NULL; hipMalloc((void**)&dData, size); -#ifdef __HIP_PLATFORM_HCC__ - struct { void* _Ad; unsigned int _Bd; unsigned int _Cd; } args; - args._Ad = dData; + args._Ad = (void*) dData; args._Bd = width; args._Cd = height; -#endif - -#ifdef __HIP_PLATFORM_NVCC__ - struct { - uint32_t _hidden[1]; - void* _Ad; - unsigned int _Bd; - unsigned int _Cd; - } args; - - args._hidden[0] = 0; - args._Ad = dData; - args._Bd = width; - args._Cd = height; -#endif - - size_t sizeTemp = sizeof(args); void* config[] = {HIP_LAUNCH_PARAM_BUFFER_POINTER, &args, HIP_LAUNCH_PARAM_BUFFER_SIZE, From 17f38937e07f3839368735453de28edf4514cfe0 Mon Sep 17 00:00:00 2001 From: sunway513 Date: Thu, 9 Aug 2018 16:40:26 +0000 Subject: [PATCH 39/77] resolve a segfault bug when env var not set; remove startup_kernel_loader class --- src/program_state.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/program_state.cpp b/src/program_state.cpp index 4c14eb2953..8766134582 100644 --- a/src/program_state.cpp +++ b/src/program_state.cpp @@ -516,16 +516,11 @@ hsa_executable_t load_executable(const string& file, hsa_executable_t executable // HIP startup kernel loader logic // When enabled HIP_STARTUP_LOADER, HIP will load the kernels and setup // the function symbol map on program startup -class startup_kernel_loader { - private: - startup_kernel_loader() { functions(); } - startup_kernel_loader(const startup_kernel_loader&) = delete; - startup_kernel_loader& operator=(const startup_kernel_loader&) = delete; - static startup_kernel_loader skl; -}; - extern "C" void __attribute__((constructor)) __startup_kernel_loader_init() { - if (atoi(std::getenv("HIP_STARTUP_LOADER")) == 1) functions(); + int hip_startup_loader=0; + if (std::getenv("HIP_STARTUP_LOADER")) + hip_startup_loader = atoi(std::getenv("HIP_STARTUP_LOADER")); + if (hip_startup_loader) functions(); } extern "C" void __attribute__((destructor)) __startup_kernel_loader_fini() { From e658b68c14154923d9efad29fc88a2dddfefdbb6 Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Tue, 14 Aug 2018 15:31:04 +0530 Subject: [PATCH 40/77] [hipcc] Remove libhsakmt from linker flags Change-Id: I6dc769d09d8c7546fbc594c1eb65f9edf0f0ff58 --- bin/hipcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/hipcc b/bin/hipcc index 53ef35a558..92ec2578cb 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -221,7 +221,7 @@ if ($HIP_PLATFORM eq "clang") { $HIPCXXFLAGS .= " -I$HSA_PATH/include"; $HIPCXXFLAGS .= " -Wno-deprecated-register"; - $HIPLDFLAGS .= " -L$HSA_PATH/lib -L$ROCM_PATH/lib -lhsa-runtime64 -lhc_am -lhsakmt "; + $HIPLDFLAGS .= " -L$HSA_PATH/lib -L$ROCM_PATH/lib -lhsa-runtime64 -lhc_am "; # $HIPLDFLAGS .= " -L$HCC_HOME/compiler/lib -lLLVMAMDGPUDesc -lLLVMAMDGPUUtils -lLLVMMC -lLLVMCore -lLLVMSupport "; # Add trace marker library: From dbcede2ab85e0311677c20a464e7b85d18f4247b Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 15 Aug 2018 21:53:20 +0000 Subject: [PATCH 41/77] Remove few hcc specific cmake for hip-clang --- CMakeLists.txt | 6 ++++-- hip-config.cmake.in | 4 +++- packaging/hip-targets-release.cmake | 14 ++++++++++++++ packaging/hip-targets.cmake | 6 ++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 818c75783e..edb8c2d238 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -217,9 +217,11 @@ if(HIP_PLATFORM STREQUAL "hcc") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L/opt/rocm/profiler/CXLActivityLogger/bin/x86_64 -lCXLActivityLogger") endif() add_library(hip_hcc SHARED ${SOURCE_FILES_RUNTIME}) - target_link_libraries(hip_hcc PRIVATE hc_am) add_library(hip_hcc_static STATIC ${SOURCE_FILES_RUNTIME}) - target_link_libraries(hip_hcc_static PRIVATE hc_am) + if(HIP_COMPILER STREQUAL "hcc") + target_link_libraries(hip_hcc PRIVATE hc_am) + target_link_libraries(hip_hcc_static PRIVATE hc_am) + endif() add_library(hip_device STATIC ${SOURCE_FILES_DEVICE}) string(REPLACE " " ";" HCC_CXX_FLAGS_LIST ${HCC_CXX_FLAGS}) diff --git a/hip-config.cmake.in b/hip-config.cmake.in index efcdf708bb..d5dc6803fc 100644 --- a/hip-config.cmake.in +++ b/hip-config.cmake.in @@ -48,7 +48,9 @@ set_and_check( hip_BIN_INSTALL_DIR "@PACKAGE_BIN_INSTALL_DIR@" ) set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc") set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig") -find_dependency(hcc) +if(HIP_COMPILER STREQUAL "hcc") + find_dependency(hcc) +endif() include( "${CMAKE_CURRENT_LIST_DIR}/hip-targets.cmake" ) set( hip_LIBRARIES hip::host hip::device) diff --git a/packaging/hip-targets-release.cmake b/packaging/hip-targets-release.cmake index ba0a5005f5..0ae7405cde 100644 --- a/packaging/hip-targets-release.cmake +++ b/packaging/hip-targets-release.cmake @@ -7,22 +7,36 @@ set(CMAKE_IMPORT_FILE_VERSION 1) # Import target "hip::hip_hcc_static" for configuration "Release" set_property(TARGET hip::hip_hcc_static APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +if(HIP_COMPILER STREQUAL "clang") +set_target_properties(hip::hip_hcc_static PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "/opt/rocm/hip/lib/libhip_hcc_static.a" + ) +else() set_target_properties(hip::hip_hcc_static PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "hc_am" IMPORTED_LOCATION_RELEASE "/opt/rocm/hip/lib/libhip_hcc_static.a" ) +endif() list(APPEND _IMPORT_CHECK_TARGETS hip::hip_hcc_static ) list(APPEND _IMPORT_CHECK_FILES_FOR_hip::hip_hcc_static "/opt/rocm/hip/lib/libhip_hcc_static.a" ) # Import target "hip::hip_hcc" for configuration "Release" set_property(TARGET hip::hip_hcc APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +if(HIP_COMPILER STREQUAL "clang") +set_target_properties(hip::hip_hcc PROPERTIES + IMPORTED_LOCATION_RELEASE "/opt/rocm/hip/lib/libhip_hcc.so" + IMPORTED_SONAME_RELEASE "libhip_hcc.so" + ) +else() set_target_properties(hip::hip_hcc PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "hcc::hccrt;hcc::hc_am" IMPORTED_LOCATION_RELEASE "/opt/rocm/hip/lib/libhip_hcc.so" IMPORTED_SONAME_RELEASE "libhip_hcc.so" ) +endif() list(APPEND _IMPORT_CHECK_TARGETS hip::hip_hcc ) list(APPEND _IMPORT_CHECK_FILES_FOR_hip::hip_hcc "/opt/rocm/hip/lib/libhip_hcc.so" ) diff --git a/packaging/hip-targets.cmake b/packaging/hip-targets.cmake index 5aff2ca1ed..ec2fa716a6 100644 --- a/packaging/hip-targets.cmake +++ b/packaging/hip-targets.cmake @@ -75,9 +75,15 @@ set_target_properties(hip::host PROPERTIES # Create imported target hip::device add_library(hip::device INTERFACE IMPORTED) +if(HIP_COMPILER STREQUAL "clang") +set_target_properties(hip::device PROPERTIES + INTERFACE_LINK_LIBRARIES "hip::host;hip::hip_device" +) +else() set_target_properties(hip::device PROPERTIES INTERFACE_LINK_LIBRARIES "hip::host;hip::hip_device;hcc::hccrt;hcc::hc_am" ) +endif() if(CMAKE_VERSION VERSION_LESS 3.0.0) message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") From 1299b65e15935b48f3a46eb429ce2d902bf8c976 Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Fri, 17 Aug 2018 11:33:11 -0400 Subject: [PATCH 42/77] Add HIP_DB=fatbin for debugging fat binary issues --- src/hip_clang.cpp | 2 ++ src/hip_hcc.cpp | 2 +- src/hip_hcc_internal.h | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hip_clang.cpp b/src/hip_clang.cpp index f7573e2819..15a96d298a 100644 --- a/src/hip_clang.cpp +++ b/src/hip_clang.cpp @@ -58,6 +58,7 @@ __hipRegisterFatBinary(const void* data) { HIP_INIT(); + tprintf(DB_FB, "Enter __hipRegisterFatBinary(%p)\n", data); const __CudaFatBinaryWrapper* fbwrapper = reinterpret_cast(data); if (fbwrapper->magic != __hipFatMAGIC2 || fbwrapper->version != 1) { return nullptr; @@ -113,6 +114,7 @@ __hipRegisterFatBinary(const void* data) } } + tprintf(DB_FB, "__hipRegisterFatBinary succeeds and returns %p\n", modules); return modules; } diff --git a/src/hip_hcc.cpp b/src/hip_hcc.cpp index aecf75b717..eff93da847 100644 --- a/src/hip_hcc.cpp +++ b/src/hip_hcc.cpp @@ -1228,7 +1228,7 @@ void HipReadEnv() { READ_ENV_C(release, HIP_DB, 0, "Print debug info. Bitmask (HIP_DB=0xff) or flags separated by '+' " - "(HIP_DB=api+sync+mem+copy)", + "(HIP_DB=api+sync+mem+copy+fatbin)", HIP_DB_callback); if ((HIP_DB & (1 << DB_API)) && (HIP_TRACE_API == 0)) { // Set HIP_TRACE_API default before we read it, so it is printed correctly. diff --git a/src/hip_hcc_internal.h b/src/hip_hcc_internal.h index be257aff4f..d64a4a4cbe 100644 --- a/src/hip_hcc_internal.h +++ b/src/hip_hcc_internal.h @@ -223,7 +223,8 @@ extern const char* API_COLOR_END; #define DB_MEM 2 /* 0x04 - trace memory allocation / deallocation */ #define DB_COPY 3 /* 0x08 - trace memory copy and peer commands. . */ #define DB_WARN 4 /* 0x10 - warn about sub-optimal or shady behavior */ -#define DB_MAX_FLAG 5 +#define DB_FB 5 /* 0x20 - trace loading fat binary */ +#define DB_MAX_FLAG 6 // When adding a new debug flag, also add to the char name table below. // // @@ -237,6 +238,7 @@ struct DbName { static const DbName dbName[] = { {KGRN, "api"}, // not used, {KYEL, "sync"}, {KCYN, "mem"}, {KMAG, "copy"}, {KRED, "warn"}, + {KBLU, "fatbin"}, }; From 8e0e373f69b33dd1d9f4b0ef8e4bf974d3e08188 Mon Sep 17 00:00:00 2001 From: Saleel Kudchadker Date: Fri, 17 Aug 2018 12:14:42 -0700 Subject: [PATCH 43/77] Check for hipEnvVar at the same level if directed_tests location fails --- tests/src/hipEnvVarDriver.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/src/hipEnvVarDriver.cpp b/tests/src/hipEnvVarDriver.cpp index 599b138565..e52aa46063 100644 --- a/tests/src/hipEnvVarDriver.cpp +++ b/tests/src/hipEnvVarDriver.cpp @@ -38,7 +38,10 @@ int getDeviceNumber() { string str; std::this_thread::sleep_for(std::chrono::milliseconds(10)); if (!(in = popen("./directed_tests/hipEnvVar -c", "r"))) { - return 1; + // Check at same level + if (!(in = popen("./hipEnvVar -c", "r"))) { + return 1; + } } while (fgets(buff, 512, in) != NULL) { cout << buff; @@ -54,7 +57,11 @@ void getDevicePCIBusNumRemote(int deviceID, char* pciBusID) { str += std::to_string(deviceID); std::this_thread::sleep_for(std::chrono::milliseconds(10)); if (!(in = popen(str.c_str(), "r"))) { - exit(1); + // Check at same level + if (!(in = popen("./hipEnvVar -d ", "r"))) { + exit(1); + } + } while (fgets(pciBusID, 100, in) != NULL) { cout << pciBusID; From b445e450074d458f34e7ec048ca7e0504f3bcbb7 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Mon, 20 Aug 2018 16:46:12 +0000 Subject: [PATCH 44/77] Add bitextract and bitinsert functions --- include/hip/hcc_detail/device_functions.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 5e1c8a4e6b..7b147cc307 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -63,6 +63,22 @@ __device__ static inline unsigned int __clzll(long long int input) { return input == 0 ? 64 : input > 0 ? __builtin_clzl(input) : __builtin_clzl(~input); } +__device__ static inline unsigned int __lastbit_u32_u64(unsigned long long int input) { + return input == 0 ? -1 : __builtin_ctzl(input); +} + +__device__ static inline unsigned int __bitextract_u32(unsigned int src0, unsigned int src1, unsigned int src2) { + return (src0 << (32 - src1 - src2)) >> (32 - src2); +} + +__device__ static inline uint64_t __bitextract_u64(uint64_t src0, unsigned int src1, unsigned int src2) { + return (src0 << (64 - src1 - src2)) >> (64 - src2); +} + +__device__ static inline unsigned int __bitinsert_u32(unsigned int src0, unsigned int src1, unsigned int src2, unsigned int src3) { + return (src0 & ~(((1 << src3) - 1) << src2)) | ((src1 & ((1 << src3) - 1)) << src2); +} + __device__ static inline unsigned int __ffs(unsigned int input) { return ( input == 0 ? -1 : __builtin_ctz(input) ) + 1; } From bbfda64813a1e99b49fc8a7cfe4757ab4d48768d Mon Sep 17 00:00:00 2001 From: Matthias Werner Date: Mon, 27 Aug 2018 17:51:12 +0200 Subject: [PATCH 45/77] Fixes build-name bug due to reversed string() arguments in cmake. --- cmake/FindHIP.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake index afa92de097..d2377e9adb 100644 --- a/cmake/FindHIP.cmake +++ b/cmake/FindHIP.cmake @@ -380,7 +380,7 @@ endmacro() ############################################################################### macro(HIP_PREPARE_TARGET_COMMANDS _target _format _generated_files _source_files) set(_hip_flags "") - string(TOUPPER _hip_build_configuration "${CMAKE_BUILD_TYPE}") + string(TOUPPER "${CMAKE_BUILD_TYPE}" _hip_build_configuration) if(HIP_HOST_COMPILATION_CPP) set(HIP_C_OR_CXX CXX) else() From e4c540d7dcae645b0307aadd3b7e7cac7a23e4ef Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Mon, 27 Aug 2018 10:22:42 +0530 Subject: [PATCH 46/77] [ci] New CI flow - Removed hcc integration logic for now - No longer publish docker images to artifactory or docker hub - Switch to new docker images and new test node Change-Id: Idb06bf0a52658d1869367cb38bb03ef4f1649103 --- Jenkinsfile | 204 +++++---------------------- docker/dockerfile-build-ubuntu-16.04 | 19 +-- 2 files changed, 41 insertions(+), 182 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3bbcccc1bb..15ca1c9935 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,6 +38,13 @@ String get_upstream_build_project( ) return upstream_cause.getUpstreamProject() } +//////////////////////////////////////////////////////////////////////// +// Construct the docker build image name +String docker_build_image_name( ) +{ + return "build-ubuntu-16.04" +} + //////////////////////////////////////////////////////////////////////// // Construct the relative path of the build directory String build_directory_rel( String build_config ) @@ -114,7 +121,7 @@ String checkout_and_version( String platform ) // The docker images contains all dependencies, including OS platform, to build def docker_build_image( String platform, String org, String optional_build_parm, String source_hip_rel, String from_image ) { - String build_image_name = "build-ubuntu-16.04" + String build_image_name = docker_build_image_name( ) String dockerfile_name = "dockerfile-build-ubuntu-16.04" def build_image = null @@ -170,7 +177,7 @@ def docker_build_inside_image( def build_image, String inside_args, String platf cd ${build_dir_rel} make install -j\$(nproc) make build_tests -i -j\$(nproc) - ctest -E hipPrintfKernel + ctest """ // If unit tests output a junit or xunit file in the future, jenkins can parse that file // to display test results on the dashboard @@ -179,7 +186,7 @@ def docker_build_inside_image( def build_image, String inside_args, String platf } // Only create packages from hcc based builds - if( platform.toLowerCase( ).startsWith( 'hcc-' ) ) + if( platform.toLowerCase( ).startsWith( 'rocm-' ) ) { stage("${platform} packaging") { @@ -191,10 +198,10 @@ def docker_build_inside_image( def build_image, String inside_args, String platf // No matter the base platform, all packages have the same name // Only upload 1 set of packages, so we don't have a race condition uploading packages - if( platform.toLowerCase( ).startsWith( 'hcc-ctu' ) ) + if( platform.toLowerCase( ).startsWith( 'rocm-head' ) ) { archiveArtifacts artifacts: "${build_dir_rel}/*.deb", fingerprint: true - // archiveArtifacts artifacts: "${build_dir_rel}/*.rpm", fingerprint: true + archiveArtifacts artifacts: "${build_dir_rel}/*.rpm", fingerprint: true } } } @@ -282,103 +289,26 @@ def docker_upload_dockerhub( String local_org, String image_name, String remote_ } } -//////////////////////////////////////////////////////////////////////// -// hcc_integration_testing -// This function is sets up compilation and testing of HiP on a compiler downloaded from an upstream build -// Integration testing is centered around docker and constructing clean test environments every time - -// NOTES: I have implemeneted integration testing 3 different ways, and I've come to the conclusion nothing is perfect -// 1. I've tried having HCC push the test compiler to artifactory, and having HiP download the test docker image from artifactory -// a. The act of uploading and downloading images from artifactory takes minutes -// b. There is no good way of deleting images from a repository. You have to use an arcane CURL command and I don't know how -// to keep the password secret. These test integration images are meant to be ephemeral. -// 2. I tried 'docker save' to export a docker image into a tarball, and transfering the image through 'copy artifacts plugin' -// a. The HCC docker image uncompressed is over 1GB -// b. Compressing the docker image takes even longer than uploading the image to artifactory -// 3. Download the HCC .deb and dockerfile through 'copy artifacts plugin'. Create a new HCC image on the fly -// a. There is inefficency in building a new ubuntu image and installing HCC twice (once in HCC build, once here) -// b. This solution doesn't scale when we start testing downstream libraries - -// I've implemented solution #3 above, probably transitioning to #2 down the line (probably without compression) -String hcc_integration_testing( String inside_args, String job, String build_config ) -{ - // Attempt to make unique docker image names for each build, to support concurrent builds - // Mangle docker org name with upstream build info - String testing_org_name = 'hcc-test-' + get_upstream_build_project( ).replaceAll('/','-').toLowerCase( ) + '-' + get_upstream_build_num( ) - // String testing_org_name = 'hcc-test-artifacts-download' - - // Tag image name with this build number - String hcc_test_image_name = "hcc:${env.BUILD_NUMBER}" - - def hip_integration_image = null - - dir( 'integration-testing' ) - { - deleteDir( ) - - // This invokes 'copy artifact plugin' to copy archived files from upstream build - step([$class: 'CopyArtifact', filter: 'build/**/*.deb, docker/dockerfile-hcc-lc-*', - fingerprintArtifacts: true, projectName: get_upstream_build_project( ), flatten: true, - selector: [$class: 'TriggeredBuildSelector', allowUpstreamDependencies: false, fallbackToLastSuccessful: false, upstreamFilterStrategy: 'UseGlobalSetting'], - target: '.' ]) - // step([$class: 'CopyArtifact', filter: 'build/**/*.deb, docker/dockerfile-hcc-lc-*', - // fingerprintArtifacts: true, projectName: 'kknox/hcc/test-artifact-download', flatten: true, - // selector: [$class: 'LastCompletedBuildSelector'], - // target: '.' ]) - - docker.build( "${testing_org_name}/${hcc_test_image_name}", "-f dockerfile-hcc-lc-ubuntu-16.04 ." ) - } - - // Checkout source code, dependencies and version files - String source_hip_rel = checkout_and_version( job ) - - // Conctruct a binary directory path based on build config - String build_hip_rel = build_directory_rel( build_config ); - - // Build hip inside of the build environment - hip_integration_image = docker_build_image( job, testing_org_name, '', source_hip_rel, "${testing_org_name}/${hcc_test_image_name}" ) - - docker_build_inside_image( hip_integration_image, inside_args, job, '', build_config, source_hip_rel, build_hip_rel ) - - docker_clean_images( testing_org_name, '*' ) -} - //////////////////////////////////////////////////////////////////////// // -- MAIN // Following this line is the start of MAIN of this Jenkinsfile String build_config = 'Release' String job_name = env.JOB_NAME.toLowerCase( ) -// Integration testing is a special path which implies testing of an upsteam build of hcc, -// but does not need testing across older builds of hcc or cuda. This is more of a compiler -// hcc unit test -// params.hcc_integration_test is set in HCC build -if( params.hcc_integration_test ) -{ - println "HCC integration testing" - - node('docker && rocm') - { - hcc_integration_testing( '--device=/dev/kfd --device=/dev/dri --group-add=video', 'hcc-ctu', build_config ) - } - - return -} - // The following launches 3 builds in parallel: hcc-ctu, hcc-1.6 and cuda -parallel hcc_ctu: +parallel rocm_1_9: { - node('docker && rocm && dkms') + node('hip-rocm') { - String hcc_ver = 'hcc-ctu' - String from_image = 'compute-artifactory:5001/radeonopencompute/hcc/clang_tot_upgrade/hcc-lc-ubuntu-16.04:latest' + String hcc_ver = 'rocm-1.9.x' + String from_image = 'ci_test_nodes/rocm-1.9.x/ubuntu-16.04:latest' String inside_args = '--device=/dev/kfd --device=/dev/dri --group-add=video' // Checkout source code, dependencies and version files String source_hip_rel = checkout_and_version( hcc_ver ) // Create/reuse a docker image that represents the hip build environment - def hip_build_image = docker_build_image( hcc_ver, 'hip', ' --pull', source_hip_rel, from_image ) + def hip_build_image = docker_build_image( hcc_ver, 'hip', '', source_hip_rel, from_image ) // Print system information for the log hip_build_image.inside( inside_args ) @@ -396,67 +326,34 @@ parallel hcc_ctu: // Build hip inside of the build environment docker_build_inside_image( hip_build_image, inside_args, hcc_ver, '', build_config, source_hip_rel, build_hip_rel ) - // After a successful build, upload a docker image of the results - String hip_image_name = docker_upload_artifactory( hcc_ver, job_name, from_image, source_hip_rel, build_hip_rel ) + // Clean docker build image + docker_clean_images( 'hip', docker_build_image_name( ) ) + // After a successful build, upload a docker image of the results + /* + String hip_image_name = docker_upload_artifactory( hcc_ver, job_name, from_image, source_hip_rel, build_hip_rel ) if( params.push_image_to_docker_hub ) { docker_upload_dockerhub( job_name, hip_image_name, 'rocm' ) docker_clean_images( 'rocm', hip_image_name ) } docker_clean_images( job_name, hip_image_name ) + */ } }, -/* -hcc_1_6: +rocm_head: { - node('docker && rocm') + node('hip-rocm') { - String hcc_ver = 'hcc-1.6' - String from_image = 'rocm/dev-ubuntu-16.04:1.6.4' - String inside_args = '--device=/dev/kfd --device=/dev/dri' - - // Checkout source code, dependencies and version files - String source_hip_rel = checkout_and_version( hcc_ver ) - - // Create/reuse a docker image that represents the hip build environment - def hip_build_image = docker_build_image( hcc_ver, 'hip', ' --pull', source_hip_rel, from_image ) - - // Print system information for the log - hip_build_image.inside( inside_args ) - { - sh """#!/usr/bin/env bash - set -x - /opt/rocm/bin/rocm_agent_enumerator -t ALL - /opt/rocm/bin/hcc --version - """ - } - - // Conctruct a binary directory path based on build config - String build_hip_rel = build_directory_rel( build_config ); - - // Build hip inside of the build environment - docker_build_inside_image( hip_build_image, inside_args, hcc_ver, '', build_config, source_hip_rel, build_hip_rel ) - - // Not pushing hip-hcc-1.6 builds at this time; saves a minute and nobody needs? - // String hip_image_name = docker_upload_artifactory( hcc_ver, job_name, from_image, source_hip_rel, build_hip_rel ) - // docker_clean_images( job_name, hip_image_name ) - } -}, -*/ -hcc_1_7: -{ - node('docker && rocm && dkms') - { - String hcc_ver = 'hcc-1.7' - String from_image = 'rocm/dev-ubuntu-16.04:latest' + String hcc_ver = 'rocm-head' + String from_image = 'ci_test_nodes/rocm-head/ubuntu-16.04:latest' String inside_args = '--device=/dev/kfd --device=/dev/dri --group-add=video' // Checkout source code, dependencies and version files String source_hip_rel = checkout_and_version( hcc_ver ) // Create/reuse a docker image that represents the hip build environment - def hip_build_image = docker_build_image( hcc_ver, 'hip', ' --pull', source_hip_rel, from_image ) + def hip_build_image = docker_build_image( hcc_ver, 'hip', '', source_hip_rel, from_image ) // Print system information for the log hip_build_image.inside( inside_args ) @@ -474,41 +371,18 @@ hcc_1_7: // Build hip inside of the build environment docker_build_inside_image( hip_build_image, inside_args, hcc_ver, '', build_config, source_hip_rel, build_hip_rel ) - // Not pushing hip-hcc-1.7 builds at this time; saves a minute and nobody needs? - // String hip_image_name = docker_upload_artifactory( hcc_ver, job_name, from_image, source_hip_rel, build_hip_rel ) - // docker_clean_images( job_name, hip_image_name ) - } -}/*, -nvcc: -{ - node('docker && cuda') - { - //////////////////////////////////////////////////////////////////////// - // Block of string constants customizing behavior for cuda - String nvcc_ver = 'nvcc-9.0' - String from_image = 'nvidia/cuda:9.0-devel' - String inside_args = '--runtime=nvidia'; + // Clean docker image + docker_clean_images( 'hip', docker_build_image_name( ) ) - // Checkout source code, dependencies and version files - String source_hip_rel = checkout_and_version( nvcc_ver ) - - // We pull public nvidia images - def hip_build_image = docker_build_image( nvcc_ver, 'hip', ' --pull', source_hip_rel, from_image ) - - // Print system information for the log - hip_build_image.inside( inside_args ) + // After a successful build, upload a docker image of the results + /* + String hip_image_name = docker_upload_artifactory( hcc_ver, job_name, from_image, source_hip_rel, build_hip_rel ) + if( params.push_image_to_docker_hub ) { - sh """#!/usr/bin/env bash - set -x - nvidia-smi - nvcc --version - """ + docker_upload_dockerhub( job_name, hip_image_name, 'rocm' ) + docker_clean_images( 'rocm', hip_image_name ) } - - // Conctruct a binary directory path based on build config - String build_hip_rel = build_directory_rel( build_config ); - - // Build hip inside of the build environment - docker_build_inside_image( hip_build_image, inside_args, nvcc_ver, "-DHIP_NVCC_FLAGS=--Wno-deprecated-gpu-targets", build_config, source_hip_rel, build_hip_rel ) + docker_clean_images( job_name, hip_image_name ) + */ } -}*/ +} diff --git a/docker/dockerfile-build-ubuntu-16.04 b/docker/dockerfile-build-ubuntu-16.04 index 8f655f7c78..2b6de904e7 100644 --- a/docker/dockerfile-build-ubuntu-16.04 +++ b/docker/dockerfile-build-ubuntu-16.04 @@ -2,28 +2,13 @@ ARG base_image FROM ${base_image} -MAINTAINER Kent Knox +MAINTAINER Maneesh Gupta ARG user_uid -# Install Packages -# python and libnuma1 are dependencies of rocm_agent_enumerator -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - sudo \ - build-essential \ - cmake \ - git \ - libelf-dev \ - rpm \ - python \ - libnuma1 \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - # docker pipeline runs containers with particular uid # create a jenkins user with this specific uid so it can use sudo priviledges # Grant any member of sudo group password-less sudo privileges -RUN useradd --create-home -u ${user_uid} -G sudo --shell /bin/bash jenkins && \ +RUN useradd --create-home -u ${user_uid} -G sudo,video --shell /bin/bash jenkins && \ mkdir -p /etc/sudoers.d/ && \ echo '%sudo ALL=(ALL) NOPASSWD:ALL' | tee /etc/sudoers.d/sudo-nopasswd From d107b460b2f81baef44bca100c1ebbe7581776e9 Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 28 Aug 2018 09:43:38 -0400 Subject: [PATCH 47/77] Documents hip-clang predefined macros --- docs/markdown/hip_porting_guide.md | 41 ++++++++++++++++++------------ 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/docs/markdown/hip_porting_guide.md b/docs/markdown/hip_porting_guide.md index 9810918174..c082849827 100644 --- a/docs/markdown/hip_porting_guide.md +++ b/docs/markdown/hip_porting_guide.md @@ -137,13 +137,18 @@ All HIP projects target either the hcc or nvcc platform. The platform affects wh Many projects use a mixture of an accelerator compiler (hcc or nvcc) and a standard compiler (e.g., g++). These defines are set for both accelerator and standard compilers and thus are often the best option when writing code that uses conditional compilation. -### Identifying the Compiler: hcc or nvcc -Often, itÂ’s useful to know whether the underlying compiler is hcc or nvcc. This knowledge can guard platform-specific code (features that only work on the nvcc or hcc path but not both) or aid in platform-specific performance tuning. +### Identifying the Compiler: hcc, hip-clang or nvcc +Often, itÂ’s useful to know whether the underlying compiler is hcc, hip-clang or nvcc. This knowledge can guard platform-specific code (features that only work on the nvcc, hip-clang or hcc path but not all) or aid in platform-specific performance tuning. ``` #ifdef __HCC__ // Compiled with hcc +``` +``` +#ifdef __HIP__ +// Compiled with hip-clang + ``` ``` @@ -159,9 +164,9 @@ Often, itÂ’s useful to know whether the underlying compiler is hcc or nvcc. This // Compiled with nvcc (Cuda language extensions enabled) ``` -hcc directly generates the host code (using the Clang x86 target) and passes the code to another host compiler. Thus, it lacks the equivalent of the \__CUDA_ACC define. +hcc and hip-clang directly generates the host code (using the Clang x86 target) and passes the code to another host compiler. Thus, it lacks the equivalent of the \__CUDA_ACC define. -The macro `__HIPCC__` is set if either `__HCC__` or `__CUDACC__` is defined. This configuration is useful in determining when code is being compiled using an accelerator-enabled compiler (hcc or nvcc) as opposed to a standard host compiler (GCC, ICC, Clang, etc.). +The macro `__HIPCC__` is set if either `__HCC__`, `__HIP__` or `__CUDACC__` is defined. This configuration is useful in determining when code is being compiled using an accelerator-enabled compiler (hcc or nvcc) as opposed to a standard host compiler (GCC, ICC, Clang, etc.). ### Identifying Current Compilation Pass: Host or Device @@ -176,22 +181,26 @@ Unlike `__CUDA_ARCH__`, the `__HIP_DEVICE_COMPILE__` value is 1 or undefined, an ### Compiler Defines: Summary -|Define | hcc | nvcc | Other (GCC, ICC, Clang, etc.) +|Define | hcc | hip-clang | nvcc | Other (GCC, ICC, Clang, etc.) |--- | --- | --- |---| |HIP-related defines:| -|`__HIP_PLATFORM_HCC___`| Defined | Undefined | Defined if targeting hcc platform; undefined otherwise | -|`__HIP_PLATFORM_NVCC___`| Undefined | Defined | Defined if targeting nvcc platform; undefined otherwise | -|`__HIP_DEVICE_COMPILE__` | 1 if compiling for device; undefined if compiling for host |1 if compiling for device; undefined if compiling for host | Undefined -|`__HIPCC__` | Defined | Defined | Undefined -|`__HIP_ARCH_*` | 0 or 1 depending on feature support (see below) | 0 or 1 depending on feature support (see below) | 0 +|`__HIP_PLATFORM_HCC___`| Defined | Defined | Undefined | Defined if targeting hcc platform; undefined otherwise | +|`__HIP_PLATFORM_NVCC___`| Undefined | Undefined | Defined | Defined if targeting nvcc platform; undefined otherwise | +|`__HIP_DEVICE_COMPILE__` | 1 if compiling for device; undefined if compiling for host | 1 if compiling for device; undefined if compiling for host |1 if compiling for device; undefined if compiling for host | Undefined +|`__HIPCC__` | Defined | Defined | Defined | Undefined +|`__HIP_ARCH_*` | 0 or 1 depending on feature support (see below) |0 or 1 depending on feature support (see below) | 0 or 1 depending on feature support (see below) | 0 |nvcc-related defines:| -|`__CUDACC__` | Undefined | Defined if source code is compiled by nvcc; undefined otherwise | Undefined -|`__NVCC__` | Undefined | Defined | Undefined -|`__CUDA_ARCH__` | Undefined | Unsigned representing compute capability (e.g., "130") if in device code; 0 if in host code | Undefined +|`__CUDACC__` | Undefined | Undefined | Defined if source code is compiled by nvcc; undefined otherwise | Undefined +|`__NVCC__` | Undefined | Undefined | Defined | Undefined +|`__CUDA_ARCH__` | Undefined | Undefined | Unsigned representing compute capability (e.g., "130") if in device code; 0 if in host code | Undefined |hcc-related defines:| -|`__HCC__` | Defined | Undefined | Undefined -|`__HCC_ACCELERATOR__` | Nonzero if in device code; otherwise undefined | Undefined | Undefined -|`__clang__` | Defined | Undefined | Defined if using Clang; otherwise undefined +|`__HCC__` | Defined | Undefined | Undefined | Undefined +|`__HCC_ACCELERATOR__` | Nonzero if in device code; otherwise undefined | Undefined | Undefined | Undefined +|hip-clang-related defines:| +|`__HIP__` | Undefined | Defined | Undefined | Undefined +|`__HCC_ACCELERATOR__` | Nonzero if in device code; otherwise undefined | Undefined | Undefined | Undefined +|hcc/hip-clang common defines:| +|`__clang__` | Defined | Defined | Undefined | Defined if using Clang; otherwise undefined ## Identifying Architecture Features From f9911172888a995548aa7ee31bc4d04857bffac2 Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 28 Aug 2018 09:48:38 -0400 Subject: [PATCH 48/77] Fix documentation about hip-clang macros --- docs/markdown/hip_porting_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/markdown/hip_porting_guide.md b/docs/markdown/hip_porting_guide.md index c082849827..f7d5d34bd3 100644 --- a/docs/markdown/hip_porting_guide.md +++ b/docs/markdown/hip_porting_guide.md @@ -13,7 +13,7 @@ and provides practical suggestions on how to port CUDA code and work through com * [Converting a project "in-place"](#converting-a-project-in-place) - [Distinguishing Compiler Modes](#distinguishing-compiler-modes) * [Identifying HIP Target Platform](#identifying-hip-target-platform) - * [Identifying the Compiler: hcc or nvcc](#identifying-the-compiler-hcc-or-nvcc) + * [Identifying the Compiler: hcc, hip-clang, or nvcc](#identifying-the-compiler-hcc-hip-clang-or-nvcc) * [Identifying Current Compilation Pass: Host or Device](#identifying-current-compilation-pass-host-or-device) * [Compiler Defines: Summary](#compiler-defines-summary) - [Identifying Architecture Features](#identifying-architecture-features) From 8c0860df88e6507e0e3989aade5d322dd8ad5f14 Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 28 Aug 2018 09:55:18 -0400 Subject: [PATCH 49/77] Fix documentation about hip-clang macros --- docs/markdown/hip_porting_guide.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/markdown/hip_porting_guide.md b/docs/markdown/hip_porting_guide.md index f7d5d34bd3..2487d16e09 100644 --- a/docs/markdown/hip_porting_guide.md +++ b/docs/markdown/hip_porting_guide.md @@ -182,7 +182,7 @@ Unlike `__CUDA_ARCH__`, the `__HIP_DEVICE_COMPILE__` value is 1 or undefined, an ### Compiler Defines: Summary |Define | hcc | hip-clang | nvcc | Other (GCC, ICC, Clang, etc.) -|--- | --- | --- |---| +|--- | --- | --- | --- |---| |HIP-related defines:| |`__HIP_PLATFORM_HCC___`| Defined | Defined | Undefined | Defined if targeting hcc platform; undefined otherwise | |`__HIP_PLATFORM_NVCC___`| Undefined | Undefined | Defined | Defined if targeting nvcc platform; undefined otherwise | @@ -198,7 +198,6 @@ Unlike `__CUDA_ARCH__`, the `__HIP_DEVICE_COMPILE__` value is 1 or undefined, an |`__HCC_ACCELERATOR__` | Nonzero if in device code; otherwise undefined | Undefined | Undefined | Undefined |hip-clang-related defines:| |`__HIP__` | Undefined | Defined | Undefined | Undefined -|`__HCC_ACCELERATOR__` | Nonzero if in device code; otherwise undefined | Undefined | Undefined | Undefined |hcc/hip-clang common defines:| |`__clang__` | Defined | Defined | Undefined | Defined if using Clang; otherwise undefined From b939a3c6edede2a6fc5aa5f1680e8ad952601872 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 28 Aug 2018 18:19:48 +0000 Subject: [PATCH 50/77] Clean up and add meaningful variables to bit funcs --- include/hip/hcc_detail/device_functions.h | 43 ++++++++++++++--------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 7b147cc307..2514eec2d7 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -63,22 +63,6 @@ __device__ static inline unsigned int __clzll(long long int input) { return input == 0 ? 64 : input > 0 ? __builtin_clzl(input) : __builtin_clzl(~input); } -__device__ static inline unsigned int __lastbit_u32_u64(unsigned long long int input) { - return input == 0 ? -1 : __builtin_ctzl(input); -} - -__device__ static inline unsigned int __bitextract_u32(unsigned int src0, unsigned int src1, unsigned int src2) { - return (src0 << (32 - src1 - src2)) >> (32 - src2); -} - -__device__ static inline uint64_t __bitextract_u64(uint64_t src0, unsigned int src1, unsigned int src2) { - return (src0 << (64 - src1 - src2)) >> (64 - src2); -} - -__device__ static inline unsigned int __bitinsert_u32(unsigned int src0, unsigned int src1, unsigned int src2, unsigned int src3) { - return (src0 & ~(((1 << src3) - 1) << src2)) | ((src1 & ((1 << src3) - 1)) << src2); -} - __device__ static inline unsigned int __ffs(unsigned int input) { return ( input == 0 ? -1 : __builtin_ctz(input) ) + 1; } @@ -95,12 +79,37 @@ __device__ static inline unsigned int __ffsll(long long int input) { return ( input == 0 ? -1 : __builtin_ctzl(input) ) + 1; } -__device__ static inline unsigned int __brev(unsigned int input) { return __llvm_bitrev_b32(input); } +__device__ static inline unsigned int __brev(unsigned int input) { + return __llvm_bitrev_b32(input); +} __device__ static inline unsigned long long int __brevll(unsigned long long int input) { return __llvm_bitrev_b64(input); } +__device__ static inline unsigned int __lastbit_u32_u64(uint64_t input) { + return input == 0 ? -1 : __builtin_ctzl(input); +} + +__device__ static inline unsigned int __bitextract_u32(unsigned int src0, unsigned int src1, unsigned int src2) { + uint32_t offset = src1 & 31; + uint32_t width = src2 & 31; + return width == 0 ? 0 : (src0 << (32 - offset - width)) >> (32 - width); +} + +__device__ static inline uint64_t __bitextract_u64(uint64_t src0, unsigned int src1, unsigned int src2) { + uint64_t offset = src1 & 63; + uint64_t width = src2 & 63; + return width == 0 ? 0 : (src0 << (64 - offset - width)) >> (64 - width); +} + +__device__ static inline unsigned int __bitinsert_u32(unsigned int src0, unsigned int src1, unsigned int src2, unsigned int src3) { + uint32_t offset = src2 & 31; + uint32_t width = src3 & 31; + uint32_t mask = (1 << width) - 1; + return ((src0 & ~(mask << offset)) | ((src1 & mask) << offset)); +} + __device__ static unsigned int __byte_perm(unsigned int x, unsigned int y, unsigned int s); __device__ static unsigned int __hadd(int x, int y); __device__ static int __mul24(int x, int y); From ba9fc6f3557a7f32b3e870f71608ff5ab9dbc04d Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 28 Aug 2018 19:58:20 +0000 Subject: [PATCH 51/77] Add bitinsert64 to device functions --- include/hip/hcc_detail/device_functions.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 2514eec2d7..d774a3ba33 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -110,6 +110,13 @@ __device__ static inline unsigned int __bitinsert_u32(unsigned int src0, unsigne return ((src0 & ~(mask << offset)) | ((src1 & mask) << offset)); } +__device__ static inline uint64_t __bitinsert_u64(uint64_t src0, uint64_t src1, unsigned int src2, unsigned int src3) { + uint64_t offset = src2 & 63; + uint64_t width = src3 & 63; + uint64_t mask = (1 << width) - 1; + return ((src0 & ~(mask << offset)) | ((src1 & mask) << offset)); +} + __device__ static unsigned int __byte_perm(unsigned int x, unsigned int y, unsigned int s); __device__ static unsigned int __hadd(int x, int y); __device__ static int __mul24(int x, int y); From 5893bbc1f4c205777ad93b1364634e9e2318144e Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 28 Aug 2018 19:58:43 +0000 Subject: [PATCH 52/77] Add tests for bitextract and bitinsert --- tests/src/deviceLib/hip_bitextract.cpp | 220 +++++++++++++++++++++++ tests/src/deviceLib/hip_bitinsert.cpp | 239 +++++++++++++++++++++++++ 2 files changed, 459 insertions(+) create mode 100644 tests/src/deviceLib/hip_bitextract.cpp create mode 100644 tests/src/deviceLib/hip_bitinsert.cpp diff --git a/tests/src/deviceLib/hip_bitextract.cpp b/tests/src/deviceLib/hip_bitextract.cpp new file mode 100644 index 0000000000..3c3ca33d69 --- /dev/null +++ b/tests/src/deviceLib/hip_bitextract.cpp @@ -0,0 +1,220 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ + +#include +#include +#include +#include +#include +#include +#include "hip/hip_runtime.h" +#include + +#define HIP_ASSERT(x) (assert((x) == hipSuccess)) + +#define TEST_DEBUG (0) + + +// CPU implementation of bitextract +template +T bit_extract(T src0, unsigned int src1, unsigned int src2) { + unsigned int bits = sizeof(T) * 8; + T offset = src1 & (bits - 1); + T width = src2 & (bits - 1); + if (width == 0) { + return 0; + } else { + return (src0 << (bits - width - offset)) >> (bits - width); + } +} + +__global__ void HIP_kernel(hipLaunchParm lp, + unsigned int* out32, unsigned int* in32_0, + unsigned int* in32_1, unsigned int* in32_2, + unsigned long long int* out64, unsigned long long int* in64_0, + unsigned int* in64_1, unsigned int* in64_2) { + int x = blockDim.x * blockIdx.x + threadIdx.x; + + out32[x] = __bitextract_u32(in32_0[x], in32_1[x], in32_2[x]); + out64[x] = __bitextract_u64(in64_0[x], in64_1[x], in64_2[x]); +} + + +using namespace std; + +int main() { + unsigned int* hostOut32; + unsigned int* hostSrc032; + unsigned int* hostSrc132; + unsigned int* hostSrc232; + unsigned long long int* hostOut64; + unsigned long long int* hostSrc064; + unsigned int* hostSrc164; + unsigned int* hostSrc264; + + unsigned int* deviceOut32; + unsigned int* deviceSrc032; + unsigned int* deviceSrc132; + unsigned int* deviceSrc232; + unsigned long long int* deviceOut64; + unsigned long long int* deviceSrc064; + unsigned int* deviceSrc164; + unsigned int* deviceSrc264; + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + cout << " System minor " << devProp.minor << endl; + cout << " System major " << devProp.major << endl; + cout << " agent prop name " << devProp.name << endl; + + cout << "hip Device prop succeeded " << endl; + + unsigned int wave_size = devProp.warpSize; + unsigned int num_waves_per_block = 2; + unsigned int num_threads_per_block = wave_size * num_waves_per_block; + unsigned int num_blocks = 2; + unsigned int NUM = num_threads_per_block * num_blocks; + + int i; + int errors; + + hostOut32 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc032 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc132 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc232 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + + hostOut64 = (unsigned long long int*)malloc(NUM * sizeof(unsigned long long int)); + hostSrc064 = (unsigned long long int*)malloc(NUM * sizeof(unsigned long long int)); + hostSrc164 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc264 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + + // initialize the input data + std::random_device rd; + std::uniform_int_distribution uint32_src0_dist; + std::uniform_int_distribution uint32_src12_dist(0,31); + std::uniform_int_distribution uint64_src0_dist; + std::uniform_int_distribution uint64_src12_dist(0,63); + for (i = 0; i < NUM; i++) { + hostOut32[i] = 0; + hostSrc032[i] = uint32_src0_dist(rd); + hostSrc132[i] = uint32_src12_dist(rd); + hostSrc232[i] = uint32_src12_dist(rd); + hostOut64[i] = 0; + hostSrc064[i] = uint64_src0_dist(rd); + hostSrc164[i] = uint64_src12_dist(rd); + hostSrc264[i] = uint64_src12_dist(rd); + } + + HIP_ASSERT(hipMalloc((void**)&deviceOut32, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc032, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc132, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc232, NUM * sizeof(unsigned int))); + + HIP_ASSERT(hipMalloc((void**)&deviceOut64, NUM * sizeof(unsigned long long int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc064, NUM * sizeof(unsigned long long int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc164, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc264, NUM * sizeof(unsigned int))); + + HIP_ASSERT(hipMemcpy(deviceSrc032, hostSrc032, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc132, hostSrc132, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc232, hostSrc232, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + + HIP_ASSERT(hipMemcpy(deviceSrc064, hostSrc064, NUM * sizeof(unsigned long long int), + hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc164, hostSrc164, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc264, hostSrc264, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + + + hipLaunchKernel(HIP_kernel, dim3(num_blocks), dim3(num_threads_per_block), + 0, 0, + deviceOut32, deviceSrc032, deviceSrc132, deviceSrc232, + deviceOut64, deviceSrc064, deviceSrc164, deviceSrc264); + + + HIP_ASSERT(hipMemcpy(hostOut32, deviceOut32, NUM * sizeof(unsigned int), hipMemcpyDeviceToHost)); + HIP_ASSERT(hipMemcpy(hostOut64, deviceOut64, + NUM * sizeof(unsigned long long int), hipMemcpyDeviceToHost)); + + // verify the results + errors = 0; + for (i = 0; i < NUM; i++) { + if (hostOut32[i] != bit_extract(hostSrc032[i], hostSrc132[i], hostSrc232[i])) { + errors++; +#if TEST_DEBUG + cout << "device: " << hostOut32[i] << " host: " + << bit_extract(hostSrc032[i], hostSrc132[i], hostSrc232[i]) + << " " << hostSrc032[i] << " " << hostSrc132[i] << " " << hostSrc232[i] << "\n"; +#endif + } + } + if (errors != 0) { + cout << "__bitextract_u32() FAILED\n" << endl; + return -1; + } else { + cout << "__bitextract_u32() checked!" << endl; + } + errors = 0; + for (i = 0; i < NUM; i++) { + if (hostOut64[i] != bit_extract(hostSrc064[i], hostSrc164[i], hostSrc264[i])) { + errors++; +#if TEST_DEBUG + cout << "device: " << hostOut64[i] << " host: " + << bit_extract(hostSrc064[i], hostSrc164[i], hostSrc264[i]) + << " " << hostSrc064[i] << " " << hostSrc164[i] << " " << hostSrc264[i] << "\n"; +#endif + } + } + if (errors != 0) { + cout << "__bitextract_u64() FAILED" << endl; + return -1; + } else { + cout << "__bitextract_u64() checked!" << endl; + } + + cout << "__bitextract_u32() and __bitextract_u64() PASSED!" << endl; + + HIP_ASSERT(hipFree(deviceOut32)); + HIP_ASSERT(hipFree(deviceSrc032)); + HIP_ASSERT(hipFree(deviceSrc132)); + HIP_ASSERT(hipFree(deviceSrc232)); + HIP_ASSERT(hipFree(deviceOut64)); + HIP_ASSERT(hipFree(deviceSrc064)); + HIP_ASSERT(hipFree(deviceSrc164)); + HIP_ASSERT(hipFree(deviceSrc264)); + + free(hostOut32); + free(hostSrc032); + free(hostSrc132); + free(hostSrc232); + free(hostOut64); + free(hostSrc064); + free(hostSrc164); + free(hostSrc264); + + return errors; +} diff --git a/tests/src/deviceLib/hip_bitinsert.cpp b/tests/src/deviceLib/hip_bitinsert.cpp new file mode 100644 index 0000000000..135234dceb --- /dev/null +++ b/tests/src/deviceLib/hip_bitinsert.cpp @@ -0,0 +1,239 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ + +#include +#include +#include +#include +#include +#include +#include "hip/hip_runtime.h" +#include + +#define HIP_ASSERT(x) (assert((x) == hipSuccess)) + +#define TEST_DEBUG (0) + + +// CPU implementation of bitinsert +template +T bit_insert(T src0, T src1, unsigned int src2, unsigned int src3) { + unsigned int bits = sizeof(T) * 8; + T offset = src2 & (bits - 1); + T width = src3 & (bits - 1); + T mask = (1 << width) - 1; + return ((src0 & ~(mask << offset)) | ((src1 & mask) << offset)); +} + +__global__ void HIP_kernel(hipLaunchParm lp, unsigned int* out32, + unsigned int* in32_0, unsigned int* in32_1, + unsigned int* in32_2, unsigned int* in32_3, + unsigned long long int* out64, unsigned long long int* in64_0, + unsigned long long int* in64_1, unsigned int* in64_2, + unsigned int* in64_3) { + int x = blockDim.x * blockIdx.x + threadIdx.x; + + out32[x] = __bitinsert_u32(in32_0[x], in32_1[x], in32_2[x], in32_3[x]); + out64[x] = __bitinsert_u64(in64_0[x], in64_1[x], in64_2[x], in64_3[x]); +} + + +using namespace std; + +int main() { + unsigned int* hostOut32; + unsigned int* hostSrc032; + unsigned int* hostSrc132; + unsigned int* hostSrc232; + unsigned int* hostSrc332; + unsigned long long int* hostOut64; + unsigned long long int* hostSrc064; + unsigned long long int* hostSrc164; + unsigned int* hostSrc264; + unsigned int* hostSrc364; + + unsigned int* deviceOut32; + unsigned int* deviceSrc032; + unsigned int* deviceSrc132; + unsigned int* deviceSrc232; + unsigned int* deviceSrc332; + unsigned long long int* deviceOut64; + unsigned long long int* deviceSrc064; + unsigned long long int* deviceSrc164; + unsigned int* deviceSrc264; + unsigned int* deviceSrc364; + + hipDeviceProp_t devProp; + hipGetDeviceProperties(&devProp, 0); + cout << " System minor " << devProp.minor << endl; + cout << " System major " << devProp.major << endl; + cout << " agent prop name " << devProp.name << endl; + + cout << "hip Device prop succeeded " << endl; + + unsigned int wave_size = devProp.warpSize; + unsigned int num_waves_per_block = 2; + unsigned int num_threads_per_block = wave_size * num_waves_per_block; + unsigned int num_blocks = 2; + unsigned int NUM = num_threads_per_block * num_blocks; + + int i; + int errors; + + hostOut32 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc032 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc132 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc232 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc332 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + + hostOut64 = (unsigned long long int*)malloc(NUM * sizeof(unsigned long long int)); + hostSrc064 = (unsigned long long int*)malloc(NUM * sizeof(unsigned long long int)); + hostSrc164 = (unsigned long long int*)malloc(NUM * sizeof(unsigned long long int)); + hostSrc264 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + hostSrc364 = (unsigned int*)malloc(NUM * sizeof(unsigned int)); + + // initialize the input data + std::random_device rd; + std::uniform_int_distribution uint32_src01_dist; + std::uniform_int_distribution uint32_src23_dist(0,31); + std::uniform_int_distribution uint64_src01_dist; + std::uniform_int_distribution uint64_src23_dist(0,63); + for (i = 0; i < NUM; i++) { + hostOut32[i] = 0; + hostSrc032[i] = uint32_src01_dist(rd); + hostSrc132[i] = uint32_src01_dist(rd); + hostSrc232[i] = uint32_src23_dist(rd); + hostSrc232[i] = uint32_src23_dist(rd); + hostOut64[i] = 0; + hostSrc064[i] = uint64_src01_dist(rd); + hostSrc164[i] = uint64_src01_dist(rd); + hostSrc264[i] = uint64_src23_dist(rd); + hostSrc264[i] = uint64_src23_dist(rd); + } + + HIP_ASSERT(hipMalloc((void**)&deviceOut32, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc032, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc132, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc232, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc332, NUM * sizeof(unsigned int))); + + HIP_ASSERT(hipMalloc((void**)&deviceOut64, NUM * sizeof(unsigned long long int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc064, NUM * sizeof(unsigned long long int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc164, NUM * sizeof(unsigned long long int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc264, NUM * sizeof(unsigned int))); + HIP_ASSERT(hipMalloc((void**)&deviceSrc364, NUM * sizeof(unsigned int))); + + HIP_ASSERT(hipMemcpy(deviceSrc032, hostSrc032, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc132, hostSrc132, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc232, hostSrc232, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc332, hostSrc332, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + + HIP_ASSERT(hipMemcpy(deviceSrc064, hostSrc064, NUM * sizeof(unsigned long long int), + hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc164, hostSrc164, NUM * sizeof(unsigned long long int), + hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc264, hostSrc264, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + HIP_ASSERT(hipMemcpy(deviceSrc364, hostSrc364, NUM * sizeof(unsigned int), hipMemcpyHostToDevice)); + + + hipLaunchKernel(HIP_kernel, dim3(num_blocks), dim3(num_threads_per_block), + 0, 0, + deviceOut32, deviceSrc032, deviceSrc132, deviceSrc232, deviceSrc332, + deviceOut64, deviceSrc064, deviceSrc164, deviceSrc264, deviceSrc364); + + + HIP_ASSERT(hipMemcpy(hostOut32, deviceOut32, NUM * sizeof(unsigned int), hipMemcpyDeviceToHost)); + HIP_ASSERT(hipMemcpy(hostOut64, deviceOut64, + NUM * sizeof(unsigned long long int), hipMemcpyDeviceToHost)); + + // verify the results + errors = 0; + for (i = 0; i < NUM; i++) { + if (hostOut32[i] != bit_insert(hostSrc032[i], hostSrc132[i], + hostSrc232[i], hostSrc332[i])) { + errors++; +#if TEST_DEBUG + cout << "device: " << hostOut32[i] << " host: " + << bit_insert(hostSrc032[i], hostSrc132[i], hostSrc232[i], hostSrc332[i]) + << " " << hostSrc032[i] << " " << hostSrc132[i] << " " << hostSrc232[i] + << " " << hostSrc332[i] << "\n"; +#endif + } + } + if (errors != 0) { + cout << "__bitinsert_u32() FAILED\n" << endl; + return -1; + } else { + cout << "__bitinsert_u32() checked!" << endl; + } + errors = 0; + for (i = 0; i < NUM; i++) { + if (hostOut64[i] != bit_insert(hostSrc064[i], hostSrc164[i], + hostSrc264[i], hostSrc364[i])) { + errors++; +#if TEST_DEBUG + cout << "device: " << hostOut64[i] << " host: " + << bit_insert(hostSrc064[i], hostSrc164[i], hostSrc264[i], hostSrc364[i]) + << " " << hostSrc064[i] << " " << hostSrc164[i] << " " << hostSrc264[i] + << " " << hostSrc364[i] << "\n"; +#endif + } + } + if (errors != 0) { + cout << "__bitinsert_u64() FAILED" << endl; + return -1; + } else { + cout << "__bitinsert_u64() checked!" << endl; + } + + cout << "__bitinsert_u32() and __bitinsert_u64() PASSED!" << endl; + + HIP_ASSERT(hipFree(deviceOut32)); + HIP_ASSERT(hipFree(deviceSrc032)); + HIP_ASSERT(hipFree(deviceSrc132)); + HIP_ASSERT(hipFree(deviceSrc232)); + HIP_ASSERT(hipFree(deviceSrc332)); + HIP_ASSERT(hipFree(deviceOut64)); + HIP_ASSERT(hipFree(deviceSrc064)); + HIP_ASSERT(hipFree(deviceSrc164)); + HIP_ASSERT(hipFree(deviceSrc264)); + HIP_ASSERT(hipFree(deviceSrc364)); + + free(hostOut32); + free(hostSrc032); + free(hostSrc132); + free(hostSrc232); + free(hostSrc332); + free(hostOut64); + free(hostSrc064); + free(hostSrc164); + free(hostSrc264); + free(hostSrc364); + + return errors; +} From 0022f53a10c1acb697d149715a5cf9357d0e039e Mon Sep 17 00:00:00 2001 From: fpadmin Date: Wed, 11 Jul 2018 16:30:33 +0530 Subject: [PATCH 53/77] Adding class size>8bytes tests --- tests/src/compiler/hipClassKernel.cpp | 270 ++++++++++++++++++++++++++ tests/src/compiler/hipClassKernel.h | 185 ++++++++++++++++++ 2 files changed, 455 insertions(+) create mode 100644 tests/src/compiler/hipClassKernel.cpp create mode 100644 tests/src/compiler/hipClassKernel.h diff --git a/tests/src/compiler/hipClassKernel.cpp b/tests/src/compiler/hipClassKernel.cpp new file mode 100644 index 0000000000..b3502ca9ae --- /dev/null +++ b/tests/src/compiler/hipClassKernel.cpp @@ -0,0 +1,270 @@ +/* +Copyright (c) 2015-Present Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ +#include "hipClassKernel.h" + +// check sizeof empty class is 1 +__global__ void +emptyClassKernel(bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + testClassEmpty ob1,ob2; + result_ecd[tid] = (sizeof(testClassEmpty) == 1) + && (&ob1 != &ob2); +} + +void HipClassTests::TestForEmptyClass(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(emptyClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} + +// tests for classes >8 bytes +__global__ void + sizeClassBKernel(bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + result_ecd[tid] = (sizeof(testSizeB) == 12) + && (sizeof(testSizeC) == 16) + && (sizeof(testSizeP1) == 6) + && (sizeof(testSizeP2) == 13) + && (sizeof(testSizeP3) == 8); +} + +void HipClassTests::TestForClassBSize(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(sizeClassBKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} + +__global__ void +sizeClassKernel(bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + result_ecd[tid] = (sizeof(testSizeA) == 16) + && (sizeof(testSizeDerived) == 24) + && (sizeof(testSizeDerived2) == 20); +} + +void HipClassTests::TestForClassSize(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(sizeClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} + +#ifdef ENABLE_VIRTUAL_TESTS +__global__ void + sizeVirtualClassKernel(bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + result_ecd[tid] = (sizeof(testSizeDV) == 16) + && (sizeof(testSizeDerivedDV) == 16) + && (sizeof(testSizeVirtDerPack) == 24) + && (sizeof(testSizeVirtDer) == 24) + && (sizeof(testSizeDerMulti) == 48) ; + } + +void HipClassTests::TestForVirtualClassSize(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(sizeVirtualClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} +#endif + +// check pass by value +__global__ void +passByValueKernel(testPassByValue obj, bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + result_ecd[tid] = (obj.exI == 10) + && (obj.exC == 'C'); +} + +void HipClassTests::TestForPassByValue(void){ + bool *result_ecd,*result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + testPassByValue exObj; + exObj.exI = 10; + exObj.exC = 'C'; + hipLaunchKernelGGL(passByValueKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + exObj, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} + + // check obj created with hipMalloc +__global__ void +mallocObjKernel(testPassByValue *obj, bool* result_ecd) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + result_ecd[tid] = (obj->exI == 100) + && (obj->exC == 'C'); +} + +void HipClassTests::TestForMallocPassByValue(void){ + bool *result_ecd,*result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + + testPassByValue *exObjM; + HIPCHECK(hipMalloc(&exObjM, sizeof(testPassByValue))); + exObjM->exI = 100; + exObjM->exC = 'C'; + hipLaunchKernelGGL(mallocObjKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + exObjM, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); + +} + +// check if constr and destr are accessible from kernel +#ifdef ENABLE_DESTRUCTOR_TEST +__global__ void +testDeviceClassKernel() { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + testDeviceClass ob1; + testDeviceClass ob2; + ob2.iVar = 10; +} + +void HipClassTests::TestForConsrtDesrt(){ + testDeviceClass tDC; + hipLaunchKernelGGL(testDeviceClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0); +} +#endif + +bool* HipClassTests::AllocateHostMemory(void){ + bool *result_ech; + HIPCHECK(hipHostMalloc(&result_ech, + NBOOL, + hipHostMallocDefault)); + return result_ech; +} + +bool* HipClassTests::AllocateDeviceMemory(void){ + bool* result_ecd; + HIPCHECK(hipMalloc(&result_ecd, + NBOOL)); + HIPCHECK(hipMemset(result_ecd, + false, + NBOOL)); + return result_ecd; +} + +void HipClassTests::VerifyResult(bool* result_ech, bool* result_ecd){ + HIPCHECK(hipMemcpy(result_ech, + result_ecd, + BLOCKS*sizeof(bool), + hipMemcpyDeviceToHost)); + // validation on host side + for (int i = 0; i < BLOCKS; i++) { + HIPASSERT(result_ech[i] == true); + } +} + +void HipClassTests::FreeMem(bool* result_ech, bool* result_ecd){ + HIPCHECK(hipHostFree(result_ech)); + HIPCHECK(hipFree(result_ecd)); +} + +int main(){ + HipClassTests classTests; + classTests.TestForEmptyClass(); + test_passed(TestForEmptyClass); + classTests.TestForClassBSize(); + test_passed(TestForClassBSize); + classTests.TestForClassSize(); + test_passed(TestForClassSize); + classTests.TestForPassByValue(); + test_passed(TestForPassByValue); +// classTests.TestForMallocPassByValue(); + // test_passed(TestForMallocPassByValue); #this test is crashing + +#ifdef ENABLE_VIRTUAL_TESTS + classTests.TestForVirtualClassSize(); + test_passed(TestForVirtualClassSize); +#endif + + + +#ifdef ENABLE_DESTRUCTOR_TEST + classTests.TestForConsrtDesrt(); + test_passed(TestForConsrtDesrt); +#endif +} diff --git a/tests/src/compiler/hipClassKernel.h b/tests/src/compiler/hipClassKernel.h new file mode 100644 index 0000000000..8538276662 --- /dev/null +++ b/tests/src/compiler/hipClassKernel.h @@ -0,0 +1,185 @@ +/* +Copyright (c) 2015-Present Advanced Micro Devices, Inc. All rights reserved. + +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. +*/ +#ifndef _COMPILER_HIPCLASSKERNEL_H_ +#define _COMPILER_HIPCLASSKERNEL_H_ + +#include +#include +#include "hip/hip_runtime.h" +#include "test_common.h" + +static const int BLOCKS = 512; +static const int THREADS_PER_BLOCK = 1; +static const int ENABLE_DESTRUCTOR_TEST = 0; +static const int ENABLE_VIRTUAL_TESTS = 0; +size_t NBOOL = BLOCKS * sizeof(bool); + +#define test_passed(test_name) printf("%s %s PASSED!%s\n", KGRN, #test_name, KNRM); + + +class testClassEmpty {}; + +class testPassByValue{ + public: + int exI; + char exC; +}; + +class testSizeA { + public: + float xa; + int ia; + double da; + static char ca; +}; + +class testSizeDerived : testSizeA { + public: + float fd; +}; + +#pragma pack(push,4) +class testSizeDerived2 : testSizeA { + public: + float fd; +}; +#pragma pack(pop) + +class testSizeB { + public: + char ab; + int ib; + char cb; +}; + +#ifdef ENBABLE_VIRTUAL_TESTS +class testSizeVirtDer : public virtual testSizeB { + public: + int ivd; +}; + +class testSizeVirtDer1 : public virtual testSizeB { + public: + int ivd1; +}; + +class testSizeDerMulti : public testSizeVirtDer, public testSizeVirtDer1 { + public: + int ivd2; +}; + +#pragma pack(push,4) +class testSizeVirtDerPack : public virtual testSizeB { + public: + int ivd; +}; +#pragma pack(pop) +#endif + +class testSizeC { + public: + char ac; + int ic; + int bc[2]; +}; + +#ifdef ENABLE_VIRTUAL_TESTS +class testSizeDV { + public: + virtual void __host__ __device__ func1(); + private: + int iDV; + +}; + +class testSizeDerivedDV : testSizeDV { + public: + virtual void __host__ __device__ funcD1(); + private: + int iDDV; +}; +#endif + +#pragma pack(push, 1) +class testSizeP1 { + public: + char ap; + int ip; + char cp; +}; +#pragma pack(pop) + +#pragma pack(push, 1) +class testSizeP2 { + public: + char ap1; + int ip1; + int bp1[2]; +}; +#pragma pack(pop) + +#pragma pack(push, 2) +class testSizeP3 { + public: + char ap2; + int ip2; + char cp2; +}; +#pragma pack(pop) + +#ifdef ENABLE_DESTRUCTOR_TEST +class testDeviceClass { + public: + int iVar; + __host__ __device__ testDeviceClass(); + __host__ __device__ testDeviceClass(int a); + __host__ __device__ ~testDeviceClass(); +}; + +__host__ __device__ +testDeviceClass::testDeviceClass() { + iVar = 5; +} + +__host__ __device__ +testDeviceClass::testDeviceClass(int a) { + iVar = a; +} +#endif + +#endif // _HIPCLASSKERNEL_H_ + +class HipClassTests{ + public: + void TestForEmptyClass(void); + void TestForClassBSize(void); + void TestForClassSize(void); + void TestForVirtualClassSize(void); + void TestForPassByValue(void); + void TestForMallocPassByValue(void); + void TestForConsrtDesrt(void); + + bool* AllocateHostMemory(void); + bool* AllocateDeviceMemory(void); + void VerifyResult(bool* result_ech, bool* result_ecd); + void FreeMem(bool* result_ech, bool* result_ecd); +}; From 1f74a66bea87ea42da6dbf18c0ddad649cfefbf3 Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Tue, 28 Aug 2018 19:30:20 -0400 Subject: [PATCH 54/77] Add clock() and clock64() --- include/hip/hcc_detail/device_functions.h | 37 ++++++++++-- tests/src/deviceLib/hipTestClock.cpp | 69 +++++++++++++++++++++++ 2 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 tests/src/deviceLib/hipTestClock.cpp diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 5e1c8a4e6b..ebf9de8b4a 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -611,16 +611,43 @@ __device__ static inline float __ull2float_rz(unsigned long long int x) { return #ifdef __HCC_OR_HIP_CLANG__ +// Clock functions +__device__ long long int __clock64(); +__device__ long long int __clock(); +__device__ long long int clock64(); +__device__ long long int clock(); +// hip.amdgcn.bc - named sync +__device__ void __named_sync(int a, int b); + #ifdef __HIP_DEVICE_COMPILE__ // Clock functions -__device__ -inline -long long int __clock64() { return (long long int) __builtin_amdgcn_s_memrealtime(); } +#if __HCC__ +extern "C" uint64_t __clock_u64() __HC__; +#endif __device__ -inline -long long int __clock() { return (long long int) __builtin_amdgcn_s_memrealtime(); } +inline __attribute((always_inline)) +long long int __clock64() { +// ToDo: Unify HCC and HIP implementation. +#if __HCC__ + return (long long int) __clock_u64(); +#else + return (long long int) __builtin_amdgcn_s_memrealtime(); +#endif +} + +__device__ +inline __attribute((always_inline)) +long long int __clock() { return __clock64(); } + +__device__ +inline __attribute__((always_inline)) +long long int clock64() { return __clock64(); } + +__device__ +inline __attribute__((always_inline)) +long long int clock() { return __clock(); } // hip.amdgcn.bc - named sync __device__ diff --git a/tests/src/deviceLib/hipTestClock.cpp b/tests/src/deviceLib/hipTestClock.cpp new file mode 100644 index 0000000000..46f64e35a3 --- /dev/null +++ b/tests/src/deviceLib/hipTestClock.cpp @@ -0,0 +1,69 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ + +#include +#include +#include +#include "test_common.h" + +#define HIP_ASSERT(status) assert(status == hipSuccess) + +#define LEN 512 +#define SIZE 2048 + +struct TestClock { + + static __global__ void kernel1(int* Ad) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + Ad[tid] = clock() + clock64() + __clock() + __clock64(); + } + + static __global__ void kernel2(int* Ad) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + Ad[tid] = clock() + clock64() + __clock() + __clock64() - Ad[tid]; + } + + void run() { + int *A, *Ad; + A = new int[LEN]; + for (unsigned i = 0; i < LEN; i++) { + A[i] = 0; + } + + HIP_ASSERT(hipMalloc((void**)&Ad, SIZE)); + hipLaunchKernelGGL(kernel1, dim3(1, 1, 1), dim3(LEN, 1, 1), 0, 0, Ad); + hipLaunchKernelGGL(kernel2, dim3(1, 1, 1), dim3(LEN, 1, 1), 0, 0, Ad); + HIP_ASSERT(hipMemcpy(A, Ad, SIZE, hipMemcpyDeviceToHost)); + + for (unsigned i = 0; i < LEN; i++) { + assert(0 != A[i]); + } + } +}; + +int main() { + TestClock().run(); + passed(); +} From bbcb3fa0c0258faa692502ba82af9a2dbb60b288 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 29 Aug 2018 15:29:53 +0000 Subject: [PATCH 55/77] Remove testing bitinsert/extract on nvcc path --- tests/src/deviceLib/hip_bitextract.cpp | 2 +- tests/src/deviceLib/hip_bitinsert.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/src/deviceLib/hip_bitextract.cpp b/tests/src/deviceLib/hip_bitextract.cpp index 3c3ca33d69..34e0be2b57 100644 --- a/tests/src/deviceLib/hip_bitextract.cpp +++ b/tests/src/deviceLib/hip_bitextract.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp + * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc * RUN: %t * HIT_END */ diff --git a/tests/src/deviceLib/hip_bitinsert.cpp b/tests/src/deviceLib/hip_bitinsert.cpp index 135234dceb..063281768c 100644 --- a/tests/src/deviceLib/hip_bitinsert.cpp +++ b/tests/src/deviceLib/hip_bitinsert.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp + * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc * RUN: %t * HIT_END */ From e7352a1f4aed1be98bcde4efe9201c66704ac621 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 29 Aug 2018 14:30:22 -0400 Subject: [PATCH 56/77] __forceinline__ needs inline and always_inline Related to SWDEV-163084 --- include/hip/hcc_detail/host_defines.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/hip/hcc_detail/host_defines.h b/include/hip/hcc_detail/host_defines.h index af51e9d3fe..5d1c3d8f68 100644 --- a/include/hip/hcc_detail/host_defines.h +++ b/include/hip/hcc_detail/host_defines.h @@ -52,7 +52,7 @@ THE SOFTWARE. #endif // GENERIC_GRID_LAUNCH #define __noinline__ __attribute__((noinline)) -#define __forceinline__ __attribute__((always_inline)) +#define __forceinline__ inline __attribute__((always_inline)) /* @@ -71,7 +71,7 @@ THE SOFTWARE. #define __constant__ __attribute__((constant)) #define __noinline__ __attribute__((noinline)) -#define __forceinline__ __attribute__((always_inline)) +#define __forceinline__ inline __attribute__((always_inline)) #else From f0183dfaac4ef23287e3220b69a16e375d52caab Mon Sep 17 00:00:00 2001 From: Mark Searles Date: Fri, 31 Aug 2018 09:13:43 -0700 Subject: [PATCH 57/77] Add keyword 'explicit' to avoid ambiguity Older gcc, e.g., 5.x, see an ambiguity in some calls. Example error output as seen with gcc 5.5: In file included from benchmark_wino.cpp:1: In file included from ./miopen.hpp:13: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/regex:38: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/algorithm:62: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_algo.h:66: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/random:51: /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/random.tcc:1324:27: error: call to 'abs' is ambiguous const double __y = -std::abs(__n) * __param._M_sm - 1; ^~~~~~~~ /opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:345:31: note: candidate function __DEFINE_HIP_COMPLEX_REAL_FUN(abs, hipCabs) --- include/hip/hcc_detail/hip_complex.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/hip/hcc_detail/hip_complex.h b/include/hip/hcc_detail/hip_complex.h index 48a2852a5a..804cc51783 100644 --- a/include/hip/hcc_detail/hip_complex.h +++ b/include/hip/hcc_detail/hip_complex.h @@ -121,7 +121,7 @@ THE SOFTWARE. return ret; \ } #define MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(ComplexT, T) \ - __device__ __host__ ComplexT(T val) : x(val), y(val) {} \ + explicit __device__ __host__ ComplexT(T val) : x(val), y(val) {} \ __device__ __host__ ComplexT(T val1, T val2) : x(val1), y(val2) {} #endif @@ -130,8 +130,8 @@ struct hipFloatComplex { #ifdef __cplusplus public: typedef float value_type; - __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {} - __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {} + explicit __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {} + explicit __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {} __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {} MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned short) MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, signed short) From aa7ce2ef4476fbc0dd461e5fa2c992f20af34aac Mon Sep 17 00:00:00 2001 From: Mark Searles Date: Fri, 31 Aug 2018 09:13:43 -0700 Subject: [PATCH 58/77] Add keyword 'explicit' to avoid ambiguity Older gcc, e.g., 5.x, see an ambiguity in some calls. Example error output as seen with gcc 5.5: In file included from benchmark_wino.cpp:1: In file included from ./miopen.hpp:13: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/regex:38: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/algorithm:62: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_algo.h:66: In file included from /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/random:51: /usr/lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/random.tcc:1324:27: error: call to 'abs' is ambiguous const double __y = -std::abs(__n) * __param._M_sm - 1; ^~~~~~~~ /opt/rocm/hip/include/hip/hcc_detail/hip_complex.h:345:31: note: candidate function __DEFINE_HIP_COMPLEX_REAL_FUN(abs, hipCabs) --- include/hip/hcc_detail/hip_complex.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/hip/hcc_detail/hip_complex.h b/include/hip/hcc_detail/hip_complex.h index 804cc51783..d19abd7247 100644 --- a/include/hip/hcc_detail/hip_complex.h +++ b/include/hip/hcc_detail/hip_complex.h @@ -130,7 +130,7 @@ struct hipFloatComplex { #ifdef __cplusplus public: typedef float value_type; - explicit __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {} + __device__ __host__ hipFloatComplex() : x(0.0f), y(0.0f) {} explicit __device__ __host__ hipFloatComplex(float x) : x(x), y(0.0f) {} __device__ __host__ hipFloatComplex(float x, float y) : x(x), y(y) {} MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipFloatComplex, unsigned short) @@ -151,7 +151,7 @@ struct hipDoubleComplex { public: typedef double value_type; __device__ __host__ hipDoubleComplex() : x(0.0f), y(0.0f) {} - __device__ __host__ hipDoubleComplex(double x) : x(x), y(0.0f) {} + explicit __device__ __host__ hipDoubleComplex(double x) : x(x), y(0.0f) {} __device__ __host__ hipDoubleComplex(double x, double y) : x(x), y(y) {} MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, unsigned short) MAKE_COMPONENT_CONSTRUCTOR_TWO_COMPONENT(hipDoubleComplex, signed short) From 1daee67eb682c6962013109f679a65d20a5615b3 Mon Sep 17 00:00:00 2001 From: Saleel Kudchadker Date: Fri, 31 Aug 2018 12:54:23 -0700 Subject: [PATCH 59/77] Fix record_event and hipStreamSync2 tests. The test should expect null stream to complete if synchrionize is called as per the spec --- tests/src/runtimeApi/event/record_event.cpp | 4 ++-- tests/src/runtimeApi/stream/hipStreamSync2.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/src/runtimeApi/event/record_event.cpp b/tests/src/runtimeApi/event/record_event.cpp index afd6bef2ef..3eb54e1735 100644 --- a/tests/src/runtimeApi/event/record_event.cpp +++ b/tests/src/runtimeApi/event/record_event.cpp @@ -170,8 +170,8 @@ void runTests(int64_t numElements) { // for (int waitStart=0; waitStart<2; waitStart++) { for (int waitStart = 1; waitStart >= 0; waitStart--) { unsigned W = waitStart ? 0x1000 : 0; - test(W | 0x01, C_d, C_h, numElements, 0, waitStart, syncNone); - test(W | 0x02, C_d, C_h, numElements, stream, waitStart, syncNone); + test(W | 0x01, C_d, C_h, numElements, 0, 0, syncNone); + test(W | 0x02, C_d, C_h, numElements, stream, 0, syncNone); test(W | 0x04, C_d, C_h, numElements, 0, waitStart, syncStream); test(W | 0x08, C_d, C_h, numElements, stream, waitStart, syncStream); test(W | 0x10, C_d, C_h, numElements, 0, waitStart, syncStopEvent); diff --git a/tests/src/runtimeApi/stream/hipStreamSync2.cpp b/tests/src/runtimeApi/stream/hipStreamSync2.cpp index cf25d0bd2b..652c799792 100644 --- a/tests/src/runtimeApi/stream/hipStreamSync2.cpp +++ b/tests/src/runtimeApi/stream/hipStreamSync2.cpp @@ -178,7 +178,7 @@ void runTests(int64_t numElements) { { test(0x01, C_d, C_h, numElements, syncNone, true /*expectMismatch*/); test(0x02, C_d, C_h, numElements, syncNullStream, false /*expectMismatch*/); - test(0x04, C_d, C_h, numElements, syncOtherStream, true /*expectMismatch*/); + test(0x04, C_d, C_h, numElements, syncOtherStream, false /*expectMismatch*/); test(0x08, C_d, C_h, numElements, syncDevice, false /*expectMismatch*/); // Sending a marker to to null stream may synchronize the otherStream From 11c91c2fdd86ca3e3f328d7f18143316477a1ecb Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Fri, 31 Aug 2018 14:21:26 -0400 Subject: [PATCH 60/77] Fix ambiguity of __clz and __clzll --- include/hip/hcc_detail/device_functions.h | 19 ++++--------------- include/hip/hcc_detail/device_library_decls.h | 10 ++++++++++ tests/src/deviceLib/hip_clz.cpp | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index 5e1c8a4e6b..1e98b23a05 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -32,9 +32,6 @@ THE SOFTWARE. #include #include -typedef unsigned long ulong; -typedef unsigned int uint; - /* Integer Intrinsics */ @@ -47,20 +44,12 @@ __device__ static inline unsigned int __popcll(unsigned long long int input) { return __builtin_popcountl(input); } -__device__ static inline unsigned int __clz(unsigned int input) { - return input == 0 ? 32 : __builtin_clz(input); +__device__ static inline int __clz(int input) { + return __ockl_clz_u32((uint)input); } -__device__ static inline unsigned int __clzll(unsigned long long int input) { - return input == 0 ? 64 : ( input == 0 ? -1 : __builtin_clzl(input) ); -} - -__device__ static inline unsigned int __clz(int input) { - return input == 0 ? 32 : ( input > 0 ? __builtin_clz(input) : __builtin_clz(~input) ); -} - -__device__ static inline unsigned int __clzll(long long int input) { - return input == 0 ? 64 : input > 0 ? __builtin_clzl(input) : __builtin_clzl(~input); +__device__ static inline int __clzll(long long int input) { + return __ockl_clz_u64((ulong)input); } __device__ static inline unsigned int __ffs(unsigned int input) { diff --git a/include/hip/hcc_detail/device_library_decls.h b/include/hip/hcc_detail/device_library_decls.h index 2a14b0b814..d64877d50a 100644 --- a/include/hip/hcc_detail/device_library_decls.h +++ b/include/hip/hcc_detail/device_library_decls.h @@ -30,6 +30,11 @@ THE SOFTWARE. #include "hip/hcc_detail/host_defines.h" +typedef unsigned char uchar; +typedef unsigned short ushort; +typedef unsigned int uint; +typedef unsigned long ulong; + extern "C" __device__ __attribute__((const)) bool __ockl_wfany_i32(int); extern "C" __device__ __attribute__((const)) bool __ockl_wfall_i32(int); extern "C" __device__ uint __ockl_activelane_u32(void); @@ -40,6 +45,11 @@ extern "C" __device__ __attribute__((const)) uint __ockl_mul_hi_u32(uint, uint); extern "C" __device__ __attribute__((const)) int __ockl_mul_hi_i32(int, int); extern "C" __device__ __attribute__((const)) uint __ockl_sad_u32(uint, uint, uint); +extern "C" __device__ __attribute__((const)) uchar __ockl_clz_u8(uchar); +extern "C" __device__ __attribute__((const)) ushort __ockl_clz_u16(ushort); +extern "C" __device__ __attribute__((const)) uint __ockl_clz_u32(uint); +extern "C" __device__ __attribute__((const)) ulong __ockl_clz_u64(ulong); + extern "C" __device__ __attribute__((const)) float __ocml_floor_f32(float); extern "C" __device__ __attribute__((const)) float __ocml_rint_f32(float); extern "C" __device__ __attribute__((const)) float __ocml_ceil_f32(float); diff --git a/tests/src/deviceLib/hip_clz.cpp b/tests/src/deviceLib/hip_clz.cpp index 985da04967..604b62c7e2 100644 --- a/tests/src/deviceLib/hip_clz.cpp +++ b/tests/src/deviceLib/hip_clz.cpp @@ -67,6 +67,21 @@ unsigned int firstbit_u64(unsigned long long int a) { return pos; } +// Check implicit conversion will not cause ambiguity. +__device__ void test_ambiguity() { + short s; + unsigned short us; + float f; + int i; + unsigned int ui; + __clz(f); + __clz(s); + __clz(us); + __clzll(f); + __clzll(i); + __clzll(ui); +} + __global__ void HIP_kernel(hipLaunchParm lp, unsigned int* a, unsigned int* b, unsigned int* c, unsigned long long int* d, int width, int height) { int x = blockDim.x * blockIdx.x + threadIdx.x; From 338eaefa8418c194ef99a041b3e2a11321dc7a4b Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Tue, 28 Aug 2018 19:13:27 +0000 Subject: [PATCH 61/77] Support placement new in hip-clang --- include/hip/hcc_detail/hip_runtime.h | 1 + tests/src/deviceLib/hipTestNew.cpp | 71 ++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 tests/src/deviceLib/hipTestNew.cpp diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 41710e4165..7bd89e2815 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -471,6 +471,7 @@ hc_get_workitem_absolute_id(int dim) #include <__clang_cuda_complex_builtins.h> #include #include +#include #undef __CUDA__ #pragma pop_macro("__CUDA__") diff --git a/tests/src/deviceLib/hipTestNew.cpp b/tests/src/deviceLib/hipTestNew.cpp new file mode 100644 index 0000000000..60774ff21d --- /dev/null +++ b/tests/src/deviceLib/hipTestNew.cpp @@ -0,0 +1,71 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +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. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * RUN: %t + * HIT_END + */ + +#include +#include +#include +#include "test_common.h" + +#define HIP_ASSERT(status) assert(status == hipSuccess) + +#define LEN 512 +#define SIZE 2048 + +struct TestPlacementNew { + class A { + public: + __device__ A() { + a = threadIdx.x + blockIdx.x * blockDim.x; + } + private: + int a; + }; + + static __global__ void kernel(int* Ad) { + int tid = threadIdx.x + blockIdx.x * blockDim.x; + new(Ad+tid) A(); + } + + void run() { + int *A, *Ad; + A = new int[LEN]; + for (unsigned i = 0; i < LEN; i++) { + A[i] = 0; + } + + HIP_ASSERT(hipMalloc((void**)&Ad, SIZE)); + hipLaunchKernelGGL(kernel, dim3(1, 1, 1), dim3(LEN, 1, 1), 0, 0, Ad); + HIP_ASSERT(hipMemcpy(A, Ad, SIZE, hipMemcpyDeviceToHost)); + + for (unsigned i = 0; i < LEN; i++) { + assert(i == A[i]); + } + } +}; + +int main() { + TestPlacementNew().run(); + passed(); +} From 1bb28375bcf3313b403f4c42c4f88a89f6387255 Mon Sep 17 00:00:00 2001 From: "Yaxun (Sam) Liu" Date: Mon, 27 Aug 2018 14:51:25 -0400 Subject: [PATCH 62/77] Document kernel launching for hip-clang --- docs/markdown/hip_porting_driver_api.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/markdown/hip_porting_driver_api.md b/docs/markdown/hip_porting_driver_api.md index 2e61f0eb32..7d02666af3 100644 --- a/docs/markdown/hip_porting_driver_api.md +++ b/docs/markdown/hip_porting_driver_api.md @@ -102,6 +102,15 @@ hip-clang links device code from different translation units together. For each hip-clang generates initializatiion and termination functions for each translation unit for host code compilation. The initialization functions call `__hipRegisterFatBinary` to register the fatbinary embeded in the ELF file. They also call `__hipRegisterFunction` and `__hipRegisterVar` to register kernel functions and device side global variables. The termination functions call `__hipUnregisterFatBinary`. hip-clang emits a global variable `__hip_gpubin_handle` of void** type with linkonce linkage and inital value 0 for each host translation unit. Each initialization function checks `__hip_gpubin_handle` and register the fatbinary only if `__hip_gpubin_handle` is 0 and saves the return value of `__hip_gpubin_handle` to `__hip_gpubin_handle`. This is to guarantee that the fatbinary is only registered once. Similar check is done in the termination functions. +#### Kernel Launching +hip-clang supports kernel launching by CUDA `<<<>>>` syntax, hipLaunchKernel, and hipLaunchKernelGGL. The latter two are macros which expand to CUDA `<<<>>>` syntax. + +In host code, hip-clang emits a stub function with the same name and arguments as the kernel. In the body of this function, hipSetupArgument is called for each kernel argument, then hipLaunchByPtr is called with a function pointer to the stub function. + +When the executable or shared library is loaded by the dynamic linker, the initilization functions are called. In the initialization functions, when `__hipRegisterFatBinary` is called, the code objects containing all kernels are loaded; when `__hipRegisterFunction` is called, the stub functions are associated with the corresponding kernels in code objects. + +In the host code, for the `<<<>>>` statement, hip-clang first emits call of hipConfigureCall to set up the threads and grids, then emits call of the stub function with the given arguments. In the stub function, when the runtime host API function hipLaunchByPtr is called, the real kernel associated with the stub function is launched. + ### NVCC Implementation Notes #### Interoperation between HIP and CUDA Driver From 1587b18a918910d516bee2dac68b625aad3059cb Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Wed, 22 Aug 2018 15:42:54 -0400 Subject: [PATCH 63/77] Let hipcc handle obj files in linker response file for hip-clang If obj files in linker response file contains device code, pass them to hip-clang, otherwise keep them in the linker response file. --- bin/hipcc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bin/hipcc b/bin/hipcc index 92ec2578cb..4610a6be89 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -453,6 +453,15 @@ foreach $arg (@ARGV) system("cd $tmpdir; ar c $libBaseName $realObjs"); print $out "$tmpdir/$libBaseName\n"; } + } elsif ($line =~ m/\.o$/) { + my $fileType = `file $line`; + my $isObj = ($fileType =~ m/ELF/ or $fileType =~ m/COFF/); + if ($isObj) { + print $out "$line\n"; + } else { + push (@inputs, $line); + $new_arg = "$new_arg $line"; + } } else { print $out "$line\n"; } From 4f17b4877e7b8c1a5d2978ef6fdb175882ef22ba Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Fri, 17 Aug 2018 11:34:07 -0400 Subject: [PATCH 64/77] Let hipcc link -lpthread -lm by default --- bin/hipcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/hipcc b/bin/hipcc index 92ec2578cb..3ff7cd6ead 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -725,7 +725,7 @@ if ($needLDFLAGS and not $compileOnly) { } $CMD .= " $toolArgs"; if ($needLDFLAGS and not $compileOnly and $HIP_PLATFORM eq "clang") { - $CMD .= " -lgcc_s -lgcc"; + $CMD .= " -lgcc_s -lgcc -lpthread -lm"; } if ($verbose & 0x1) { From a8bc26344f778e7149f641c2ec104c446962efab Mon Sep 17 00:00:00 2001 From: fpadmin Date: Tue, 4 Sep 2018 11:58:19 +0530 Subject: [PATCH 65/77] [HIP-Clang]Add friend class/function test --- tests/src/compiler/hipClassKernel.cpp | 89 ++++++++++++++++++++++++++- tests/src/compiler/hipClassKernel.h | 56 ++++++++++++++++- 2 files changed, 142 insertions(+), 3 deletions(-) diff --git a/tests/src/compiler/hipClassKernel.cpp b/tests/src/compiler/hipClassKernel.cpp index b3502ca9ae..edc3808d83 100644 --- a/tests/src/compiler/hipClassKernel.cpp +++ b/tests/src/compiler/hipClassKernel.cpp @@ -26,6 +26,66 @@ THE SOFTWARE. */ #include "hipClassKernel.h" +#ifdef ENABLE_OVERLOAD_OVERRIDE_TESTS +__global__ void +ovrdClassKernel(bool* result_ecd){ + int tid = threadIdx.x + blockIdx.x * blockDim.x; + testOvrD tobj1; + result_ecd[tid] = (tobj1.ovrdFunc1() == 30); +} + +void HipClassTests::TestForOverride(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(ovrdClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} + + +__global__ void +ovldClassKernel(bool* result_ecd){ + int tid = threadIdx.x + blockIdx.x * blockDim.x; + testFuncOvld tfo1; + result_ecd[tid] = (tfo1.func1(10) == 20) + && (tfo1.func1(10,10) == 30); +} + +void HipClassTests::TestForOverload(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + + hipLaunchKernelGGL(ovldClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); + + HipClassTests::VerifyResult(result_ech,result_ecd); + HipClassTests::FreeMem(result_ech,result_ecd); +} +#endif + +#ifdef ENABLE_FRIEND_TEST +// check for friend +__global__ void +friendClassKernel(bool* result_ecd){ + int tid = threadIdx.x + blockIdx.x * blockDim.x; + testFrndB tfb1; + result_ecd[tid] = (tfb1.showA() == 10); +} +#endif + // check sizeof empty class is 1 __global__ void emptyClassKernel(bool* result_ecd) { @@ -209,6 +269,20 @@ void HipClassTests::TestForConsrtDesrt(){ } #endif +#ifdef ENABLE_FRIEND_TEST +void HipClassTests::TestForFriend(void){ + bool *result_ecd, *result_ech; + result_ech = HipClassTests::AllocateHostMemory(); + result_ecd = HipClassTests::AllocateDeviceMemory(); + hipLaunchKernelGGL(friendClassKernel, + dim3(BLOCKS), + dim3(THREADS_PER_BLOCK), + 0, + 0, + result_ecd); +} +#endif + bool* HipClassTests::AllocateHostMemory(void){ bool *result_ech; HIPCHECK(hipHostMalloc(&result_ech, @@ -253,6 +327,19 @@ int main(){ test_passed(TestForClassSize); classTests.TestForPassByValue(); test_passed(TestForPassByValue); + +#ifdef ENABLE_OVERLOAD_OVERRIDE_TESTS + classTests.TestForOverload(); + test_passed(TestForOverload); + classTests.TestForOverride(); + test_passed(TestForOverride); +#endif + +#ifdef ENABLE_FRIEND_TEST + classTests.TestForFriend(); + test_passed(TestForFriend); +#endif + // classTests.TestForMallocPassByValue(); // test_passed(TestForMallocPassByValue); #this test is crashing @@ -261,8 +348,6 @@ int main(){ test_passed(TestForVirtualClassSize); #endif - - #ifdef ENABLE_DESTRUCTOR_TEST classTests.TestForConsrtDesrt(); test_passed(TestForConsrtDesrt); diff --git a/tests/src/compiler/hipClassKernel.h b/tests/src/compiler/hipClassKernel.h index 8538276662..09d5f22bea 100644 --- a/tests/src/compiler/hipClassKernel.h +++ b/tests/src/compiler/hipClassKernel.h @@ -31,10 +31,62 @@ static const int BLOCKS = 512; static const int THREADS_PER_BLOCK = 1; static const int ENABLE_DESTRUCTOR_TEST = 0; static const int ENABLE_VIRTUAL_TESTS = 0; +static const int ENABLE_FRIEND_TEST = 0; +static const int ENABLE_OVERLAD_OVERRIDE_TESTS = 0; size_t NBOOL = BLOCKS * sizeof(bool); #define test_passed(test_name) printf("%s %s PASSED!%s\n", KGRN, #test_name, KNRM); +#ifdef ENABLE_OVERLOAD_OVERRIDE_TESTS +class testFuncOvld{ + public: + int __host__ __device__ func1(int a){ + return a + 10; + } + + int __host__ __device__ func1(int a , int b){ + return a + b + 10; + } + +}; + + +class testOvrB{ + public: + int __host__ __device__ ovrdFunc1(){ + return 10; + } + + +}; + + +class testOvrD: public testOvrB{ + public: + int __host__ __device__ ovrdFunc1(){ + int x = testOvrB::ovrdFunc1(); + return x + 20; + } + +}; +#endif + +#ifdef ENABLE_FRIEND_TEST +class testFrndA{ + private: + int fa = 10; + public: + friend class testFrndB; +}; + +class testFrndB{ + public: + __host__ __device__ int showA(){ + testFrndA x; + return x.fa; + } +}; +#endif class testClassEmpty {}; @@ -177,7 +229,9 @@ class HipClassTests{ void TestForPassByValue(void); void TestForMallocPassByValue(void); void TestForConsrtDesrt(void); - + void TestForOverload(void); + void TestForOverride(void); + bool* AllocateHostMemory(void); bool* AllocateDeviceMemory(void); void VerifyResult(bool* result_ech, bool* result_ecd); From 2984c020b8b9020a61326580a452c45cd6545175 Mon Sep 17 00:00:00 2001 From: lcskrishna Date: Thu, 6 Sep 2018 15:02:52 -0700 Subject: [PATCH 66/77] added host for float2half and hlaf2float --- include/hip/hcc_detail/hip_fp16.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/include/hip/hcc_detail/hip_fp16.h b/include/hip/hcc_detail/hip_fp16.h index 777113a9de..68f0e35f5f 100644 --- a/include/hip/hcc_detail/hip_fp16.h +++ b/include/hip/hcc_detail/hip_fp16.h @@ -635,37 +635,37 @@ THE SOFTWARE. // TODO: rounding behaviour is not correct. // float -> half | half2 inline - __device__ + __device__ __host__ __half __float2half(float x) { return __half_raw{static_cast<_Float16>(x)}; } inline - __device__ + __device__ __host__ __half __float2half_rn(float x) { return __half_raw{static_cast<_Float16>(x)}; } inline - __device__ + __device__ __host__ __half __float2half_rz(float x) { return __half_raw{static_cast<_Float16>(x)}; } inline - __device__ + __device__ __host__ __half __float2half_rd(float x) { return __half_raw{static_cast<_Float16>(x)}; } inline - __device__ + __device__ __host__ __half __float2half_ru(float x) { return __half_raw{static_cast<_Float16>(x)}; } inline - __device__ + __device__ __host__ __half2 __float2half2_rn(float x) { return __half2_raw{ @@ -673,14 +673,14 @@ THE SOFTWARE. static_cast<_Float16>(x), static_cast<_Float16>(x)}}; } inline - __device__ + __device__ __host__ __half2 __floats2half2_rn(float x, float y) { return __half2_raw{_Float16_2{ static_cast<_Float16>(x), static_cast<_Float16>(y)}}; } inline - __device__ + __device__ __host__ __half2 __float22half2_rn(float2 x) { return __floats2half2_rn(x.x, x.y); @@ -688,25 +688,25 @@ THE SOFTWARE. // half | half2 -> float inline - __device__ + __device__ __host__ float __half2float(__half x) { return static_cast<__half_raw>(x).data; } inline - __device__ + __device__ __host__ float __low2float(__half2 x) { return static_cast<__half2_raw>(x).data.x; } inline - __device__ + __device__ __host__ float __high2float(__half2 x) { return static_cast<__half2_raw>(x).data.y; } inline - __device__ + __device__ __host__ float2 __half22float2(__half2 x) { return make_float2( @@ -1633,4 +1633,4 @@ THE SOFTWARE. #endif // defined(__cplusplus) #elif defined(__GNUC__) #include "hip_fp16_gcc.h" -#endif // !defined(__clang__) && defined(__GNUC__) \ No newline at end of file +#endif // !defined(__clang__) && defined(__GNUC__) From 3e1833ca52b72dd9b0abef92b28e2b18391be8ae Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Fri, 7 Sep 2018 16:15:08 -0400 Subject: [PATCH 67/77] Add empty printf for hip-clang --- include/hip/hcc_detail/hip_runtime.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 41710e4165..aecceea163 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -264,19 +264,16 @@ extern "C" __device__ void* __hip_hc_free(void* ptr); static inline __device__ void* malloc(size_t size) { return __hip_hc_malloc(size); } static inline __device__ void* free(void* ptr) { return __hip_hc_free(ptr); } -#ifdef __HCC_ACCELERATOR__ - -#ifdef HC_FEATURE_PRINTF +#if defined(__HCC_ACCELERATOR__) && defined(HC_FEATURE_PRINTF) template static inline __device__ void printf(const char* format, All... all) { hc::printf(format, all...); } -#else +#elif defined(__HCC_ACCELERATOR__) || __HIP__ template static inline __device__ void printf(const char* format, All... all) {} #endif -#endif #endif //__HCC_OR_HIP_CLANG__ #ifdef __HCC__ From 9e9a93e10a5ffde6a027ef5ee9ba79cdc34e1a9b Mon Sep 17 00:00:00 2001 From: Yaxun Sam Liu Date: Fri, 7 Sep 2018 16:20:00 -0400 Subject: [PATCH 68/77] Use template for hipLaunchKernelGGL for hip-clang --- include/hip/hcc_detail/hip_runtime.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 41710e4165..e0ad6befdd 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -346,15 +346,18 @@ extern void ihipPostLaunchKernel(const char* kernelName, hipStream_t stream, gri typedef int hipLaunchParm; -#define hipLaunchKernel(kernelName, numblocks, numthreads, memperblock, streamId, ...) \ - do { \ - kernelName<<>>(0, ##__VA_ARGS__); \ - } while (0) +template +inline void hipLaunchKernelGGL(F kernelName, const dim3& numblocks, const dim3& numthreads, + unsigned memperblock, hipStream_t streamId, Args... args) { + kernelName<<>>(args...); +} -#define hipLaunchKernelGGL(kernelName, numblocks, numthreads, memperblock, streamId, ...) \ - do { \ - kernelName<<>>(__VA_ARGS__); \ - } while (0) +template +inline void hipLaunchKernel(F kernel, const dim3& numBlocks, const dim3& dimBlocks, + std::uint32_t groupMemBytes, hipStream_t stream, Args... args) { + hipLaunchKernelGGL(kernel, numBlocks, dimBlocks, groupMemBytes, stream, hipLaunchParm{}, + std::move(args)...); +} #include From 0121ec13aa4fe825d77c648e814996f0b2be3605 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 11 Sep 2018 17:55:28 +0000 Subject: [PATCH 69/77] Use templates for min to prevent ambiguity --- include/hip/hcc_detail/hip_runtime.h | 10 --------- include/hip/hcc_detail/math_functions.h | 28 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/include/hip/hcc_detail/hip_runtime.h b/include/hip/hcc_detail/hip_runtime.h index 41710e4165..f5294dfc56 100644 --- a/include/hip/hcc_detail/hip_runtime.h +++ b/include/hip/hcc_detail/hip_runtime.h @@ -199,16 +199,6 @@ __device__ int __hip_move_dpp(int src, int dpp_ctrl, int row_mask, int bank_mask #endif //__HIP_ARCH_GFX803__ == 1 -__device__ inline static int min(int arg1, int arg2) { - return (arg1 < arg2) ? arg1 : arg2; -} -__device__ inline static int max(int arg1, int arg2) { - return (arg1 > arg2) ? arg1 : arg2; -} - -__host__ inline static int min(int arg1, int arg2) { return std::min(arg1, arg2); } -__host__ inline static int max(int arg1, int arg2) { return std::max(arg1, arg2); } - #endif // __HCC_OR_HIP_CLANG__ #if defined __HCC__ diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index 10967605d4..5457a99cfd 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -1304,6 +1304,32 @@ float func(float x, int y) \ } __DEF_FLOAT_FUN2I(scalbn) +#if __HCC__ +template +__DEVICE__ __host__ inline static const T min(T arg1, T arg2) { + return std::min(arg1, arg2); +} + +template +__DEVICE__ __host__ inline static const T max(T arg1, T arg2) { + return std::max(arg1, arg2); +} +#else +__device__ inline static int min(int arg1, int arg2) { + return (arg1 < arg2) ? arg1 : arg2; +} +__device__ inline static int max(int arg1, int arg2) { + return (arg1 > arg2) ? arg1 : arg2; +} + +__host__ inline static int min(int arg1, int arg2) { + return std::min(arg1, arg2); +} + +__host__ inline static int max(int arg1, int arg2) { + return std::max(arg1, arg2); +} + __DEVICE__ inline float max(float x, float y) { @@ -1331,6 +1357,8 @@ double min(double x, double y) { __HIP_OVERLOAD2(double, max) __HIP_OVERLOAD2(double, min) +#endif + #pragma pop_macro("__DEF_FLOAT_FUN") #pragma pop_macro("__DEF_FLOAT_FUN2") #pragma pop_macro("__DEF_FLOAT_FUN2I") From ffd89dde9cac20a83bc82c9a07f698f57dcbfcba Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Tue, 11 Sep 2018 18:48:31 +0000 Subject: [PATCH 70/77] Avoid host min func conflict with gcc min --- include/hip/hcc_detail/math_functions.h | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index 5457a99cfd..b44d3f00bd 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -1306,30 +1306,22 @@ __DEF_FLOAT_FUN2I(scalbn) #if __HCC__ template -__DEVICE__ __host__ inline static const T min(T arg1, T arg2) { +__DEVICE__ inline static T min(T arg1, T arg2) { return std::min(arg1, arg2); } template -__DEVICE__ __host__ inline static const T max(T arg1, T arg2) { +__DEVICE__ inline static T max(T arg1, T arg2) { return std::max(arg1, arg2); } #else -__device__ inline static int min(int arg1, int arg2) { +__DEVICE__ inline static int min(int arg1, int arg2) { return (arg1 < arg2) ? arg1 : arg2; } -__device__ inline static int max(int arg1, int arg2) { +__DEVICE__ inline static int max(int arg1, int arg2) { return (arg1 > arg2) ? arg1 : arg2; } -__host__ inline static int min(int arg1, int arg2) { - return std::min(arg1, arg2); -} - -__host__ inline static int max(int arg1, int arg2) { - return std::max(arg1, arg2); -} - __DEVICE__ inline float max(float x, float y) { @@ -1359,6 +1351,15 @@ __HIP_OVERLOAD2(double, min) #endif +__host__ inline static int min(int arg1, int arg2) { + return std::min(arg1, arg2); +} + +__host__ inline static int max(int arg1, int arg2) { + return std::max(arg1, arg2); +} + + #pragma pop_macro("__DEF_FLOAT_FUN") #pragma pop_macro("__DEF_FLOAT_FUN2") #pragma pop_macro("__DEF_FLOAT_FUN2I") From cb6cf6584e9ae3c79886b4e8adbe1ab89d627752 Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Wed, 12 Sep 2018 10:32:15 +0530 Subject: [PATCH 71/77] [ci] Disable hipVectorTypes* tests in CI Disable directed_tests/deviceLib/hipVectorTypes.tst & directed_tests/deviceLib/hipVectorTypesDevice.tst in CI due to HCC regressions. Once HCC fixes are in, the tests can be re-enabled in CI. --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 15ca1c9935..2432cea38e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -177,7 +177,7 @@ def docker_build_inside_image( def build_image, String inside_args, String platf cd ${build_dir_rel} make install -j\$(nproc) make build_tests -i -j\$(nproc) - ctest + ctest -E hipVectorTypes """ // If unit tests output a junit or xunit file in the future, jenkins can parse that file // to display test results on the dashboard From d577f27d1a311d57de4326723acfdcf57e94f75c Mon Sep 17 00:00:00 2001 From: carlushuang Date: Wed, 12 Sep 2018 13:24:56 +0800 Subject: [PATCH 72/77] fix __longlong_as_double() problem, return the double value previous version return a long long valus *as* double, hence we may get the wrong result. this also affect atomicAdd(double * ...), which use long long pointer to mimic double pointer. Signed-off-by: carlushuang --- include/hip/hcc_detail/device_functions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/hip/hcc_detail/device_functions.h b/include/hip/hcc_detail/device_functions.h index adf631d782..508a301344 100644 --- a/include/hip/hcc_detail/device_functions.h +++ b/include/hip/hcc_detail/device_functions.h @@ -593,7 +593,7 @@ __device__ static inline double __longlong_as_double(long long int x) { double tmp; __builtin_memcpy(&tmp, &x, sizeof(tmp)); - return x; + return tmp; } __device__ static inline double __uint2double_rn(int x) { return (double)x; } From cdfea3ef7bb840218d6134b011d78e51069c833f Mon Sep 17 00:00:00 2001 From: Alex Voicu Date: Wed, 12 Sep 2018 10:30:48 +0100 Subject: [PATCH 73/77] Remove potential for mismatch between runtime passed actuals and defined formals. --- .../hip/hcc_detail/functional_grid_launch.hpp | 64 +++++++++++++------ 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/include/hip/hcc_detail/functional_grid_launch.hpp b/include/hip/hcc_detail/functional_grid_launch.hpp index de943f310d..66e5873f3a 100644 --- a/include/hip/hcc_detail/functional_grid_launch.hpp +++ b/include/hip/hcc_detail/functional_grid_launch.hpp @@ -51,30 +51,53 @@ inline T round_up_to_next_multiple_nonnegative(T x, T y) { return tmp - tmp % y; } -inline std::vector make_kernarg() { return {}; } - -inline std::vector make_kernarg(std::vector kernarg) { return kernarg; } - -template -inline std::vector make_kernarg(std::vector kernarg, T x) { - kernarg.resize(round_up_to_next_multiple_nonnegative(kernarg.size(), alignof(T)) + sizeof(T)); - - new (kernarg.data() + kernarg.size() - sizeof(T)) T{std::move(x)}; - +template < + std::size_t n, + typename... Ts, + typename std::enable_if::type* = nullptr> +inline std::vector make_kernarg( + std::vector kernarg, const std::tuple&) { return kernarg; } -template -inline std::vector make_kernarg(std::vector kernarg, T x, Ts... xs) { - return make_kernarg(make_kernarg(std::move(kernarg), std::move(x)), std::move(xs)...); +template < + std::size_t n, + typename... Ts, + typename std::enable_if::type* = nullptr> +inline std::vector make_kernarg( + std::vector kernarg, const std::tuple& formals) { + using T = typename std::tuple_element>::type; + + static_assert( + !std::is_reference{}, + "A __global__ function cannot have a reference as one of its " + "arguments."); + #if defined(HIP_STRICT) + static_assert( + std::is_trivially_copyable{}, + "Only TriviallyCopyable types can be arguments to a __global__ " + "function"); + #endif + + kernarg.resize(round_up_to_next_multiple_nonnegative( + kernarg.size(), alignof(T)) + sizeof(T)); + + new (kernarg.data() + kernarg.size() - sizeof(T)) T{std::get(formals)}; + + return make_kernarg(std::move(kernarg), formals); } -template -inline std::vector make_kernarg(Ts... xs) { - std::vector kernarg; - kernarg.reserve(sizeof(std::tuple)); +template +inline std::vector make_kernarg( + void (*)(Formals...), std::tuple actuals) { + static_assert(sizeof...(Formals) == sizeof...(Actuals), + "The count of formal arguments must match the count of actuals."); - return make_kernarg(std::move(kernarg), std::move(xs)...); + std::tuple to_formals{std::move(actuals)}; + std::vector kernarg; + kernarg.reserve(sizeof(to_formals)); + + return make_kernarg<0>(std::move(kernarg), to_formals); } void hipLaunchKernelGGLImpl(std::uintptr_t function_address, const dim3& numBlocks, @@ -85,7 +108,8 @@ void hipLaunchKernelGGLImpl(std::uintptr_t function_address, const dim3& numBloc template inline void hipLaunchKernelGGL(F kernel, const dim3& numBlocks, const dim3& dimBlocks, std::uint32_t sharedMemBytes, hipStream_t stream, Args... args) { - auto kernarg = hip_impl::make_kernarg(std::move(args)...); + auto kernarg = hip_impl::make_kernarg( + kernel, std::tuple{std::move(args)...}); std::size_t kernarg_size = kernarg.size(); void* config[] = {HIP_LAUNCH_PARAM_BUFFER_POINTER, kernarg.data(), HIP_LAUNCH_PARAM_BUFFER_SIZE, @@ -100,4 +124,4 @@ inline void hipLaunchKernel(F kernel, const dim3& numBlocks, const dim3& dimBloc std::uint32_t groupMemBytes, hipStream_t stream, Args... args) { hipLaunchKernelGGL(kernel, numBlocks, dimBlocks, groupMemBytes, stream, hipLaunchParm{}, std::move(args)...); -} +} \ No newline at end of file From fb706902cc688e4777df2d5b4f6e1a4c390ba482 Mon Sep 17 00:00:00 2001 From: Rahul Garg Date: Wed, 12 Sep 2018 16:41:24 +0530 Subject: [PATCH 74/77] Remove adipose extn from launchKernelHcc sample --- samples/0_Intro/module_api/launchKernelHcc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/0_Intro/module_api/launchKernelHcc.cpp b/samples/0_Intro/module_api/launchKernelHcc.cpp index b5f40d68d9..f6bb9e5361 100644 --- a/samples/0_Intro/module_api/launchKernelHcc.cpp +++ b/samples/0_Intro/module_api/launchKernelHcc.cpp @@ -34,7 +34,7 @@ THE SOFTWARE. #define LEN 64 #define SIZE LEN << 2 -#define fileName "vcpy_kernel.code.adipose" +#define fileName "vcpy_kernel.code" #define kernel_name "hello_world" #define HIP_CHECK(status) \ From 894cbdd749786f01b950e422c93502310105693b Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Wed, 12 Sep 2018 14:54:31 +0000 Subject: [PATCH 75/77] Avoid AMP-retrict call to CPU-restrict --- include/hip/hcc_detail/math_functions.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index b44d3f00bd..059aabcc53 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -1307,12 +1307,12 @@ __DEF_FLOAT_FUN2I(scalbn) #if __HCC__ template __DEVICE__ inline static T min(T arg1, T arg2) { - return std::min(arg1, arg2); + return (arg1 < arg2) ? arg1 : arg2; } template __DEVICE__ inline static T max(T arg1, T arg2) { - return std::max(arg1, arg2); + return (arg1 > arg2) ? arg1 : arg2; } #else __DEVICE__ inline static int min(int arg1, int arg2) { From 6b811ca6d158afacd94877aa54898aa35a982c21 Mon Sep 17 00:00:00 2001 From: Aaron Enye Shi Date: Thu, 13 Sep 2018 23:16:20 +0000 Subject: [PATCH 76/77] Fix Tensorflow ambiguous min issue --- include/hip/hcc_detail/math_functions.h | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/hip/hcc_detail/math_functions.h b/include/hip/hcc_detail/math_functions.h index 059aabcc53..6c8510fcbb 100644 --- a/include/hip/hcc_detail/math_functions.h +++ b/include/hip/hcc_detail/math_functions.h @@ -1310,10 +1310,52 @@ __DEVICE__ inline static T min(T arg1, T arg2) { return (arg1 < arg2) ? arg1 : arg2; } +__DEVICE__ inline static uint32_t min(uint32_t arg1, int32_t arg2) { + return min(arg1, (uint32_t) arg2); +} +/*__DEVICE__ inline static uint32_t min(int32_t arg1, uint32_t arg2) { + return min((uint32_t) arg1, arg2); +} + +__DEVICE__ inline static uint64_t min(uint64_t arg1, int64_t arg2) { + return min(arg1, (uint64_t) arg2); +} +__DEVICE__ inline static uint64_t min(int64_t arg1, uint64_t arg2) { + return min((uint64_t) arg1, arg2); +} + +__DEVICE__ inline static unsigned long long min(unsigned long long arg1, long long arg2) { + return min(arg1, (unsigned long long) arg2); +} +__DEVICE__ inline static unsigned long long min(long long arg1, unsigned long long arg2) { + return min((unsigned long long) arg1, arg2); +}*/ + template __DEVICE__ inline static T max(T arg1, T arg2) { return (arg1 > arg2) ? arg1 : arg2; } + +__DEVICE__ inline static uint32_t max(uint32_t arg1, int32_t arg2) { + return max(arg1, (uint32_t) arg2); +} +__DEVICE__ inline static uint32_t max(int32_t arg1, uint32_t arg2) { + return max((uint32_t) arg1, arg2); +} + +/*__DEVICE__ inline static uint64_t max(uint64_t arg1, int64_t arg2) { + return max(arg1, (uint64_t) arg2); +} +__DEVICE__ inline static uint64_t max(int64_t arg1, uint64_t arg2) { + return max((uint64_t) arg1, arg2); +} + +__DEVICE__ inline static unsigned long long max(unsigned long long arg1, long long arg2) { + return max(arg1, (unsigned long long) arg2); +} +__DEVICE__ inline static unsigned long long max(long long arg1, unsigned long long arg2) { + return max((unsigned long long) arg1, arg2); +}*/ #else __DEVICE__ inline static int min(int arg1, int arg2) { return (arg1 < arg2) ? arg1 : arg2; From 9b2107749cd31c34434be03388a136fd17aee69e Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Sat, 15 Sep 2018 13:23:38 +0530 Subject: [PATCH 77/77] Revert changes to runtime/stream/hipStreamSync2 --- tests/src/runtimeApi/stream/hipStreamSync2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/runtimeApi/stream/hipStreamSync2.cpp b/tests/src/runtimeApi/stream/hipStreamSync2.cpp index 652c799792..cf25d0bd2b 100644 --- a/tests/src/runtimeApi/stream/hipStreamSync2.cpp +++ b/tests/src/runtimeApi/stream/hipStreamSync2.cpp @@ -178,7 +178,7 @@ void runTests(int64_t numElements) { { test(0x01, C_d, C_h, numElements, syncNone, true /*expectMismatch*/); test(0x02, C_d, C_h, numElements, syncNullStream, false /*expectMismatch*/); - test(0x04, C_d, C_h, numElements, syncOtherStream, false /*expectMismatch*/); + test(0x04, C_d, C_h, numElements, syncOtherStream, true /*expectMismatch*/); test(0x08, C_d, C_h, numElements, syncDevice, false /*expectMismatch*/); // Sending a marker to to null stream may synchronize the otherStream