intel/common/icl: Add has_sample_with_hiz flag in gen_device_info
Sampling from hiz is enabled in i965 for GEN9+ but this feature has been removed from gen11. So, this new flag will be useful to turn the feature on/off for different gen h/w. It will be used later in a patch adding device info for gen11. Suggested-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
9c144dc81e
commit
ba3cbee6c5
|
@ -311,12 +311,16 @@ static const struct gen_device_info gen_device_info_hsw_gt3 = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* It's unclear how well supported sampling from the hiz buffer is on GEN8,
|
||||||
|
* so keep things conservative for now and set has_sample_with_hiz = false.
|
||||||
|
*/
|
||||||
#define GEN8_FEATURES \
|
#define GEN8_FEATURES \
|
||||||
.gen = 8, \
|
.gen = 8, \
|
||||||
.has_hiz_and_separate_stencil = true, \
|
.has_hiz_and_separate_stencil = true, \
|
||||||
.has_resource_streamer = true, \
|
.has_resource_streamer = true, \
|
||||||
.must_use_separate_stencil = true, \
|
.must_use_separate_stencil = true, \
|
||||||
.has_llc = true, \
|
.has_llc = true, \
|
||||||
|
.has_sample_with_hiz = false, \
|
||||||
.has_pln = true, \
|
.has_pln = true, \
|
||||||
.supports_simd16_3src = true, \
|
.supports_simd16_3src = true, \
|
||||||
.has_surface_tile_offset = true, \
|
.has_surface_tile_offset = true, \
|
||||||
|
@ -451,6 +455,7 @@ static const struct gen_device_info gen_device_info_chv = {
|
||||||
GEN9_HW_INFO, \
|
GEN9_HW_INFO, \
|
||||||
.gt = 1, \
|
.gt = 1, \
|
||||||
.has_llc = false, \
|
.has_llc = false, \
|
||||||
|
.has_sample_with_hiz = true, \
|
||||||
.num_slices = 1, \
|
.num_slices = 1, \
|
||||||
.num_thread_per_eu = 6, \
|
.num_thread_per_eu = 6, \
|
||||||
.max_vs_threads = 112, \
|
.max_vs_threads = 112, \
|
||||||
|
@ -502,6 +507,7 @@ static const struct gen_device_info gen_device_info_chv = {
|
||||||
#define GEN9_FEATURES \
|
#define GEN9_FEATURES \
|
||||||
GEN8_FEATURES, \
|
GEN8_FEATURES, \
|
||||||
GEN9_HW_INFO, \
|
GEN9_HW_INFO, \
|
||||||
|
.has_sample_with_hiz = true, \
|
||||||
.num_thread_per_eu = 7
|
.num_thread_per_eu = 7
|
||||||
|
|
||||||
static const struct gen_device_info gen_device_info_skl_gt1 = {
|
static const struct gen_device_info gen_device_info_skl_gt1 = {
|
||||||
|
@ -695,6 +701,7 @@ static const struct gen_device_info gen_device_info_cfl_gt3 = {
|
||||||
#define GEN10_FEATURES(_gt, _slices, _subslices, _l3) \
|
#define GEN10_FEATURES(_gt, _slices, _subslices, _l3) \
|
||||||
GEN8_FEATURES, \
|
GEN8_FEATURES, \
|
||||||
GEN10_HW_INFO, \
|
GEN10_HW_INFO, \
|
||||||
|
.has_sample_with_hiz = true, \
|
||||||
.gt = _gt, \
|
.gt = _gt, \
|
||||||
.num_slices = _slices, \
|
.num_slices = _slices, \
|
||||||
.num_subslices = _subslices, \
|
.num_subslices = _subslices, \
|
||||||
|
|
|
@ -55,7 +55,7 @@ struct gen_device_info
|
||||||
|
|
||||||
bool has_hiz_and_separate_stencil;
|
bool has_hiz_and_separate_stencil;
|
||||||
bool must_use_separate_stencil;
|
bool must_use_separate_stencil;
|
||||||
|
bool has_sample_with_hiz;
|
||||||
bool has_llc;
|
bool has_llc;
|
||||||
|
|
||||||
bool has_pln;
|
bool has_pln;
|
||||||
|
|
|
@ -1911,10 +1911,7 @@ intel_miptree_sample_with_hiz(struct brw_context *brw,
|
||||||
{
|
{
|
||||||
const struct gen_device_info *devinfo = &brw->screen->devinfo;
|
const struct gen_device_info *devinfo = &brw->screen->devinfo;
|
||||||
|
|
||||||
/* It's unclear how well supported sampling from the hiz buffer is on GEN8,
|
if (!devinfo->has_sample_with_hiz) {
|
||||||
* so keep things conservative for now and never enable it unless we're SKL+.
|
|
||||||
*/
|
|
||||||
if (devinfo->gen < 9) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue