intel: Rename GEN:BUG:### to Wa_###
Commands used to do the changes: export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965" grep -E "GEN:BUG:" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN\(:BUG:\)/Wa_/g" Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9936>
This commit is contained in:
@@ -410,7 +410,7 @@ flush_before_state_base_change(struct iris_batch *batch)
|
|||||||
PIPE_CONTROL_RENDER_TARGET_FLUSH |
|
PIPE_CONTROL_RENDER_TARGET_FLUSH |
|
||||||
PIPE_CONTROL_DEPTH_CACHE_FLUSH |
|
PIPE_CONTROL_DEPTH_CACHE_FLUSH |
|
||||||
PIPE_CONTROL_DATA_CACHE_FLUSH |
|
PIPE_CONTROL_DATA_CACHE_FLUSH |
|
||||||
/* GEN:BUG:1606662791:
|
/* Wa_1606662791:
|
||||||
*
|
*
|
||||||
* Software must program PIPE_CONTROL command
|
* Software must program PIPE_CONTROL command
|
||||||
* with "HDC Pipeline Flush" prior to
|
* with "HDC Pipeline Flush" prior to
|
||||||
@@ -1091,7 +1091,7 @@ iris_init_compute_context(struct iris_batch *batch)
|
|||||||
|
|
||||||
iris_batch_sync_region_start(batch);
|
iris_batch_sync_region_start(batch);
|
||||||
|
|
||||||
/* GEN:BUG:1607854226:
|
/* Wa_1607854226:
|
||||||
*
|
*
|
||||||
* Start with pipeline in 3D mode to set the STATE_BASE_ADDRESS.
|
* Start with pipeline in 3D mode to set the STATE_BASE_ADDRESS.
|
||||||
*/
|
*/
|
||||||
@@ -4383,7 +4383,7 @@ iris_store_tcs_state(const struct gen_device_info *devinfo,
|
|||||||
INIT_THREAD_DISPATCH_FIELDS(hs, Vertex, MESA_SHADER_TESS_CTRL);
|
INIT_THREAD_DISPATCH_FIELDS(hs, Vertex, MESA_SHADER_TESS_CTRL);
|
||||||
|
|
||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
/* GEN:BUG:1604578095:
|
/* Wa_1604578095:
|
||||||
*
|
*
|
||||||
* Hang occurs when the number of max threads is less than 2 times
|
* Hang occurs when the number of max threads is less than 2 times
|
||||||
* the number of instance count. The number of max threads must be
|
* the number of instance count. The number of max threads must be
|
||||||
@@ -5312,7 +5312,7 @@ iris_update_surface_base_address(struct iris_batch *batch,
|
|||||||
flush_before_state_base_change(batch);
|
flush_before_state_base_change(batch);
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:1607854226:
|
/* Wa_1607854226:
|
||||||
*
|
*
|
||||||
* Workaround the non pipelined state not applying in MEDIA/GPGPU pipeline
|
* Workaround the non pipelined state not applying in MEDIA/GPGPU pipeline
|
||||||
* mode by putting the pipeline temporarily in 3D mode..
|
* mode by putting the pipeline temporarily in 3D mode..
|
||||||
@@ -5340,7 +5340,7 @@ iris_update_surface_base_address(struct iris_batch *batch,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:1607854226:
|
/* Wa_1607854226:
|
||||||
*
|
*
|
||||||
* Put the pipeline back into compute mode.
|
* Put the pipeline back into compute mode.
|
||||||
*/
|
*/
|
||||||
@@ -5747,7 +5747,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GEN:BUG:1604061319
|
/* Wa_1604061319
|
||||||
*
|
*
|
||||||
* 3DSTATE_CONSTANT_* needs to be programmed before BTP_*
|
* 3DSTATE_CONSTANT_* needs to be programmed before BTP_*
|
||||||
*
|
*
|
||||||
@@ -6190,7 +6190,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dirty & IRIS_DIRTY_SCISSOR_RECT) {
|
if (dirty & IRIS_DIRTY_SCISSOR_RECT) {
|
||||||
/* GEN:BUG:1409725701:
|
/* Wa_1409725701:
|
||||||
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
||||||
* stored as an array of up to 16 elements. The location of first
|
* stored as an array of up to 16 elements. The location of first
|
||||||
* element of the array, as specified by Pointer to SCISSOR_RECT,
|
* element of the array, as specified by Pointer to SCISSOR_RECT,
|
||||||
@@ -6219,7 +6219,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
|||||||
uint32_t cso_z_size = batch->screen->isl_dev.ds.size - clear_length;;
|
uint32_t cso_z_size = batch->screen->isl_dev.ds.size - clear_length;;
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:14010455700
|
/* Wa_14010455700
|
||||||
*
|
*
|
||||||
* ISL will change some CHICKEN registers depending on the depth surface
|
* ISL will change some CHICKEN registers depending on the depth surface
|
||||||
* format, along with emitting the depth and stencil packets. In that
|
* format, along with emitting the depth and stencil packets. In that
|
||||||
@@ -6234,7 +6234,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
|||||||
|
|
||||||
iris_batch_emit(batch, cso_z->packets, cso_z_size);
|
iris_batch_emit(batch, cso_z->packets, cso_z_size);
|
||||||
if (GFX_VER >= 12) {
|
if (GFX_VER >= 12) {
|
||||||
/* GEN:BUG:1408224581
|
/* Wa_1408224581
|
||||||
*
|
*
|
||||||
* Workaround: Gfx12LP Astep only An additional pipe control with
|
* Workaround: Gfx12LP Astep only An additional pipe control with
|
||||||
* post-sync = store dword operation would be required.( w/a is to
|
* post-sync = store dword operation would be required.( w/a is to
|
||||||
@@ -7401,7 +7401,7 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
|||||||
0, NULL, 0, 0);
|
0, NULL, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GEN:BUG:1409226450, Wait for EU to be idle before pipe control which
|
/* Wa_1409226450, Wait for EU to be idle before pipe control which
|
||||||
* invalidates the instruction cache
|
* invalidates the instruction cache
|
||||||
*/
|
*/
|
||||||
if (GFX_VER == 12 && (flags & PIPE_CONTROL_INSTRUCTION_INVALIDATE)) {
|
if (GFX_VER == 12 && (flags & PIPE_CONTROL_INSTRUCTION_INVALIDATE)) {
|
||||||
@@ -7424,7 +7424,7 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
|||||||
*
|
*
|
||||||
* The same text exists a few rows below for Post Sync Op.
|
* The same text exists a few rows below for Post Sync Op.
|
||||||
*
|
*
|
||||||
* On Gfx12 this is GEN:BUG:1607156449.
|
* On Gfx12 this is Wa_1607156449.
|
||||||
*/
|
*/
|
||||||
iris_emit_raw_pipe_control(batch,
|
iris_emit_raw_pipe_control(batch,
|
||||||
"workaround: CS stall before gpgpu post-sync",
|
"workaround: CS stall before gpgpu post-sync",
|
||||||
@@ -7706,7 +7706,7 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (GFX_VER >= 12 && (flags & PIPE_CONTROL_DEPTH_CACHE_FLUSH)) {
|
if (GFX_VER >= 12 && (flags & PIPE_CONTROL_DEPTH_CACHE_FLUSH)) {
|
||||||
/* GEN:BUG:1409600907:
|
/* Wa_1409600907:
|
||||||
*
|
*
|
||||||
* "PIPE_CONTROL with Depth Stall Enable bit must be set
|
* "PIPE_CONTROL with Depth Stall Enable bit must be set
|
||||||
* with any PIPE_CONTROL with Depth Flush Enable bit set.
|
* with any PIPE_CONTROL with Depth Flush Enable bit set.
|
||||||
|
@@ -1698,7 +1698,7 @@ blorp_emit_depth_stencil_config(struct blorp_batch *batch,
|
|||||||
isl_emit_depth_stencil_hiz_s(isl_dev, dw, &info);
|
isl_emit_depth_stencil_hiz_s(isl_dev, dw, &info);
|
||||||
|
|
||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
/* GEN:BUG:1408224581
|
/* Wa_1408224581
|
||||||
*
|
*
|
||||||
* Workaround: Gfx12LP Astep only An additional pipe control with
|
* Workaround: Gfx12LP Astep only An additional pipe control with
|
||||||
* post-sync = store dword operation would be required.( w/a is to
|
* post-sync = store dword operation would be required.( w/a is to
|
||||||
@@ -1872,7 +1872,7 @@ blorp_update_clear_color(UNUSED struct blorp_batch *batch,
|
|||||||
}
|
}
|
||||||
#elif GFX_VER >= 9
|
#elif GFX_VER >= 9
|
||||||
|
|
||||||
/* According to GEN:BUG:2201730850, in the Clear Color Programming Note
|
/* According to Wa_2201730850, in the Clear Color Programming Note
|
||||||
* under the Red channel, "Software shall write the converted Depth
|
* under the Red channel, "Software shall write the converted Depth
|
||||||
* Clear to this dword." The only depth formats listed under the red
|
* Clear to this dword." The only depth formats listed under the red
|
||||||
* channel are IEEE_FP and UNORM24_X8. These two requirements are
|
* channel are IEEE_FP and UNORM24_X8. These two requirements are
|
||||||
|
@@ -1912,7 +1912,7 @@ instruction_restrictions(const struct gen_device_info *devinfo,
|
|||||||
{
|
{
|
||||||
struct string error_msg = { .str = NULL, .len = 0 };
|
struct string error_msg = { .str = NULL, .len = 0 };
|
||||||
|
|
||||||
/* From GEN:BUG:1604601757:
|
/* From Wa_1604601757:
|
||||||
*
|
*
|
||||||
* "When multiplying a DW and any lower precision integer, source modifier
|
* "When multiplying a DW and any lower precision integer, source modifier
|
||||||
* is not supported."
|
* is not supported."
|
||||||
|
@@ -439,7 +439,7 @@ fs_inst::can_do_source_mods(const struct gen_device_info *devinfo) const
|
|||||||
if (is_send_from_grf())
|
if (is_send_from_grf())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* From GEN:BUG:1604601757:
|
/* From Wa_1604601757:
|
||||||
*
|
*
|
||||||
* "When multiplying a DW and any lower precision integer, source modifier
|
* "When multiplying a DW and any lower precision integer, source modifier
|
||||||
* is not supported."
|
* is not supported."
|
||||||
@@ -4024,7 +4024,7 @@ fs_visitor::lower_mul_dword_inst(fs_inst *inst, bblock_t *block)
|
|||||||
high.offset = inst->dst.offset % REG_SIZE;
|
high.offset = inst->dst.offset % REG_SIZE;
|
||||||
|
|
||||||
if (devinfo->ver >= 7) {
|
if (devinfo->ver >= 7) {
|
||||||
/* From GEN:BUG:1604601757:
|
/* From Wa_1604601757:
|
||||||
*
|
*
|
||||||
* "When multiplying a DW and any lower precision integer, source modifier
|
* "When multiplying a DW and any lower precision integer, source modifier
|
||||||
* is not supported."
|
* is not supported."
|
||||||
@@ -8076,7 +8076,7 @@ find_halt_control_flow_region_start(const fs_visitor *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Work around the Gfx12 hardware bug filed as GEN:BUG:1407528679. EU fusion
|
* Work around the Gfx12 hardware bug filed as Wa_1407528679. EU fusion
|
||||||
* can cause a BB to be executed with all channels disabled, which will lead
|
* can cause a BB to be executed with all channels disabled, which will lead
|
||||||
* to the execution of any NoMask instructions in it, even though any
|
* to the execution of any NoMask instructions in it, even though any
|
||||||
* execution-masked instructions will be correctly shot down. This may break
|
* execution-masked instructions will be correctly shot down. This may break
|
||||||
|
@@ -1943,7 +1943,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width,
|
|||||||
nop_count++;
|
nop_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GEN:BUG:14010017096:
|
/* Wa_14010017096:
|
||||||
*
|
*
|
||||||
* Clear accumulator register before end of thread.
|
* Clear accumulator register before end of thread.
|
||||||
*/
|
*/
|
||||||
|
@@ -335,7 +335,7 @@ namespace {
|
|||||||
* Whether the dependency could be run with execution masking disabled,
|
* Whether the dependency could be run with execution masking disabled,
|
||||||
* which might lead to the unwanted execution of the generating
|
* which might lead to the unwanted execution of the generating
|
||||||
* instruction in cases where a BB is executed with all channels
|
* instruction in cases where a BB is executed with all channels
|
||||||
* disabled due to hardware bug GEN:BUG:1407528679.
|
* disabled due to hardware bug Wa_1407528679.
|
||||||
*/
|
*/
|
||||||
bool exec_all;
|
bool exec_all;
|
||||||
|
|
||||||
@@ -1024,7 +1024,7 @@ namespace {
|
|||||||
* possible, except in cases where the current instruction
|
* possible, except in cases where the current instruction
|
||||||
* isn't marked NoMask but the dependency is, since that
|
* isn't marked NoMask but the dependency is, since that
|
||||||
* might lead to data coherency issues due to
|
* might lead to data coherency issues due to
|
||||||
* GEN:BUG:1407528679.
|
* Wa_1407528679.
|
||||||
*/
|
*/
|
||||||
swsb.sbid = dep.id;
|
swsb.sbid = dep.id;
|
||||||
swsb.mode = dep.unordered;
|
swsb.mode = dep.unordered;
|
||||||
@@ -1051,7 +1051,7 @@ namespace {
|
|||||||
/* If the current instruction is not marked NoMask but an
|
/* If the current instruction is not marked NoMask but an
|
||||||
* ordered dependency is, perform the synchronization as a
|
* ordered dependency is, perform the synchronization as a
|
||||||
* separate NoMask SYNC instruction in order to avoid data
|
* separate NoMask SYNC instruction in order to avoid data
|
||||||
* coherency issues due to GEN:BUG:1407528679. The similar
|
* coherency issues due to Wa_1407528679. The similar
|
||||||
* scenario with unordered dependencies should have been
|
* scenario with unordered dependencies should have been
|
||||||
* handled above.
|
* handled above.
|
||||||
*/
|
*/
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
#include "brw_nir.h"
|
#include "brw_nir.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GEN:BUG:1806565034:
|
* Wa_1806565034:
|
||||||
*
|
*
|
||||||
* Gfx12+ allows to set RENDER_SURFACE_STATE::SurfaceArray to 1 only if
|
* Gfx12+ allows to set RENDER_SURFACE_STATE::SurfaceArray to 1 only if
|
||||||
* array_len > 1. Setting RENDER_SURFACE_STATE::SurfaceArray to 0 results in
|
* array_len > 1. Setting RENDER_SURFACE_STATE::SurfaceArray to 0 results in
|
||||||
|
@@ -2012,7 +2012,7 @@ isl_surf_supports_ccs(const struct isl_device *dev,
|
|||||||
if (surf->row_pitch_B % 512 != 0)
|
if (surf->row_pitch_B % 512 != 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* According to GEN:BUG:1406738321, 3D textures need a blit to a new
|
/* According to Wa_1406738321, 3D textures need a blit to a new
|
||||||
* surface in order to perform a resolve. For now, just disable CCS.
|
* surface in order to perform a resolve. For now, just disable CCS.
|
||||||
*/
|
*/
|
||||||
if (surf->dim == ISL_SURF_DIM_3D) {
|
if (surf->dim == ISL_SURF_DIM_3D) {
|
||||||
@@ -2021,7 +2021,7 @@ isl_surf_supports_ccs(const struct isl_device *dev,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GEN:BUG:1207137018
|
/* Wa_1207137018
|
||||||
*
|
*
|
||||||
* TODO: implement following workaround currently covered by the
|
* TODO: implement following workaround currently covered by the
|
||||||
* restriction above. If following conditions are met:
|
* restriction above. If following conditions are met:
|
||||||
|
@@ -305,7 +305,7 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
|
|||||||
dw += GENX(3DSTATE_HIER_DEPTH_BUFFER_length);
|
dw += GENX(3DSTATE_HIER_DEPTH_BUFFER_length);
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:14010455700
|
/* Wa_14010455700
|
||||||
*
|
*
|
||||||
* To avoid sporadic corruptions “Set 0x7010[9] when Depth Buffer Surface
|
* To avoid sporadic corruptions “Set 0x7010[9] when Depth Buffer Surface
|
||||||
* Format is D16_UNORM , surface type is not NULL & 1X_MSAA”.
|
* Format is D16_UNORM , surface type is not NULL & 1X_MSAA”.
|
||||||
@@ -328,7 +328,7 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
|
|||||||
GENX(MI_LOAD_REGISTER_IMM_pack)(NULL, dw, &lri);
|
GENX(MI_LOAD_REGISTER_IMM_pack)(NULL, dw, &lri);
|
||||||
dw += GENX(MI_LOAD_REGISTER_IMM_length);
|
dw += GENX(MI_LOAD_REGISTER_IMM_length);
|
||||||
|
|
||||||
/* GEN:BUG:1806527549
|
/* Wa_1806527549
|
||||||
*
|
*
|
||||||
* Set HIZ_CHICKEN (7018h) bit 13 = 1 when depth buffer is D16_UNORM.
|
* Set HIZ_CHICKEN (7018h) bit 13 = 1 when depth buffer is D16_UNORM.
|
||||||
*/
|
*/
|
||||||
|
@@ -435,7 +435,7 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
/* GEN:BUG:1806565034: Only set SurfaceArray if arrayed surface is > 1. */
|
/* Wa_1806565034: Only set SurfaceArray if arrayed surface is > 1. */
|
||||||
s.SurfaceArray = info->surf->dim != ISL_SURF_DIM_3D &&
|
s.SurfaceArray = info->surf->dim != ISL_SURF_DIM_3D &&
|
||||||
info->view->array_len > 1;
|
info->view->array_len > 1;
|
||||||
#elif GFX_VER >= 7
|
#elif GFX_VER >= 7
|
||||||
|
@@ -75,7 +75,7 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
pc.TileCacheFlushEnable = true;
|
pc.TileCacheFlushEnable = true;
|
||||||
#endif
|
#endif
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:1606662791:
|
/* Wa_1606662791:
|
||||||
*
|
*
|
||||||
* Software must program PIPE_CONTROL command with "HDC Pipeline
|
* Software must program PIPE_CONTROL command with "HDC Pipeline
|
||||||
* Flush" prior to programming of the below two non-pipeline state :
|
* Flush" prior to programming of the below two non-pipeline state :
|
||||||
@@ -88,7 +88,7 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:1607854226:
|
/* Wa_1607854226:
|
||||||
*
|
*
|
||||||
* Workaround the non pipelined state not applying in MEDIA/GPGPU pipeline
|
* Workaround the non pipelined state not applying in MEDIA/GPGPU pipeline
|
||||||
* mode by putting the pipeline temporarily in 3D mode.
|
* mode by putting the pipeline temporarily in 3D mode.
|
||||||
@@ -185,7 +185,7 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:1607854226:
|
/* Wa_1607854226:
|
||||||
*
|
*
|
||||||
* Put the pipeline back into its current mode.
|
* Put the pipeline back into its current mode.
|
||||||
*/
|
*/
|
||||||
@@ -2022,7 +2022,7 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
bits |= ANV_PIPE_TILE_CACHE_FLUSH_BIT;
|
bits |= ANV_PIPE_TILE_CACHE_FLUSH_BIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GEN:BUG:1409226450, Wait for EU to be idle before pipe control which
|
/* Wa_1409226450, Wait for EU to be idle before pipe control which
|
||||||
* invalidates the instruction cache
|
* invalidates the instruction cache
|
||||||
*/
|
*/
|
||||||
if (GFX_VER == 12 && (bits & ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT))
|
if (GFX_VER == 12 && (bits & ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT))
|
||||||
@@ -2049,7 +2049,7 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
*
|
*
|
||||||
* The same text exists a few rows below for Post Sync Op.
|
* The same text exists a few rows below for Post Sync Op.
|
||||||
*
|
*
|
||||||
* On Gfx12 this is GEN:BUG:1607156449.
|
* On Gfx12 this is Wa_1607156449.
|
||||||
*/
|
*/
|
||||||
if (bits & ANV_PIPE_POST_SYNC_BIT) {
|
if (bits & ANV_PIPE_POST_SYNC_BIT) {
|
||||||
if ((GFX_VER == 9 || (GFX_VER == 12 && devinfo->revision == 0 /* A0 */)) &&
|
if ((GFX_VER == 9 || (GFX_VER == 12 && devinfo->revision == 0 /* A0 */)) &&
|
||||||
@@ -2069,7 +2069,7 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
pipe.RenderTargetCacheFlushEnable =
|
pipe.RenderTargetCacheFlushEnable =
|
||||||
bits & ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT;
|
bits & ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT;
|
||||||
|
|
||||||
/* GEN:BUG:1409600907: "PIPE_CONTROL with Depth Stall Enable bit must
|
/* Wa_1409600907: "PIPE_CONTROL with Depth Stall Enable bit must
|
||||||
* be set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
* be set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
||||||
*/
|
*/
|
||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
@@ -4763,7 +4763,7 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
pc.TileCacheFlushEnable = true;
|
pc.TileCacheFlushEnable = true;
|
||||||
|
|
||||||
/* GEN:BUG:1409600907: "PIPE_CONTROL with Depth Stall Enable bit must be
|
/* Wa_1409600907: "PIPE_CONTROL with Depth Stall Enable bit must be
|
||||||
* set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
* set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
||||||
*/
|
*/
|
||||||
pc.DepthStallEnable = true;
|
pc.DepthStallEnable = true;
|
||||||
@@ -5142,7 +5142,7 @@ cmd_buffer_emit_depth_stencil(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_POST_SYNC_BIT;
|
cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_POST_SYNC_BIT;
|
||||||
genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer);
|
genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer);
|
||||||
|
|
||||||
/* GEN:BUG:1408224581
|
/* Wa_1408224581
|
||||||
*
|
*
|
||||||
* Workaround: Gfx12LP Astep only An additional pipe control with
|
* Workaround: Gfx12LP Astep only An additional pipe control with
|
||||||
* post-sync = store dword operation would be required.( w/a is to
|
* post-sync = store dword operation would be required.( w/a is to
|
||||||
@@ -5573,7 +5573,7 @@ cmd_buffer_begin_subpass(struct anv_cmd_buffer *cmd_buffer,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if GFX_VER == 12
|
#if GFX_VER == 12
|
||||||
/* GEN:BUG:14010455700
|
/* Wa_14010455700
|
||||||
*
|
*
|
||||||
* ISL will change some CHICKEN registers depending on the depth surface
|
* ISL will change some CHICKEN registers depending on the depth surface
|
||||||
* format, along with emitting the depth and stencil packets. In that case,
|
* format, along with emitting the depth and stencil packets. In that case,
|
||||||
|
@@ -1697,7 +1697,7 @@ emit_3dstate_hs_te_ds(struct anv_graphics_pipeline *pipeline,
|
|||||||
hs.BindingTableEntryCount = tcs_bin->bind_map.surface_count;
|
hs.BindingTableEntryCount = tcs_bin->bind_map.surface_count;
|
||||||
|
|
||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
/* GEN:BUG:1604578095:
|
/* Wa_1604578095:
|
||||||
*
|
*
|
||||||
* Hang occurs when the number of max threads is less than 2 times
|
* Hang occurs when the number of max threads is less than 2 times
|
||||||
* the number of instance count. The number of max threads must be
|
* the number of instance count. The number of max threads must be
|
||||||
|
@@ -52,7 +52,7 @@ gfx7_cmd_buffer_emit_scissor(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
uint32_t count = cmd_buffer->state.gfx.dynamic.scissor.count;
|
uint32_t count = cmd_buffer->state.gfx.dynamic.scissor.count;
|
||||||
const VkRect2D *scissors = cmd_buffer->state.gfx.dynamic.scissor.scissors;
|
const VkRect2D *scissors = cmd_buffer->state.gfx.dynamic.scissor.scissors;
|
||||||
|
|
||||||
/* GEN:BUG:1409725701:
|
/* Wa_1409725701:
|
||||||
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
||||||
* stored as an array of up to 16 elements. The location of first
|
* stored as an array of up to 16 elements. The location of first
|
||||||
* element of the array, as specified by Pointer to SCISSOR_RECT, should
|
* element of the array, as specified by Pointer to SCISSOR_RECT, should
|
||||||
|
@@ -151,7 +151,7 @@ genX(cmd_buffer_enable_pma_fix)(struct anv_cmd_buffer *cmd_buffer, bool enable)
|
|||||||
#if GFX_VER >= 12
|
#if GFX_VER >= 12
|
||||||
pc.TileCacheFlushEnable = true;
|
pc.TileCacheFlushEnable = true;
|
||||||
|
|
||||||
/* GEN:BUG:1409600907: "PIPE_CONTROL with Depth Stall Enable bit must
|
/* Wa_1409600907: "PIPE_CONTROL with Depth Stall Enable bit must
|
||||||
* be set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
* be set with any PIPE_CONTROL with Depth Flush Enable bit set.
|
||||||
*/
|
*/
|
||||||
pc.DepthStallEnable = true;
|
pc.DepthStallEnable = true;
|
||||||
|
@@ -2364,7 +2364,7 @@ genX(upload_scissor_state)(struct brw_context *brw)
|
|||||||
|
|
||||||
/* BRW_NEW_VIEWPORT_COUNT */
|
/* BRW_NEW_VIEWPORT_COUNT */
|
||||||
const unsigned viewport_count = brw->clip.viewport_count;
|
const unsigned viewport_count = brw->clip.viewport_count;
|
||||||
/* GEN:BUG:1409725701:
|
/* Wa_1409725701:
|
||||||
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
* "The viewport-specific state used by the SF unit (SCISSOR_RECT) is
|
||||||
* stored as an array of up to 16 elements. The location of first
|
* stored as an array of up to 16 elements. The location of first
|
||||||
* element of the array, as specified by Pointer to SCISSOR_RECT, should
|
* element of the array, as specified by Pointer to SCISSOR_RECT, should
|
||||||
|
Reference in New Issue
Block a user