mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Replace unique_ptr for vectors in atomics_indexed_cases (#2557)
Use vectors instead of unique_ptr for buffers data
This commit is contained in:
@@ -255,18 +255,12 @@ int add_index_bin_test(size_t *global_threads, cl_command_queue queue,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Initialize our storage
|
// Initialize our storage
|
||||||
std::unique_ptr<cl_int[]> l_bin_counts(new cl_int[number_of_bins]);
|
std::vector<cl_int> l_bin_counts(number_of_bins);
|
||||||
if (!l_bin_counts)
|
|
||||||
{
|
|
||||||
log_error("add_index_bin_test FAILED to allocate initial values for "
|
|
||||||
"bin_counters.\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < number_of_bins; i++) l_bin_counts[i] = 0;
|
for (i = 0; i < number_of_bins; i++) l_bin_counts[i] = 0;
|
||||||
err = clEnqueueWriteBuffer(queue, bin_counters, true, 0,
|
err = clEnqueueWriteBuffer(queue, bin_counters, true, 0,
|
||||||
sizeof(cl_int) * number_of_bins,
|
sizeof(cl_int) * number_of_bins,
|
||||||
l_bin_counts.get(), 0, NULL, NULL);
|
l_bin_counts.data(), 0, NULL, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
log_error("add_index_bin_test FAILED to set initial values for "
|
log_error("add_index_bin_test FAILED to set initial values for "
|
||||||
@@ -275,19 +269,12 @@ int add_index_bin_test(size_t *global_threads, cl_command_queue queue,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<cl_int[]> values(
|
std::vector<cl_int> values(number_of_bins * max_counts_per_bin);
|
||||||
new cl_int[number_of_bins * max_counts_per_bin]);
|
|
||||||
if (!values)
|
|
||||||
{
|
|
||||||
log_error(
|
|
||||||
"add_index_bin_test FAILED to allocate initial values for bins.\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
for (i = 0; i < number_of_bins * max_counts_per_bin; i++) values[i] = -1;
|
for (i = 0; i < number_of_bins * max_counts_per_bin; i++) values[i] = -1;
|
||||||
err = clEnqueueWriteBuffer(queue, bins, true, 0,
|
err = clEnqueueWriteBuffer(queue, bins, true, 0,
|
||||||
sizeof(cl_int) * number_of_bins
|
sizeof(cl_int) * number_of_bins
|
||||||
* max_counts_per_bin,
|
* max_counts_per_bin,
|
||||||
values.get(), 0, NULL, NULL);
|
values.data(), 0, NULL, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
log_error(
|
log_error(
|
||||||
@@ -296,13 +283,7 @@ int add_index_bin_test(size_t *global_threads, cl_command_queue queue,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<cl_int[]> l_bin_assignments(new cl_int[number_of_items]);
|
std::vector<cl_int> l_bin_assignments(number_of_items);
|
||||||
if (!l_bin_assignments)
|
|
||||||
{
|
|
||||||
log_error("add_index_bin_test FAILED to allocate initial values for "
|
|
||||||
"l_bin_assignments.\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
for (i = 0; i < number_of_items; i++)
|
for (i = 0; i < number_of_items; i++)
|
||||||
{
|
{
|
||||||
int bin = random_in_range(0, number_of_bins - 1, d);
|
int bin = random_in_range(0, number_of_bins - 1, d);
|
||||||
@@ -326,7 +307,7 @@ int add_index_bin_test(size_t *global_threads, cl_command_queue queue,
|
|||||||
}
|
}
|
||||||
err = clEnqueueWriteBuffer(queue, bin_assignments, true, 0,
|
err = clEnqueueWriteBuffer(queue, bin_assignments, true, 0,
|
||||||
sizeof(cl_int) * number_of_items,
|
sizeof(cl_int) * number_of_items,
|
||||||
l_bin_assignments.get(), 0, NULL, NULL);
|
l_bin_assignments.data(), 0, NULL, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
log_error("add_index_bin_test FAILED to set initial values for "
|
log_error("add_index_bin_test FAILED to set initial values for "
|
||||||
@@ -355,34 +336,22 @@ int add_index_bin_test(size_t *global_threads, cl_command_queue queue,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<cl_int[]> final_bin_assignments(
|
std::vector<cl_int> final_bin_assignments(number_of_bins
|
||||||
new cl_int[number_of_bins * max_counts_per_bin]);
|
* max_counts_per_bin);
|
||||||
if (!final_bin_assignments)
|
|
||||||
{
|
|
||||||
log_error("add_index_bin_test FAILED to allocate initial values for "
|
|
||||||
"final_bin_assignments.\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
err = clEnqueueReadBuffer(queue, bins, true, 0,
|
err = clEnqueueReadBuffer(queue, bins, true, 0,
|
||||||
sizeof(cl_int) * number_of_bins
|
sizeof(cl_int) * number_of_bins
|
||||||
* max_counts_per_bin,
|
* max_counts_per_bin,
|
||||||
final_bin_assignments.get(), 0, NULL, NULL);
|
final_bin_assignments.data(), 0, NULL, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
log_error("add_index_bin_test FAILED to read back bins: %d\n", err);
|
log_error("add_index_bin_test FAILED to read back bins: %d\n", err);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<cl_int[]> final_bin_counts(new cl_int[number_of_bins]);
|
std::vector<cl_int> final_bin_counts(number_of_bins);
|
||||||
if (!final_bin_counts)
|
|
||||||
{
|
|
||||||
log_error("add_index_bin_test FAILED to allocate initial values for "
|
|
||||||
"final_bin_counts.\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
err = clEnqueueReadBuffer(queue, bin_counters, true, 0,
|
err = clEnqueueReadBuffer(queue, bin_counters, true, 0,
|
||||||
sizeof(cl_int) * number_of_bins,
|
sizeof(cl_int) * number_of_bins,
|
||||||
final_bin_counts.get(), 0, NULL, NULL);
|
final_bin_counts.data(), 0, NULL, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
log_error("add_index_bin_test FAILED to read back bin_counters: %d\n",
|
log_error("add_index_bin_test FAILED to read back bin_counters: %d\n",
|
||||||
|
|||||||
Reference in New Issue
Block a user