X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fintel%2Fblorp%2Fblorp_blit.c;h=3aac0abf274c1612e807d0150c531a6d5b81fc1d;hb=HEAD;hp=491d393ee5c8b2d67c96d849ed679a839d9774c1;hpb=e13ed0e9e548c99e484e9533b0030ce555465fd7;p=mesa.git diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index 491d393ee5c..3aac0abf274 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -35,21 +35,6 @@ static const bool split_blorp_blit_debug = false; -/** - * Enum to specify the order of arguments in a sampler message - */ -enum sampler_message_arg -{ - SAMPLER_MESSAGE_ARG_U_FLOAT, - SAMPLER_MESSAGE_ARG_V_FLOAT, - SAMPLER_MESSAGE_ARG_U_INT, - SAMPLER_MESSAGE_ARG_V_INT, - SAMPLER_MESSAGE_ARG_R_INT, - SAMPLER_MESSAGE_ARG_SI_INT, - SAMPLER_MESSAGE_ARG_MCS_INT, - SAMPLER_MESSAGE_ARG_ZERO_INT, -}; - struct brw_blorp_blit_vars { /* Input values from brw_blorp_wm_inputs */ nir_variable *v_discard_rect; @@ -1520,7 +1505,8 @@ brw_blorp_get_blit_kernel(struct blorp_batch *batch, &prog_data); bool result = - blorp->upload_shader(batch, prog_key, sizeof(*prog_key), + blorp->upload_shader(batch, MESA_SHADER_FRAGMENT, + prog_key, sizeof(*prog_key), program, prog_data.base.program_size, &prog_data.base, sizeof(prog_data), ¶ms->wm_prog_kernel, ¶ms->wm_prog_data); @@ -2677,7 +2663,9 @@ blorp_copy(struct blorp_batch *batch, params.src.aux_usage == ISL_AUX_USAGE_HIZ_CCS_WT || params.src.aux_usage == ISL_AUX_USAGE_MCS || params.src.aux_usage == ISL_AUX_USAGE_MCS_CCS || - params.src.aux_usage == ISL_AUX_USAGE_CCS_E); + params.src.aux_usage == ISL_AUX_USAGE_CCS_E || + params.src.aux_usage == ISL_AUX_USAGE_GEN12_CCS_E || + params.src.aux_usage == ISL_AUX_USAGE_STC_CCS); if (isl_aux_usage_has_hiz(params.src.aux_usage)) { /* In order to use HiZ, we have to use the real format for the source. @@ -2692,9 +2680,11 @@ blorp_copy(struct blorp_batch *batch, */ params.src.view.format = params.dst.surf.format; params.dst.view.format = params.dst.surf.format; - } else if (params.dst.aux_usage == ISL_AUX_USAGE_CCS_E) { + } else if (params.dst.aux_usage == ISL_AUX_USAGE_CCS_E || + params.dst.aux_usage == ISL_AUX_USAGE_GEN12_CCS_E) { params.dst.view.format = get_ccs_compatible_copy_format(dst_fmtl); - if (params.src.aux_usage == ISL_AUX_USAGE_CCS_E) { + if (params.src.aux_usage == ISL_AUX_USAGE_CCS_E || + params.src.aux_usage == ISL_AUX_USAGE_GEN12_CCS_E) { params.src.view.format = get_ccs_compatible_copy_format(src_fmtl); } else if (src_fmtl->bpb == dst_fmtl->bpb) { params.src.view.format = params.dst.view.format; @@ -2702,7 +2692,8 @@ blorp_copy(struct blorp_batch *batch, params.src.view.format = get_copy_format_for_bpb(isl_dev, src_fmtl->bpb); } - } else if (params.src.aux_usage == ISL_AUX_USAGE_CCS_E) { + } else if (params.src.aux_usage == ISL_AUX_USAGE_CCS_E || + params.src.aux_usage == ISL_AUX_USAGE_GEN12_CCS_E) { params.src.view.format = get_ccs_compatible_copy_format(src_fmtl); if (src_fmtl->bpb == dst_fmtl->bpb) { params.dst.view.format = params.src.view.format;