mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 06:23:01 +08:00
Return error code for unsuported image arg in gen12lp
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
7195aa6f8e
commit
bbc31e6aac
@@ -129,6 +129,8 @@ set(NEO_CORE_HELPERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/stdio.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/string.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/string_helpers.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/supported_media_surface_formats.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/supported_media_surface_formats.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/surface_format_info.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/timestamp_packet.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/timestamp_packet.h
|
||||
|
||||
@@ -35,7 +35,7 @@ struct AllocationProperties;
|
||||
struct EncodeSurfaceStateArgs;
|
||||
struct RootDeviceEnvironment;
|
||||
struct PipeControlArgs;
|
||||
|
||||
enum GFX3DSTATE_SURFACEFORMAT : unsigned short;
|
||||
class HwHelper {
|
||||
public:
|
||||
static HwHelper &get(GFXCORE_FAMILY gfxCore);
|
||||
@@ -162,6 +162,7 @@ class HwHelper {
|
||||
virtual bool copyThroughLockedPtrEnabled() const = 0;
|
||||
virtual uint32_t getAmountOfAllocationsToFill() const = 0;
|
||||
virtual bool isChipsetUniqueUUIDSupported() const = 0;
|
||||
virtual bool isSurfaceFormatSupportedForMediaBlockOperation(NEO::GFX3DSTATE_SURFACEFORMAT format) const = 0;
|
||||
|
||||
protected:
|
||||
HwHelper() = default;
|
||||
@@ -406,6 +407,7 @@ class HwHelperHw : public HwHelper {
|
||||
bool copyThroughLockedPtrEnabled() const override;
|
||||
uint32_t getAmountOfAllocationsToFill() const override;
|
||||
bool isChipsetUniqueUUIDSupported() const override;
|
||||
bool isSurfaceFormatSupportedForMediaBlockOperation(NEO::GFX3DSTATE_SURFACEFORMAT format) const override;
|
||||
|
||||
protected:
|
||||
static const AuxTranslationMode defaultAuxTranslationMode;
|
||||
|
||||
@@ -738,4 +738,8 @@ template <typename gfxProduct>
|
||||
bool HwHelperHw<gfxProduct>::isChipsetUniqueUUIDSupported() const {
|
||||
return false;
|
||||
}
|
||||
template <typename gfxProduct>
|
||||
bool HwHelperHw<gfxProduct>::isSurfaceFormatSupportedForMediaBlockOperation(NEO::GFX3DSTATE_SURFACEFORMAT format) const {
|
||||
return true;
|
||||
}
|
||||
} // namespace NEO
|
||||
|
||||
61
shared/source/helpers/supported_media_surface_formats.cpp
Normal file
61
shared/source/helpers/supported_media_surface_formats.cpp
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/supported_media_surface_formats.h"
|
||||
|
||||
#include "shared/source/helpers/surface_format_info.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
|
||||
namespace NEO {
|
||||
constexpr std::array<NEO::GFX3DSTATE_SURFACEFORMAT, 42> supportedMediaSurfaceFormats = {NEO::GFX3DSTATE_SURFACEFORMAT_R16G16B16A16_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B8G8R8A8_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R10G10B10A2_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R10G10B10A2_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8B8A8_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8B8A8_SNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8B8A8_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8B8A8_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16G16_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16G16_SNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16G16_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16G16_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16G16_FLOAT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B10G10R10A2_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R11G11B10_FLOAT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R32_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R32_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R32_FLOAT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B5G6R5_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B5G5R5A1_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B4G4R4A4_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8_SNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8G8_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16_SNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R16_FLOAT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_A16_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_B5G5R5X1_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8_SNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8_SINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_R8_UINT,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_A8_UNORM,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_YCRCB_NORMAL,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_YCRCB_SWAPUVY,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_YCRCB_SWAPUV,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_YCRCB_SWAPY,
|
||||
NEO::GFX3DSTATE_SURFACEFORMAT_PACKED_422_16};
|
||||
bool SupportedMediaFormatsHelper::isMediaFormatSupported(NEO::GFX3DSTATE_SURFACEFORMAT format) {
|
||||
return std::find(NEO::supportedMediaSurfaceFormats.begin(), NEO::supportedMediaSurfaceFormats.end(), format) != NEO::supportedMediaSurfaceFormats.end();
|
||||
}
|
||||
} // namespace NEO
|
||||
16
shared/source/helpers/supported_media_surface_formats.h
Normal file
16
shared/source/helpers/supported_media_surface_formats.h
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace NEO {
|
||||
enum GFX3DSTATE_SURFACEFORMAT : unsigned short;
|
||||
class SupportedMediaFormatsHelper {
|
||||
public:
|
||||
static bool isMediaFormatSupported(GFX3DSTATE_SURFACEFORMAT format);
|
||||
};
|
||||
} // namespace NEO
|
||||
Reference in New Issue
Block a user