Skip to content

Commit 9c18c02

Browse files
Correct surface format used for CL_LUMINANCE images
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
1 parent 0583413 commit 9c18c02

File tree

3 files changed

+20
-18
lines changed

3 files changed

+20
-18
lines changed

opencl/source/helpers/surface_formats.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2021 Intel Corporation
2+
* Copyright (C) 2018-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -50,10 +50,6 @@ namespace NEO {
5050
{{CL_RG, CL_UNSIGNED_INT32}, {GMM_FORMAT_R32G32_UINT_TYPE, GFX3DSTATE_SURFACEFORMAT_R32G32_UINT , 0, 2, 4, 8}}, \
5151
{{CL_RG, CL_HALF_FLOAT}, {GMM_FORMAT_R16G16_FLOAT_TYPE, GFX3DSTATE_SURFACEFORMAT_R16G16_FLOAT , 0, 2, 2, 4}}, \
5252
{{CL_RG, CL_FLOAT}, {GMM_FORMAT_R32G32_FLOAT_TYPE, GFX3DSTATE_SURFACEFORMAT_R32G32_FLOAT , 0, 2, 4, 8}}, \
53-
{{CL_LUMINANCE, CL_UNORM_INT8}, {GMM_FORMAT_GENERIC_8BIT, GFX3DSTATE_SURFACEFORMAT_R8_UNORM , 0, 1, 1, 1}}, \
54-
{{CL_LUMINANCE, CL_UNORM_INT16}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_R16_UNORM , 0, 1, 2, 2}}, \
55-
{{CL_LUMINANCE, CL_HALF_FLOAT}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_R16_FLOAT , 0, 1, 2, 2}}, \
56-
{{CL_LUMINANCE, CL_FLOAT}, {GMM_FORMAT_GENERIC_32BIT, GFX3DSTATE_SURFACEFORMAT_R32_FLOAT , 0, 1, 4, 4}}, \
5753
{{CL_R, CL_SNORM_INT8}, {GMM_FORMAT_R8_SNORM_TYPE, GFX3DSTATE_SURFACEFORMAT_R8_SNORM , 0, 1, 1, 1}}, \
5854
{{CL_R, CL_SNORM_INT16}, {GMM_FORMAT_R16_SNORM_TYPE, GFX3DSTATE_SURFACEFORMAT_R16_SNORM , 0, 1, 2, 2}}, \
5955
{{CL_RG, CL_SNORM_INT8}, {GMM_FORMAT_R8G8_SNORM_TYPE, GFX3DSTATE_SURFACEFORMAT_R8G8_SNORM , 0, 2, 1, 2}}, \
@@ -66,6 +62,10 @@ namespace NEO {
6662
{{CL_INTENSITY, CL_UNORM_INT16}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_I16_UNORM , 0, 1, 2, 2}}, \
6763
{{CL_INTENSITY, CL_HALF_FLOAT}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_I16_FLOAT , 0, 1, 2, 2}}, \
6864
{{CL_INTENSITY, CL_FLOAT}, {GMM_FORMAT_GENERIC_32BIT, GFX3DSTATE_SURFACEFORMAT_I32_FLOAT , 0, 1, 4, 4}}, \
65+
{{CL_LUMINANCE, CL_UNORM_INT8}, {GMM_FORMAT_GENERIC_8BIT, GFX3DSTATE_SURFACEFORMAT_L8_UNORM , 0, 1, 1, 1}}, \
66+
{{CL_LUMINANCE, CL_UNORM_INT16}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_L16_UNORM , 0, 1, 2, 2}}, \
67+
{{CL_LUMINANCE, CL_HALF_FLOAT}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_L16_FLOAT , 0, 1, 2, 2}}, \
68+
{{CL_LUMINANCE, CL_FLOAT}, {GMM_FORMAT_GENERIC_32BIT, GFX3DSTATE_SURFACEFORMAT_L32_FLOAT , 0, 1, 4, 4}}, \
6969
{{CL_A, CL_UNORM_INT16}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_A16_UNORM , 0, 1, 2, 2}}, \
7070
{{CL_A, CL_HALF_FLOAT}, {GMM_FORMAT_GENERIC_16BIT, GFX3DSTATE_SURFACEFORMAT_A16_FLOAT , 0, 1, 2, 2}}, \
7171
{{CL_A, CL_FLOAT}, {GMM_FORMAT_GENERIC_32BIT, GFX3DSTATE_SURFACEFORMAT_A32_FLOAT , 0, 1, 4, 4}}

opencl/test/unit_test/fixtures/image_fixture.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2021 Intel Corporation
2+
* Copyright (C) 2018-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -51,10 +51,6 @@ struct Image1dArrayDefaults : public Image2dDefaults {
5151
static const cl_image_desc imageDesc;
5252
};
5353

54-
struct LuminanceImage : public Image2dDefaults {
55-
static const cl_image_format imageFormat;
56-
};
57-
5854
struct ImageWithoutHostPtr : public Image1dDefaults {
5955
enum { flags = 0 };
6056
static void *hostPtr;
@@ -75,6 +71,10 @@ struct ImageWriteOnly : public BaseClass {
7571
enum { flags = BaseClass::flags | CL_MEM_WRITE_ONLY };
7672
};
7773

74+
struct LuminanceImage : public ImageReadOnly<Image2dDefaults> {
75+
static const cl_image_format imageFormat;
76+
};
77+
7878
template <typename Traits>
7979
struct ImageHelper {
8080
using Context = NEO::Context;

opencl/test/unit_test/mem_obj/image_validate_tests.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2021 Intel Corporation
2+
* Copyright (C) 2018-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -679,13 +679,15 @@ TEST(validateAndCreateImage, givenInvalidImageFormatWhenValidateAndCreateImageIs
679679

680680
TEST(validateAndCreateImage, givenNotSupportedImageFormatWhenValidateAndCreateImageIsCalledThenReturnsNotSupportedFormatError) {
681681
MockContext context;
682-
cl_image_format imageFormat = {CL_INTENSITY, CL_UNORM_INT8};
683-
cl_int retVal = CL_SUCCESS;
684-
cl_mem image;
685-
cl_mem_flags flags = CL_MEM_READ_WRITE;
686-
image = Image::validateAndCreateImage(&context, nullptr, flags, 0, &imageFormat, &Image1dDefaults::imageDesc, nullptr, retVal);
687-
EXPECT_EQ(nullptr, image);
688-
EXPECT_EQ(CL_IMAGE_FORMAT_NOT_SUPPORTED, retVal);
682+
for (cl_channel_order channelOrder : {CL_INTENSITY, CL_LUMINANCE}) {
683+
cl_image_format imageFormat = {channelOrder, CL_UNORM_INT8};
684+
cl_int retVal = CL_SUCCESS;
685+
cl_mem image;
686+
cl_mem_flags flags = CL_MEM_READ_WRITE;
687+
image = Image::validateAndCreateImage(&context, nullptr, flags, 0, &imageFormat, &Image1dDefaults::imageDesc, nullptr, retVal);
688+
EXPECT_EQ(nullptr, image);
689+
EXPECT_EQ(CL_IMAGE_FORMAT_NOT_SUPPORTED, retVal);
690+
}
689691
}
690692

691693
TEST(validateAndCreateImage, givenValidImageParamsWhenValidateAndCreateImageIsCalledThenReturnsSuccess) {

0 commit comments

Comments
 (0)