Encode dispatch kernel with global bindless heaps

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2020-11-26 09:04:26 +00:00
committed by Compute-Runtime-Automation
parent be90b9ff93
commit 7a5c9d39b5
14 changed files with 478 additions and 149 deletions

View File

@@ -5344,4 +5344,61 @@ typedef struct tagASYNC_SLICE_COUNT_SELECT_REGISTER {
} ASYNC_SLICE_COUNT_SELECT_REGISTER;
STATIC_ASSERT(4 == sizeof(ASYNC_SLICE_COUNT_SELECT_REGISTER));
typedef struct tagSAMPLER_BORDER_COLOR_STATE {
union tagTheStructure {
struct tagCommon {
// DWORD 0
float BorderColorRed;
// DWORD 1
float BorderColorGreen;
// DWORD 2
float BorderColorBlue;
// DWORD 3
float BorderColorAlpha;
} Common;
uint32_t RawData[4];
} TheStructure;
inline void init(void) {
memset(&TheStructure, 0, sizeof(TheStructure));
TheStructure.Common.BorderColorRed = 0.0;
TheStructure.Common.BorderColorGreen = 0.0;
TheStructure.Common.BorderColorBlue = 0.0;
TheStructure.Common.BorderColorAlpha = 0.0;
}
static tagSAMPLER_BORDER_COLOR_STATE sInit(void) {
SAMPLER_BORDER_COLOR_STATE state;
state.init();
return state;
}
inline uint32_t &getRawData(const uint32_t index) {
UNRECOVERABLE_IF(index >= 4);
return TheStructure.RawData[index];
}
inline void setBorderColorRed(const float value) {
TheStructure.Common.BorderColorRed = value;
}
inline float getBorderColorRed(void) const {
return TheStructure.Common.BorderColorRed;
}
inline void setBorderColorGreen(const float value) {
TheStructure.Common.BorderColorGreen = value;
}
inline float getBorderColorGreen(void) const {
return TheStructure.Common.BorderColorGreen;
}
inline void setBorderColorBlue(const float value) {
TheStructure.Common.BorderColorBlue = value;
}
inline float getBorderColorBlue(void) const {
return TheStructure.Common.BorderColorBlue;
}
inline void setBorderColorAlpha(const float value) {
TheStructure.Common.BorderColorAlpha = value;
}
inline float getBorderColorAlpha(void) const {
return TheStructure.Common.BorderColorAlpha;
}
} SAMPLER_BORDER_COLOR_STATE;
STATIC_ASSERT(16 == sizeof(SAMPLER_BORDER_COLOR_STATE));
#pragma pack()

View File

@@ -6003,4 +6003,61 @@ typedef struct tagXY_FAST_COLOR_BLT {
} XY_FAST_COLOR_BLT;
STATIC_ASSERT(48 == sizeof(XY_FAST_COLOR_BLT));
typedef struct tagSAMPLER_BORDER_COLOR_STATE {
union tagTheStructure {
struct tagCommon {
// DWORD 0
float BorderColorRed;
// DWORD 1
float BorderColorGreen;
// DWORD 2
float BorderColorBlue;
// DWORD 3
float BorderColorAlpha;
} Common;
uint32_t RawData[4];
} TheStructure;
inline void init(void) {
memset(&TheStructure, 0, sizeof(TheStructure));
TheStructure.Common.BorderColorRed = 0.0;
TheStructure.Common.BorderColorGreen = 0.0;
TheStructure.Common.BorderColorBlue = 0.0;
TheStructure.Common.BorderColorAlpha = 0.0;
}
static tagSAMPLER_BORDER_COLOR_STATE sInit(void) {
SAMPLER_BORDER_COLOR_STATE state;
state.init();
return state;
}
inline uint32_t &getRawData(const uint32_t index) {
UNRECOVERABLE_IF(index >= 4);
return TheStructure.RawData[index];
}
inline void setBorderColorRed(const float value) {
TheStructure.Common.BorderColorRed = value;
}
inline float getBorderColorRed(void) const {
return TheStructure.Common.BorderColorRed;
}
inline void setBorderColorGreen(const float value) {
TheStructure.Common.BorderColorGreen = value;
}
inline float getBorderColorGreen(void) const {
return TheStructure.Common.BorderColorGreen;
}
inline void setBorderColorBlue(const float value) {
TheStructure.Common.BorderColorBlue = value;
}
inline float getBorderColorBlue(void) const {
return TheStructure.Common.BorderColorBlue;
}
inline void setBorderColorAlpha(const float value) {
TheStructure.Common.BorderColorAlpha = value;
}
inline float getBorderColorAlpha(void) const {
return TheStructure.Common.BorderColorAlpha;
}
} SAMPLER_BORDER_COLOR_STATE;
STATIC_ASSERT(16 == sizeof(SAMPLER_BORDER_COLOR_STATE));
#pragma pack()

