refactor: Remove 3DSTATE_BTD_BODY structure
Removes 3DSTATE_BTD_BODY as redundant structure. Related-To: NEO-13147 Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
This commit is contained in:
parent
9ccecb5a35
commit
f198507875
|
@ -1708,8 +1708,7 @@ void find3dBtdCommand(LinearStream &cmdStream, size_t offset, size_t size, uint6
|
|||
|
||||
if (btdStateCmdCount > 0) {
|
||||
auto btdStateCmd = reinterpret_cast<_3DSTATE_BTD *>(*btdStateCmdList[0]);
|
||||
auto &btdStateBody = btdStateCmd->getBtdStateBody();
|
||||
EXPECT_EQ(gpuVa, btdStateBody.getMemoryBackedBufferBasePointer());
|
||||
EXPECT_EQ(gpuVa, btdStateCmd->getMemoryBackedBufferBasePointer());
|
||||
|
||||
btdCommandFound = true;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
* Copyright (C) 2021-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -59,8 +59,8 @@ HWTEST2_F(CommandStreamReceiverHwTestDg2AndLater, givenGen12AndLaterWhenRayTraci
|
|||
|
||||
_3DSTATE_BTD *cmd = genCmdCast<_3DSTATE_BTD *>(cs.getCpuBase());
|
||||
ASSERT_NE(nullptr, cmd);
|
||||
EXPECT_EQ(RayTracingHelper::getMemoryBackedFifoSizeToPatch(), cmd->getBtdStateBody().getPerDssMemoryBackedBufferSize());
|
||||
EXPECT_EQ(allocation->getGpuAddressToPatch(), cmd->getBtdStateBody().getMemoryBackedBufferBasePointer());
|
||||
EXPECT_EQ(RayTracingHelper::getMemoryBackedFifoSizeToPatch(), cmd->getPerDssMemoryBackedBufferSize());
|
||||
EXPECT_EQ(allocation->getGpuAddressToPatch(), cmd->getMemoryBackedBufferBasePointer());
|
||||
EXPECT_TRUE(commandStreamReceiver.isPerDssBackedBufferSent);
|
||||
}
|
||||
|
||||
|
@ -115,8 +115,8 @@ HWTEST2_F(CommandStreamReceiverFlushTaskDg2AndLaterTests, givenProgramExtendedPi
|
|||
auto cmd3dStateBtdCmd = genCmdCast<_3DSTATE_BTD *>(*cmd3dStateBtdIterator);
|
||||
|
||||
ASSERT_NE(nullptr, cmd3dStateBtdCmd);
|
||||
EXPECT_EQ(RayTracingHelper::getMemoryBackedFifoSizeToPatch(), cmd3dStateBtdCmd->getBtdStateBody().getPerDssMemoryBackedBufferSize());
|
||||
EXPECT_EQ(allocation->getGpuAddressToPatch(), cmd3dStateBtdCmd->getBtdStateBody().getMemoryBackedBufferBasePointer());
|
||||
EXPECT_EQ(RayTracingHelper::getMemoryBackedFifoSizeToPatch(), cmd3dStateBtdCmd->getPerDssMemoryBackedBufferSize());
|
||||
EXPECT_EQ(allocation->getGpuAddressToPatch(), cmd3dStateBtdCmd->getMemoryBackedBufferBasePointer());
|
||||
EXPECT_TRUE(commandStreamReceiver.isPerDssBackedBufferSent);
|
||||
|
||||
--cmd3dStateBtdIterator;
|
||||
|
|
|
@ -1183,8 +1183,8 @@ void EncodeSurfaceState<Family>::encodeExtraCacheSettings(R_SURFACE_STATE *surfa
|
|||
template <typename Family>
|
||||
void EncodeEnableRayTracing<Family>::programEnableRayTracing(LinearStream &commandStream, uint64_t backBuffer) {
|
||||
auto cmd = Family::cmd3dStateBtd;
|
||||
cmd.getBtdStateBody().setPerDssMemoryBackedBufferSize(static_cast<typename Family::_3DSTATE_BTD_BODY::PER_DSS_MEMORY_BACKED_BUFFER_SIZE>(RayTracingHelper::getMemoryBackedFifoSizeToPatch()));
|
||||
cmd.getBtdStateBody().setMemoryBackedBufferBasePointer(backBuffer);
|
||||
cmd.setPerDssMemoryBackedBufferSize(static_cast<typename Family::_3DSTATE_BTD::PER_DSS_MEMORY_BACKED_BUFFER_SIZE>(RayTracingHelper::getMemoryBackedFifoSizeToPatch()));
|
||||
cmd.setMemoryBackedBufferBasePointer(backBuffer);
|
||||
append3dStateBtd(&cmd);
|
||||
*commandStream.getSpaceForCmd<typename Family::_3DSTATE_BTD>() = cmd;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
* Copyright (C) 2021-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -17,7 +17,6 @@
|
|||
namespace NEO {
|
||||
|
||||
using _3DSTATE_BTD = typename Family::_3DSTATE_BTD;
|
||||
using _3DSTATE_BTD_BODY = typename Family::_3DSTATE_BTD_BODY;
|
||||
using PIPE_CONTROL = typename Family::PIPE_CONTROL;
|
||||
|
||||
template <>
|
||||
|
|
|
@ -4924,16 +4924,23 @@ typedef struct tagMI_FLUSH_DW {
|
|||
} MI_FLUSH_DW;
|
||||
STATIC_ASSERT(20 == sizeof(MI_FLUSH_DW));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD_BODY {
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
uint32_t DispatchTimeoutCounter : BITFIELD_RANGE(0, 2);
|
||||
uint32_t Reserved_3 : BITFIELD_RANGE(3, 6);
|
||||
uint32_t ControlsTheMaximumNumberOfOutstandingRayqueriesPerSs : BITFIELD_RANGE(7, 8);
|
||||
uint32_t Reserved_9 : BITFIELD_RANGE(9, 30);
|
||||
uint32_t BtdMidThreadPreemption : BITFIELD_RANGE(31, 31);
|
||||
// DWORD 1
|
||||
// DWORD 2
|
||||
uint64_t PerDssMemoryBackedBufferSize : BITFIELD_RANGE(0, 2);
|
||||
uint64_t Reserved_35 : BITFIELD_RANGE(3, 9);
|
||||
uint64_t MemoryBackedBufferBasePointer : BITFIELD_RANGE(10, 63);
|
||||
|
@ -4943,8 +4950,23 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
// DWORD 4
|
||||
uint64_t Reserved_128 : BITFIELD_RANGE(32, 63);
|
||||
} Common;
|
||||
uint32_t RawData[5];
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
typedef enum tagDISPATCH_TIMEOUT_COUNTER {
|
||||
DISPATCH_TIMEOUT_COUNTER_64 = 0x0,
|
||||
DISPATCH_TIMEOUT_COUNTER_128 = 0x1,
|
||||
|
@ -4972,17 +4994,22 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
} PER_DSS_MEMORY_BACKED_BUFFER_SIZE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.DispatchTimeoutCounter = DISPATCH_TIMEOUT_COUNTER_64;
|
||||
TheStructure.Common.ControlsTheMaximumNumberOfOutstandingRayqueriesPerSs = CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS_128;
|
||||
TheStructure.Common.PerDssMemoryBackedBufferSize = PER_DSS_MEMORY_BACKED_BUFFER_SIZE_2KB;
|
||||
}
|
||||
static tag_3DSTATE_BTD_BODY sInit() {
|
||||
_3DSTATE_BTD_BODY state;
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 5);
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setDispatchTimeoutCounter(const DISPATCH_TIMEOUT_COUNTER value) {
|
||||
|
@ -5029,63 +5056,6 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
inline uint64_t getScratchSpaceBuffer() const {
|
||||
return TheStructure.Common.ScratchSpaceBuffer << SCRATCHSPACEBUFFER_BIT_SHIFT;
|
||||
}
|
||||
} _3DSTATE_BTD_BODY;
|
||||
STATIC_ASSERT(20 == sizeof(_3DSTATE_BTD_BODY));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
_3DSTATE_BTD_BODY BtdStateBody;
|
||||
} Common;
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.BtdStateBody.init();
|
||||
}
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setBtdStateBody(const _3DSTATE_BTD_BODY &value) {
|
||||
TheStructure.Common.BtdStateBody = value;
|
||||
}
|
||||
inline _3DSTATE_BTD_BODY &getBtdStateBody() {
|
||||
return TheStructure.Common.BtdStateBody;
|
||||
}
|
||||
} _3DSTATE_BTD;
|
||||
STATIC_ASSERT(24 == sizeof(_3DSTATE_BTD));
|
||||
STATIC_ASSERT(NEO::TypeTraits::isPodV<_3DSTATE_BTD>); // patched
|
||||
|
|
|
@ -4911,17 +4911,24 @@ typedef struct tagMI_FLUSH_DW {
|
|||
} MI_FLUSH_DW;
|
||||
STATIC_ASSERT(20 == sizeof(MI_FLUSH_DW));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD_BODY {
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
uint32_t DispatchTimeoutCounter : BITFIELD_RANGE(0, 2);
|
||||
uint32_t Reserved_3 : BITFIELD_RANGE(3, 6);
|
||||
uint32_t ControlsTheMaximumNumberOfOutstandingRayqueriesPerSs : BITFIELD_RANGE(7, 8);
|
||||
uint32_t Reserved_9 : BITFIELD_RANGE(9, 29);
|
||||
uint32_t RtMemStructures64bModeEnable : BITFIELD_RANGE(30, 30);
|
||||
uint32_t BtdMidThreadPreemption : BITFIELD_RANGE(31, 31);
|
||||
// DWORD 1
|
||||
// DWORD 2
|
||||
uint64_t PerDssMemoryBackedBufferSize : BITFIELD_RANGE(0, 2);
|
||||
uint64_t Reserved_35 : BITFIELD_RANGE(3, 9);
|
||||
uint64_t MemoryBackedBufferBasePointer : BITFIELD_RANGE(10, 63);
|
||||
|
@ -4931,8 +4938,23 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
// DWORD 4
|
||||
uint64_t Reserved_128 : BITFIELD_RANGE(32, 63);
|
||||
} Common;
|
||||
uint32_t RawData[5];
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
typedef enum tagDISPATCH_TIMEOUT_COUNTER {
|
||||
DISPATCH_TIMEOUT_COUNTER_64 = 0x0,
|
||||
DISPATCH_TIMEOUT_COUNTER_128 = 0x1,
|
||||
|
@ -4960,17 +4982,22 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
} PER_DSS_MEMORY_BACKED_BUFFER_SIZE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.DispatchTimeoutCounter = DISPATCH_TIMEOUT_COUNTER_64;
|
||||
TheStructure.Common.ControlsTheMaximumNumberOfOutstandingRayqueriesPerSs = CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS_128;
|
||||
TheStructure.Common.PerDssMemoryBackedBufferSize = PER_DSS_MEMORY_BACKED_BUFFER_SIZE_2KB;
|
||||
}
|
||||
static tag_3DSTATE_BTD_BODY sInit() {
|
||||
_3DSTATE_BTD_BODY state;
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 5);
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setDispatchTimeoutCounter(const DISPATCH_TIMEOUT_COUNTER value) {
|
||||
|
@ -5023,63 +5050,6 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
inline uint64_t getScratchSpaceBuffer() const {
|
||||
return TheStructure.Common.ScratchSpaceBuffer << SCRATCHSPACEBUFFER_BIT_SHIFT;
|
||||
}
|
||||
} _3DSTATE_BTD_BODY;
|
||||
STATIC_ASSERT(20 == sizeof(_3DSTATE_BTD_BODY));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
_3DSTATE_BTD_BODY BtdStateBody;
|
||||
} Common;
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.BtdStateBody.init();
|
||||
}
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setBtdStateBody(const _3DSTATE_BTD_BODY &value) {
|
||||
TheStructure.Common.BtdStateBody = value;
|
||||
}
|
||||
inline _3DSTATE_BTD_BODY &getBtdStateBody() {
|
||||
return TheStructure.Common.BtdStateBody;
|
||||
}
|
||||
} _3DSTATE_BTD;
|
||||
STATIC_ASSERT(24 == sizeof(_3DSTATE_BTD));
|
||||
STATIC_ASSERT(NEO::TypeTraits::isPodV<_3DSTATE_BTD>); // patched
|
||||
|
|
|
@ -4903,15 +4903,22 @@ struct MI_FLUSH_DW {
|
|||
};
|
||||
STATIC_ASSERT(20 == sizeof(MI_FLUSH_DW));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD_BODY {
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
uint32_t DispatchTimeoutCounter : BITFIELD_RANGE(0, 1);
|
||||
uint32_t Reserved_2 : BITFIELD_RANGE(2, 2);
|
||||
uint32_t AmfsMode : BITFIELD_RANGE(3, 4);
|
||||
uint32_t Reserved_5 : BITFIELD_RANGE(5, 31);
|
||||
// DWORD 1
|
||||
// DWORD 2
|
||||
uint64_t PerDssMemoryBackedBufferSize : BITFIELD_RANGE(0, 2);
|
||||
uint64_t Reserved_35 : BITFIELD_RANGE(3, 9);
|
||||
uint64_t MemoryBackedBufferBasePointer : BITFIELD_RANGE(10, 63);
|
||||
|
@ -4922,8 +4929,23 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
// DWORD 4
|
||||
uint64_t Reserved_128 : BITFIELD_RANGE(32, 63);
|
||||
} Common;
|
||||
uint32_t RawData[5];
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
typedef enum tagAMFS_MODE {
|
||||
AMFS_MODE_NORMAL_MODE = 0x0,
|
||||
AMFS_MODE_TOUCH_MODE = 0x1,
|
||||
|
@ -4941,16 +4963,21 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
} PER_DSS_MEMORY_BACKED_BUFFER_SIZE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.AmfsMode = AMFS_MODE_NORMAL_MODE;
|
||||
TheStructure.Common.PerDssMemoryBackedBufferSize = PER_DSS_MEMORY_BACKED_BUFFER_SIZE_128KB;
|
||||
}
|
||||
static tag_3DSTATE_BTD_BODY sInit() {
|
||||
_3DSTATE_BTD_BODY state;
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 5);
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setDispatchTimeoutCounter(const uint32_t value) {
|
||||
|
@ -5001,63 +5028,6 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
inline uint64_t getBtdScratchSpaceBasePointer() const {
|
||||
return TheStructure.Common.BtdScratchSpaceBasePointer << BTDSCRATCHSPACEBASEPOINTER_BIT_SHIFT;
|
||||
}
|
||||
} _3DSTATE_BTD_BODY;
|
||||
STATIC_ASSERT(20 == sizeof(_3DSTATE_BTD_BODY));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
_3DSTATE_BTD_BODY BtdStateBody;
|
||||
} Common;
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.BtdStateBody.init();
|
||||
}
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setBtdStateBody(const _3DSTATE_BTD_BODY &value) {
|
||||
TheStructure.Common.BtdStateBody = value;
|
||||
}
|
||||
inline _3DSTATE_BTD_BODY &getBtdStateBody() {
|
||||
return TheStructure.Common.BtdStateBody;
|
||||
}
|
||||
} _3DSTATE_BTD;
|
||||
STATIC_ASSERT(24 == sizeof(_3DSTATE_BTD));
|
||||
STATIC_ASSERT(NEO::TypeTraits::isPodV<_3DSTATE_BTD>);
|
||||
|
|
|
@ -4657,15 +4657,22 @@ struct MI_FLUSH_DW {
|
|||
};
|
||||
STATIC_ASSERT(20 == sizeof(MI_FLUSH_DW));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD_BODY {
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
uint32_t DispatchTimeoutCounter : BITFIELD_RANGE(0, 1);
|
||||
uint32_t Reserved_2 : BITFIELD_RANGE(2, 2);
|
||||
uint32_t AmfsMode : BITFIELD_RANGE(3, 4);
|
||||
uint32_t Reserved_5 : BITFIELD_RANGE(5, 31);
|
||||
// DWORD 1
|
||||
// DWORD 2
|
||||
uint64_t PerDssMemoryBackedBufferSize : BITFIELD_RANGE(0, 2);
|
||||
uint64_t Reserved_35 : BITFIELD_RANGE(3, 9);
|
||||
uint64_t MemoryBackedBufferBasePointer : BITFIELD_RANGE(10, 63);
|
||||
|
@ -4676,8 +4683,23 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
// DWORD 4
|
||||
uint64_t Reserved_128 : BITFIELD_RANGE(32, 63);
|
||||
} Common;
|
||||
uint32_t RawData[5];
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
typedef enum tagAMFS_MODE {
|
||||
AMFS_MODE_NORMAL_MODE = 0x0,
|
||||
AMFS_MODE_TOUCH_MODE = 0x1,
|
||||
|
@ -4695,16 +4717,21 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
} PER_DSS_MEMORY_BACKED_BUFFER_SIZE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.AmfsMode = AMFS_MODE_NORMAL_MODE;
|
||||
TheStructure.Common.PerDssMemoryBackedBufferSize = PER_DSS_MEMORY_BACKED_BUFFER_SIZE_128KB;
|
||||
}
|
||||
static tag_3DSTATE_BTD_BODY sInit() {
|
||||
_3DSTATE_BTD_BODY state;
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 5);
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setDispatchTimeoutCounter(const uint32_t value) {
|
||||
|
@ -4755,63 +4782,6 @@ typedef struct tag_3DSTATE_BTD_BODY {
|
|||
inline uint64_t getBtdScratchSpaceBasePointer() const {
|
||||
return TheStructure.Common.BtdScratchSpaceBasePointer << BTDSCRATCHSPACEBASEPOINTER_BIT_SHIFT;
|
||||
}
|
||||
} _3DSTATE_BTD_BODY;
|
||||
STATIC_ASSERT(20 == sizeof(_3DSTATE_BTD_BODY));
|
||||
|
||||
typedef struct tag_3DSTATE_BTD {
|
||||
union tagTheStructure {
|
||||
struct tagCommon {
|
||||
// DWORD 0
|
||||
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
|
||||
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
|
||||
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
|
||||
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
|
||||
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
|
||||
uint32_t CommandType : BITFIELD_RANGE(29, 31);
|
||||
// DWORD 1
|
||||
_3DSTATE_BTD_BODY BtdStateBody;
|
||||
} Common;
|
||||
uint32_t RawData[6];
|
||||
} TheStructure;
|
||||
typedef enum tagDWORD_LENGTH {
|
||||
DWORD_LENGTH_DWORD_COUNT_N = 0x4,
|
||||
} DWORD_LENGTH;
|
||||
typedef enum tag_3D_COMMAND_SUB_OPCODE {
|
||||
_3D_COMMAND_SUB_OPCODE_3DSTATE_BTD = 0x6,
|
||||
} _3D_COMMAND_SUB_OPCODE;
|
||||
typedef enum tag_3D_COMMAND_OPCODE {
|
||||
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED = 0x1,
|
||||
} _3D_COMMAND_OPCODE;
|
||||
typedef enum tagCOMMAND_SUBTYPE {
|
||||
COMMAND_SUBTYPE_GFXPIPE_COMMON = 0x0,
|
||||
} COMMAND_SUBTYPE;
|
||||
typedef enum tagCOMMAND_TYPE {
|
||||
COMMAND_TYPE_GFXPIPE = 0x3,
|
||||
} COMMAND_TYPE;
|
||||
inline void init() {
|
||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||
TheStructure.Common.DwordLength = DWORD_LENGTH_DWORD_COUNT_N;
|
||||
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATE_BTD;
|
||||
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
|
||||
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
|
||||
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
|
||||
TheStructure.Common.BtdStateBody.init();
|
||||
}
|
||||
static tag_3DSTATE_BTD sInit() {
|
||||
_3DSTATE_BTD state;
|
||||
state.init();
|
||||
return state;
|
||||
}
|
||||
inline uint32_t &getRawData(const uint32_t index) {
|
||||
UNRECOVERABLE_IF(index >= 6);
|
||||
return TheStructure.RawData[index];
|
||||
}
|
||||
inline void setBtdStateBody(const _3DSTATE_BTD_BODY &value) {
|
||||
TheStructure.Common.BtdStateBody = value;
|
||||
}
|
||||
inline _3DSTATE_BTD_BODY &getBtdStateBody() {
|
||||
return TheStructure.Common.BtdStateBody;
|
||||
}
|
||||
} _3DSTATE_BTD;
|
||||
STATIC_ASSERT(24 == sizeof(_3DSTATE_BTD));
|
||||
STATIC_ASSERT(NEO::TypeTraits::isPodV<_3DSTATE_BTD>);
|
||||
|
|
|
@ -28,18 +28,18 @@ namespace NEO {
|
|||
template <>
|
||||
void EncodeEnableRayTracing<Family>::append3dStateBtd(void *ptr3dStateBtd) {
|
||||
using _3DSTATE_BTD = typename Family::_3DSTATE_BTD;
|
||||
using DISPATCH_TIMEOUT_COUNTER = typename Family::_3DSTATE_BTD_BODY::DISPATCH_TIMEOUT_COUNTER;
|
||||
using CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS = typename Family::_3DSTATE_BTD_BODY::CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS;
|
||||
using DISPATCH_TIMEOUT_COUNTER = typename Family::_3DSTATE_BTD::DISPATCH_TIMEOUT_COUNTER;
|
||||
using CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS = typename Family::_3DSTATE_BTD::CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS;
|
||||
auto cmd = static_cast<_3DSTATE_BTD *>(ptr3dStateBtd);
|
||||
if (debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.get() != -1) {
|
||||
auto value = static_cast<CONTROLS_THE_MAXIMUM_NUMBER_OF_OUTSTANDING_RAYQUERIES_PER_SS>(debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.get());
|
||||
DEBUG_BREAK_IF(value > 3);
|
||||
cmd->getBtdStateBody().setControlsTheMaximumNumberOfOutstandingRayqueriesPerSs(value);
|
||||
cmd->setControlsTheMaximumNumberOfOutstandingRayqueriesPerSs(value);
|
||||
}
|
||||
if (debugManager.flags.ForceDispatchTimeoutCounter.get() != -1) {
|
||||
auto value = static_cast<DISPATCH_TIMEOUT_COUNTER>(debugManager.flags.ForceDispatchTimeoutCounter.get());
|
||||
DEBUG_BREAK_IF(value > 7);
|
||||
cmd->getBtdStateBody().setDispatchTimeoutCounter(value);
|
||||
cmd->setDispatchTimeoutCounter(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -316,7 +316,6 @@ const Family::MEM_COPY Family::cmdInitXyCopyBlt = Family::MEM_COPY::sInit();
|
|||
const Family::XY_FAST_COLOR_BLT Family::cmdInitXyColorBlt = Family::XY_FAST_COLOR_BLT::sInit();
|
||||
const Family::STATE_PREFETCH Family::cmdInitStatePrefetch = Family::STATE_PREFETCH::sInit();
|
||||
const Family::_3DSTATE_BTD Family::cmd3dStateBtd = Family::_3DSTATE_BTD::sInit();
|
||||
const Family::_3DSTATE_BTD_BODY Family::cmd3dStateBtdBody = Family::_3DSTATE_BTD_BODY::sInit();
|
||||
const Family::MI_MEM_FENCE Family::cmdInitMemFence = Family::MI_MEM_FENCE::sInit();
|
||||
const Family::MEM_SET Family::cmdInitMemSet = Family::MEM_SET::sInit();
|
||||
const Family::STATE_SIP Family::cmdInitStateSip = Family::STATE_SIP::sInit();
|
||||
|
|
|
@ -142,7 +142,6 @@ struct Xe2HpgCoreFamily : public Xe2HpgCore {
|
|||
static const XY_FAST_COLOR_BLT cmdInitXyColorBlt;
|
||||
static const STATE_PREFETCH cmdInitStatePrefetch;
|
||||
static const _3DSTATE_BTD cmd3dStateBtd;
|
||||
static const _3DSTATE_BTD_BODY cmd3dStateBtdBody;
|
||||
static const MI_MEM_FENCE cmdInitMemFence;
|
||||
static const MEM_SET cmdInitMemSet;
|
||||
static const STATE_SIP cmdInitStateSip;
|
||||
|
|
|
@ -144,7 +144,6 @@ struct Xe3CoreFamily : public Xe3Core {
|
|||
static const XY_FAST_COLOR_BLT cmdInitXyColorBlt;
|
||||
static const STATE_PREFETCH cmdInitStatePrefetch;
|
||||
static const _3DSTATE_BTD cmd3dStateBtd;
|
||||
static const _3DSTATE_BTD_BODY cmd3dStateBtdBody;
|
||||
static const MI_MEM_FENCE cmdInitMemFence;
|
||||
static const MEM_SET cmdInitMemSet;
|
||||
static const STATE_SIP cmdInitStateSip;
|
||||
|
|
|
@ -344,7 +344,6 @@ const Family::MEM_COPY Family::cmdInitXyCopyBlt = Family::MEM_COPY::sInit();
|
|||
const Family::XY_FAST_COLOR_BLT Family::cmdInitXyColorBlt = Family::XY_FAST_COLOR_BLT::sInit();
|
||||
const Family::STATE_PREFETCH Family::cmdInitStatePrefetch = Family::STATE_PREFETCH::sInit();
|
||||
const Family::_3DSTATE_BTD Family::cmd3dStateBtd = Family::_3DSTATE_BTD::sInit();
|
||||
const Family::_3DSTATE_BTD_BODY Family::cmd3dStateBtdBody = Family::_3DSTATE_BTD_BODY::sInit();
|
||||
const Family::MI_MEM_FENCE Family::cmdInitMemFence = Family::MI_MEM_FENCE::sInit();
|
||||
const Family::MEM_SET Family::cmdInitMemSet = Family::MEM_SET::sInit();
|
||||
const Family::STATE_SIP Family::cmdInitStateSip = Family::STATE_SIP::sInit();
|
||||
|
|
|
@ -124,7 +124,6 @@ struct XeHpcCoreFamily : public XeHpcCore {
|
|||
static const XY_FAST_COLOR_BLT cmdInitXyColorBlt;
|
||||
static const STATE_PREFETCH cmdInitStatePrefetch;
|
||||
static const _3DSTATE_BTD cmd3dStateBtd;
|
||||
static const _3DSTATE_BTD_BODY cmd3dStateBtdBody;
|
||||
static const MI_MEM_FENCE cmdInitMemFence;
|
||||
static const MEM_SET cmdInitMemSet;
|
||||
static const STATE_SIP cmdInitStateSip;
|
||||
|
|
|
@ -190,6 +190,5 @@ const Family::XY_BLOCK_COPY_BLT Family::cmdInitXyBlockCopyBlt = Family::XY_BLOCK
|
|||
const Family::XY_BLOCK_COPY_BLT Family::cmdInitXyCopyBlt = Family::XY_BLOCK_COPY_BLT::sInit();
|
||||
const Family::XY_FAST_COLOR_BLT Family::cmdInitXyColorBlt = Family::XY_FAST_COLOR_BLT::sInit();
|
||||
const Family::_3DSTATE_BTD Family::cmd3dStateBtd = Family::_3DSTATE_BTD::sInit();
|
||||
const Family::_3DSTATE_BTD_BODY Family::cmd3dStateBtdBody = Family::_3DSTATE_BTD_BODY::sInit();
|
||||
const Family::STATE_SIP Family::cmdInitStateSip = Family::STATE_SIP::sInit();
|
||||
} // namespace NEO
|
||||
|
|
|
@ -145,7 +145,6 @@ struct XeHpgCoreFamily : public XeHpgCore {
|
|||
static const XY_BLOCK_COPY_BLT cmdInitXyCopyBlt;
|
||||
static const XY_FAST_COLOR_BLT cmdInitXyColorBlt;
|
||||
static const _3DSTATE_BTD cmd3dStateBtd;
|
||||
static const _3DSTATE_BTD_BODY cmd3dStateBtdBody;
|
||||
static const STATE_SIP cmdInitStateSip;
|
||||
static constexpr bool isQwordInOrderCounter = false;
|
||||
static constexpr bool walkerPostSyncSupport = true;
|
||||
|
|
|
@ -3592,8 +3592,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||
auto btdStateCmd = hwParserCsr.getCommand<_3DSTATE_BTD>();
|
||||
ASSERT_NE(nullptr, btdStateCmd);
|
||||
|
||||
auto &btdStateBody = btdStateCmd->getBtdStateBody();
|
||||
EXPECT_EQ(rtAllocationAddress, btdStateBody.getMemoryBackedBufferBasePointer());
|
||||
EXPECT_EQ(rtAllocationAddress, btdStateCmd->getMemoryBackedBufferBasePointer());
|
||||
|
||||
uint32_t residentCount = 1;
|
||||
commandStreamReceiver.isMadeResident(rtAllocation, residentCount);
|
||||
|
|
|
@ -18,7 +18,7 @@ using namespace NEO;
|
|||
|
||||
using CommandEncodeEnableRayTracing = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(CommandEncodeEnableRayTracing, givenDefaultDebugFlagsWhenProgramEnableRayTracingThenBtdStateBodyIsSetProperly, IsXe2HpgCore) {
|
||||
HWTEST2_F(CommandEncodeEnableRayTracing, givenDefaultDebugFlagsWhenProgramEnableRayTracingThenBtdStateIsSetProperly, IsXe2HpgCore) {
|
||||
using _3DSTATE_BTD = typename FamilyType::_3DSTATE_BTD;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.set(-1);
|
||||
|
@ -41,11 +41,11 @@ HWTEST2_F(CommandEncodeEnableRayTracing, givenDefaultDebugFlagsWhenProgramEnable
|
|||
ASSERT_NE(iterator3dStateBtd, commands.end());
|
||||
|
||||
auto cmd3dStateBtd = genCmdCast<_3DSTATE_BTD *>(*iterator3dStateBtd);
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getBtdStateBody().getControlsTheMaximumNumberOfOutstandingRayqueriesPerSs()), 0);
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getBtdStateBody().getDispatchTimeoutCounter()), 0);
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getControlsTheMaximumNumberOfOutstandingRayqueriesPerSs()), 0);
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getDispatchTimeoutCounter()), 0);
|
||||
}
|
||||
|
||||
HWTEST2_F(CommandEncodeEnableRayTracing, givenDebugFlagsWhenProgramEnableRayTracingThenBtdStateBodyIsSetProperly, IsXe2HpgCore) {
|
||||
HWTEST2_F(CommandEncodeEnableRayTracing, givenDebugFlagsWhenProgramEnableRayTracingThenBtdStateIsSetProperly, IsXe2HpgCore) {
|
||||
using _3DSTATE_BTD = typename FamilyType::_3DSTATE_BTD;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.set(1);
|
||||
|
@ -68,6 +68,6 @@ HWTEST2_F(CommandEncodeEnableRayTracing, givenDebugFlagsWhenProgramEnableRayTrac
|
|||
ASSERT_NE(iterator3dStateBtd, commands.end());
|
||||
|
||||
auto cmd3dStateBtd = genCmdCast<_3DSTATE_BTD *>(*iterator3dStateBtd);
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getBtdStateBody().getControlsTheMaximumNumberOfOutstandingRayqueriesPerSs()), debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.get());
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getBtdStateBody().getDispatchTimeoutCounter()), debugManager.flags.ForceDispatchTimeoutCounter.get());
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getControlsTheMaximumNumberOfOutstandingRayqueriesPerSs()), debugManager.flags.ForceTheMaximumNumberOfOutstandingRayqueriesPerSs.get());
|
||||
EXPECT_EQ(static_cast<int32_t>(cmd3dStateBtd->getDispatchTimeoutCounter()), debugManager.flags.ForceDispatchTimeoutCounter.get());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue