test_vulkan: fix build flags and warnings (#2443)

- Do not override parent-provided value for CMAKE_CXX_FLAGS
- Stop building with -fpermissive (not required/bad practice)
- Delete unused variables
- Remove unnecessary casts

Signed-off-by: Kévin Petit <kpet@free.fr>
This commit is contained in:
Kévin Petit
2025-07-16 00:33:37 +01:00
committed by GitHub
parent 8d4a870059
commit 2fdefbdf34
3 changed files with 34 additions and 69 deletions

View File

@@ -2,7 +2,6 @@ set (MODULE_NAME VULKAN)
list(APPEND CLConform_LIBRARIES vulkan_wrapper) list(APPEND CLConform_LIBRARIES vulkan_wrapper)
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF) set(CMAKE_COMPILE_WARNING_AS_ERROR OFF)
set(CMAKE_CXX_FLAGS "-fpermissive")
if(WIN32) if(WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_USE_PLATFORM_WIN32_KHR") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_USE_PLATFORM_WIN32_KHR")
endif(WIN32) endif(WIN32)

View File

@@ -34,7 +34,6 @@
namespace { namespace {
cl_uchar uuid[CL_UUID_SIZE_KHR];
cl_device_id deviceId = nullptr; cl_device_id deviceId = nullptr;
struct Params struct Params
@@ -86,10 +85,10 @@ const char *kernel_text_verify = " \
int run_test_with_two_queue( int run_test_with_two_queue(
cl_context &context, cl_command_queue &cmd_queue1, cl_context context, cl_command_queue cmd_queue1,
cl_command_queue &cmd_queue2, cl_kernel *kernel, cl_kernel &verify_kernel, cl_command_queue cmd_queue2, clKernelWrapper *kernel,
VulkanDevice &vkDevice, uint32_t numBuffers, uint32_t bufferSize, cl_kernel verify_kernel, VulkanDevice &vkDevice, uint32_t numBuffers,
bool use_fence, uint32_t bufferSize, bool use_fence,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType) VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType)
{ {
int err = CL_SUCCESS; int err = CL_SUCCESS;
@@ -211,7 +210,6 @@ int run_test_with_two_queue(
vkDescriptorSet.update(0, vkParamsBuffer); vkDescriptorSet.update(0, vkParamsBuffer);
for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++) for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++)
{ {
size_t buffer_size = vkBufferList[bIdx].getSize();
vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx], vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx],
0); 0);
buffers[bIdx] = externalMemory[bIdx]->getExternalMemoryBuffer(); buffers[bIdx] = externalMemory[bIdx]->getExternalMemoryBuffer();
@@ -430,8 +428,8 @@ CLEANUP:
} }
int run_test_with_one_queue( int run_test_with_one_queue(
cl_context &context, cl_command_queue &cmd_queue1, cl_kernel *kernel, cl_context context, cl_command_queue cmd_queue1, clKernelWrapper *kernel,
cl_kernel &verify_kernel, VulkanDevice &vkDevice, uint32_t numBuffers, cl_kernel verify_kernel, VulkanDevice &vkDevice, uint32_t numBuffers,
uint32_t bufferSize, uint32_t bufferSize,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType, VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType,
bool use_fence) bool use_fence)
@@ -545,7 +543,6 @@ int run_test_with_one_queue(
vkDescriptorSet.update(0, vkParamsBuffer); vkDescriptorSet.update(0, vkParamsBuffer);
for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++) for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++)
{ {
size_t buffer_size = vkBufferList[bIdx].getSize();
vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx], vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx],
0); 0);
buffers[bIdx] = externalMemory[bIdx]->getExternalMemoryBuffer(); buffers[bIdx] = externalMemory[bIdx]->getExternalMemoryBuffer();
@@ -735,8 +732,8 @@ CLEANUP:
} }
int run_test_with_multi_import_same_ctx( int run_test_with_multi_import_same_ctx(
cl_context &context, cl_command_queue &cmd_queue1, cl_kernel *kernel, cl_context context, cl_command_queue cmd_queue1, clKernelWrapper *kernel,
cl_kernel &verify_kernel, VulkanDevice &vkDevice, uint32_t numBuffers, cl_kernel verify_kernel, VulkanDevice &vkDevice, uint32_t numBuffers,
uint32_t bufferSize, bool use_fence, uint32_t bufferSize, bool use_fence,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType) VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType)
{ {
@@ -858,7 +855,6 @@ int run_test_with_multi_import_same_ctx(
vkDescriptorSet.update(0, vkParamsBuffer); vkDescriptorSet.update(0, vkParamsBuffer);
for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++) for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++)
{ {
size_t buffer_size = vkBufferList[bIdx].getSize();
vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx], vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx],
0); 0);
for (size_t cl_bIdx = 0; cl_bIdx < numImports; cl_bIdx++) for (size_t cl_bIdx = 0; cl_bIdx < numImports; cl_bIdx++)
@@ -1068,10 +1064,11 @@ CLEANUP:
} }
int run_test_with_multi_import_diff_ctx( int run_test_with_multi_import_diff_ctx(
cl_context &context, cl_context &context2, cl_command_queue &cmd_queue1, cl_context context, cl_context context2, cl_command_queue cmd_queue1,
cl_command_queue &cmd_queue2, cl_kernel *kernel1, cl_kernel *kernel2, cl_command_queue cmd_queue2, clKernelWrapper *kernel1,
cl_kernel &verify_kernel, cl_kernel verify_kernel2, VulkanDevice &vkDevice, clKernelWrapper *kernel2, cl_kernel verify_kernel, cl_kernel verify_kernel2,
uint32_t numBuffers, uint32_t bufferSize, bool use_fence, VulkanDevice &vkDevice, uint32_t numBuffers, uint32_t bufferSize,
bool use_fence,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType) VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType)
{ {
size_t global_work_size[1]; size_t global_work_size[1];
@@ -1087,7 +1084,6 @@ int run_test_with_multi_import_diff_ctx(
clExternalExportableSemaphore *clCl2VkExternalSemaphore2 = nullptr; clExternalExportableSemaphore *clCl2VkExternalSemaphore2 = nullptr;
int err = CL_SUCCESS; int err = CL_SUCCESS;
int calc_max_iter; int calc_max_iter;
bool withOffset;
uint32_t pBufferSize; uint32_t pBufferSize;
const std::vector<VulkanExternalMemoryHandleType> const std::vector<VulkanExternalMemoryHandleType>
@@ -1180,7 +1176,6 @@ int run_test_with_multi_import_diff_ctx(
pBufferSize = bufferSize; pBufferSize = bufferSize;
VulkanBufferList vkBufferList(numBuffers, vkDevice, pBufferSize, VulkanBufferList vkBufferList(numBuffers, vkDevice, pBufferSize,
vkExternalMemoryHandleType); vkExternalMemoryHandleType);
uint32_t interBufferOffset = (uint32_t)(vkBufferList[0].getSize());
for (size_t bIdx = 0; bIdx < numBuffers; bIdx++) for (size_t bIdx = 0; bIdx < numBuffers; bIdx++)
{ {
@@ -1212,7 +1207,6 @@ int run_test_with_multi_import_diff_ctx(
vkDescriptorSet.update(0, vkParamsBuffer); vkDescriptorSet.update(0, vkParamsBuffer);
for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++) for (size_t bIdx = 0; bIdx < vkBufferList.size(); bIdx++)
{ {
size_t buffer_size = vkBufferList[bIdx].getSize();
vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx], vkBufferListDeviceMemory[bIdx]->bindBuffer(vkBufferList[bIdx],
0); 0);
for (size_t cl_bIdx = 0; cl_bIdx < numImports; cl_bIdx++) for (size_t cl_bIdx = 0; cl_bIdx < numImports; cl_bIdx++)
@@ -1597,14 +1591,7 @@ struct BufferTestBase : public VulkanTestBase
int test_buffer_common(bool use_fence) int test_buffer_common(bool use_fence)
{ {
int current_device = 0;
int device_count = 0;
int devices_prohibited = 0;
cl_int errNum = CL_SUCCESS; cl_int errNum = CL_SUCCESS;
size_t extensionSize = 0;
const size_t bufsize = BUFFERSIZE;
char buf[BUFFERSIZE];
char *extensions = NULL;
clKernelWrapper verify_kernel; clKernelWrapper verify_kernel;
clKernelWrapper verify_kernel2; clKernelWrapper verify_kernel2;
clKernelWrapper kernel[3] = { NULL, NULL, NULL }; clKernelWrapper kernel[3] = { NULL, NULL, NULL };
@@ -1624,7 +1611,6 @@ struct BufferTestBase : public VulkanTestBase
uint32_t numBuffersList[] = { 1, 2, 4 }; uint32_t numBuffersList[] = { 1, 2, 4 };
uint32_t bufferSizeList[] = { 4 * 1024, 64 * 1024, 2 * 1024 * 1024 }; uint32_t bufferSizeList[] = { 4 * 1024, 64 * 1024, 2 * 1024 * 1024 };
uint32_t bufferSizeListforOffset[] = { 256, 512, 1024 };
std::vector<VulkanExternalSemaphoreHandleType> supportedSemaphoreTypes; std::vector<VulkanExternalSemaphoreHandleType> supportedSemaphoreTypes;
@@ -1740,36 +1726,28 @@ struct BufferTestBase : public VulkanTestBase
if (multiImport && !multiCtx) if (multiImport && !multiCtx)
{ {
errNum = run_test_with_multi_import_same_ctx( errNum = run_test_with_multi_import_same_ctx(
context, (cl_command_queue &)cmd_queue1, context, cmd_queue1, kernel, verify_kernel,
(cl_kernel *)&kernel, (cl_kernel &)verify_kernel,
*vkDevice, numBuffers, bufferSize, use_fence, *vkDevice, numBuffers, bufferSize, use_fence,
semaphoreType); semaphoreType);
} }
else if (multiImport && multiCtx) else if (multiImport && multiCtx)
{ {
errNum = run_test_with_multi_import_diff_ctx( errNum = run_test_with_multi_import_diff_ctx(
context, (cl_context &)context2, context, context2, cmd_queue1, cmd_queue3, kernel,
(cl_command_queue &)cmd_queue1, kernel2, verify_kernel, verify_kernel2, *vkDevice,
(cl_command_queue &)cmd_queue3, numBuffers, bufferSize, use_fence, semaphoreType);
(cl_kernel *)&kernel, (cl_kernel *)&kernel2,
(cl_kernel &)verify_kernel, verify_kernel2,
*vkDevice, numBuffers, bufferSize, use_fence,
semaphoreType);
} }
else if (numCQ == 2) else if (numCQ == 2)
{ {
errNum = run_test_with_two_queue( errNum = run_test_with_two_queue(
context, (cl_command_queue &)cmd_queue1, context, cmd_queue1, cmd_queue2, kernel,
(cl_command_queue &)cmd_queue2, verify_kernel, *vkDevice, numBuffers + 1,
(cl_kernel *)&kernel, (cl_kernel &)verify_kernel, bufferSize, use_fence, semaphoreType);
*vkDevice, numBuffers + 1, bufferSize, use_fence,
semaphoreType);
} }
else else
{ {
errNum = run_test_with_one_queue( errNum = run_test_with_one_queue(
context, (cl_command_queue &)cmd_queue1, context, cmd_queue1, kernel, verify_kernel,
(cl_kernel *)&kernel, (cl_kernel &)verify_kernel,
*vkDevice, numBuffers, bufferSize, semaphoreType, *vkDevice, numBuffers, bufferSize, semaphoreType,
use_fence); use_fence);
} }

View File

@@ -55,7 +55,6 @@ struct Params
uint32_t numImage2DDescriptors; uint32_t numImage2DDescriptors;
}; };
cl_uchar uuid[CL_UUID_SIZE_KHR];
cl_device_id deviceId = NULL; cl_device_id deviceId = NULL;
size_t max_width = MAX_2D_IMAGE_WIDTH; size_t max_width = MAX_2D_IMAGE_WIDTH;
size_t max_height = MAX_2D_IMAGE_HEIGHT; size_t max_height = MAX_2D_IMAGE_HEIGHT;
@@ -195,9 +194,10 @@ const cl_kernel getKernelType(VulkanFormat format, cl_kernel kernel_float,
} }
int run_test_with_two_queue( int run_test_with_two_queue(
cl_context &context, cl_command_queue &cmd_queue1, cl_context context, cl_command_queue cmd_queue1,
cl_command_queue &cmd_queue2, cl_kernel *kernel_unsigned, cl_command_queue cmd_queue2, clKernelWrapper *kernel_unsigned,
cl_kernel *kernel_signed, cl_kernel *kernel_float, VulkanDevice &vkDevice, clKernelWrapper *kernel_signed, clKernelWrapper *kernel_float,
VulkanDevice &vkDevice,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType) VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType)
{ {
cl_int err = CL_SUCCESS; cl_int err = CL_SUCCESS;
@@ -408,7 +408,6 @@ int run_test_with_two_queue(
} }
size_t totalImageMemSize = 0; size_t totalImageMemSize = 0;
uint64_t interImageOffset = 0;
{ {
VulkanImage2D vkImage2D( VulkanImage2D vkImage2D(
vkDevice, vkFormat, width, height, vkDevice, vkFormat, width, height,
@@ -732,9 +731,6 @@ int run_test_with_two_queue(
"Failed to signal CL semaphore\n"); "Failed to signal CL semaphore\n");
} }
unsigned int flags = 0;
size_t mipmapLevelOffset = 0;
cl_event eventReadImage = NULL;
clFinish(cmd_queue2); clFinish(cmd_queue2);
for (int i = 0; i < num2DImages; i++) for (int i = 0; i < num2DImages; i++)
{ {
@@ -817,9 +813,9 @@ CLEANUP:
} }
int run_test_with_one_queue( int run_test_with_one_queue(
cl_context &context, cl_command_queue &cmd_queue1, cl_context context, cl_command_queue cmd_queue1,
cl_kernel *kernel_unsigned, cl_kernel *kernel_signed, clKernelWrapper *kernel_unsigned, clKernelWrapper *kernel_signed,
cl_kernel *kernel_float, VulkanDevice &vkDevice, clKernelWrapper *kernel_float, VulkanDevice &vkDevice,
VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType) VulkanExternalSemaphoreHandleType vkExternalSemaphoreHandleType)
{ {
cl_int err = CL_SUCCESS; cl_int err = CL_SUCCESS;
@@ -1027,7 +1023,6 @@ int run_test_with_one_queue(
} }
} }
size_t totalImageMemSize = 0; size_t totalImageMemSize = 0;
uint64_t interImageOffset = 0;
{ {
VulkanImage2D vkImage2D( VulkanImage2D vkImage2D(
vkDevice, vkFormat, width, height, vkDevice, vkFormat, width, height,
@@ -1289,9 +1284,6 @@ int run_test_with_one_queue(
"Failed to signal CL semaphore\n"); "Failed to signal CL semaphore\n");
} }
unsigned int flags = 0;
size_t mipmapLevelOffset = 0;
cl_event eventReadImage = NULL;
for (int i = 0; i < num2DImages; i++) for (int i = 0; i < num2DImages; i++)
{ {
err = clEnqueueReadImage( err = clEnqueueReadImage(
@@ -1508,20 +1500,16 @@ struct ImageCommonTest : public VulkanTestBase
{ {
if (numCQ == 2) if (numCQ == 2)
{ {
err = run_test_with_two_queue( err = run_test_with_two_queue(context, cmd_queue1, cmd_queue2,
context, (cl_command_queue &)cmd_queue1, kernel_unsigned, kernel_signed,
(cl_command_queue &)cmd_queue2, kernel_float, *vkDevice,
(cl_kernel *)kernel_unsigned, (cl_kernel *)kernel_signed, externalSemaphoreType);
(cl_kernel *)kernel_float, *vkDevice,
externalSemaphoreType);
} }
else else
{ {
err = run_test_with_one_queue( err = run_test_with_one_queue(
context, (cl_command_queue &)cmd_queue1, context, cmd_queue1, kernel_unsigned, kernel_signed,
(cl_kernel *)kernel_unsigned, (cl_kernel *)kernel_signed, kernel_float, *vkDevice, externalSemaphoreType);
(cl_kernel *)kernel_float, *vkDevice,
externalSemaphoreType);
} }
test_error(err, "func_name failed \n"); test_error(err, "func_name failed \n");
} }