View File

@@ -4881,4 +4881,61 @@ typedef struct tagGPGPU_CSR_BASE_ADDRESS {
} GPGPU_CSR_BASE_ADDRESS;
STATIC_ASSERT(12 == sizeof(GPGPU_CSR_BASE_ADDRESS));
typedef struct tagSAMPLER_BORDER_COLOR_STATE {
union tagTheStructure {
struct tagCommon {
// DWORD 0
float BorderColorRed;
// DWORD 1
float BorderColorGreen;
// DWORD 2
float BorderColorBlue;
// DWORD 3
float BorderColorAlpha;
} Common;
uint32_t RawData[4];
} TheStructure;
inline void init(void) {
memset(&TheStructure, 0, sizeof(TheStructure));
TheStructure.Common.BorderColorRed = 0.0;
TheStructure.Common.BorderColorGreen = 0.0;
TheStructure.Common.BorderColorBlue = 0.0;
TheStructure.Common.BorderColorAlpha = 0.0;
}
static tagSAMPLER_BORDER_COLOR_STATE sInit(void) {
SAMPLER_BORDER_COLOR_STATE state;
state.init();
return state;
}
inline uint32_t &getRawData(const uint32_t index) {
UNRECOVERABLE_IF(index >= 4);
return TheStructure.RawData[index];
}
inline void setBorderColorRed(const float value) {
TheStructure.Common.BorderColorRed = value;
}
inline float getBorderColorRed(void) const {
return TheStructure.Common.BorderColorRed;
}
inline void setBorderColorGreen(const float value) {
TheStructure.Common.BorderColorGreen = value;
}
inline float getBorderColorGreen(void) const {
return TheStructure.Common.BorderColorGreen;
}
inline void setBorderColorBlue(const float value) {
TheStructure.Common.BorderColorBlue = value;
}
inline float getBorderColorBlue(void) const {
return TheStructure.Common.BorderColorBlue;
}
inline void setBorderColorAlpha(const float value) {
TheStructure.Common.BorderColorAlpha = value;
}
inline float getBorderColorAlpha(void) const {
return TheStructure.Common.BorderColorAlpha;
}
} SAMPLER_BORDER_COLOR_STATE;
STATIC_ASSERT(16 == sizeof(SAMPLER_BORDER_COLOR_STATE));
#pragma pack()

View File

@@ -5038,4 +5038,61 @@ typedef struct tagMI_STORE_DATA_IMM {
} MI_STORE_DATA_IMM;
STATIC_ASSERT(20 == sizeof(MI_STORE_DATA_IMM));
typedef struct tagSAMPLER_BORDER_COLOR_STATE {
union tagTheStructure {
struct tagCommon {
// DWORD 0
float BorderColorRed;
// DWORD 1
float BorderColorGreen;
// DWORD 2
float BorderColorBlue;
// DWORD 3
float BorderColorAlpha;
} Common;
uint32_t RawData[4];
} TheStructure;
inline void init(void) {
memset(&TheStructure, 0, sizeof(TheStructure));
TheStructure.Common.BorderColorRed = 0.0;
TheStructure.Common.BorderColorGreen = 0.0;
TheStructure.Common.BorderColorBlue = 0.0;
TheStructure.Common.BorderColorAlpha = 0.0;
}
static tagSAMPLER_BORDER_COLOR_STATE sInit(void) {
SAMPLER_BORDER_COLOR_STATE state;
state.init();
return state;
}
inline uint32_t &getRawData(const uint32_t index) {
UNRECOVERABLE_IF(index >= 4);
return TheStructure.RawData[index];
}
inline void setBorderColorRed(const float value) {
TheStructure.Common.BorderColorRed = value;
}
inline float getBorderColorRed(void) const {
return TheStructure.Common.BorderColorRed;
}
inline void setBorderColorGreen(const float value) {
TheStructure.Common.BorderColorGreen = value;
}
inline float getBorderColorGreen(void) const {
return TheStructure.Common.BorderColorGreen;
}
inline void setBorderColorBlue(const float value) {
TheStructure.Common.BorderColorBlue = value;
}
inline float getBorderColorBlue(void) const {
return TheStructure.Common.BorderColorBlue;
}
inline void setBorderColorAlpha(const float value) {
TheStructure.Common.BorderColorAlpha = value;
}
inline float getBorderColorAlpha(void) const {
return TheStructure.Common.BorderColorAlpha;
}
} SAMPLER_BORDER_COLOR_STATE;
STATIC_ASSERT(16 == sizeof(SAMPLER_BORDER_COLOR_STATE));
#pragma pack()