brw->has_llc = devinfo->has_llc;
brw->has_hiz = devinfo->has_hiz_and_separate_stencil;
brw->has_separate_stencil = devinfo->has_hiz_and_separate_stencil;
+ brw->has_pln = devinfo->has_pln;
+ brw->has_compr4 = devinfo->has_compr4;
+ brw->has_surface_tile_offset = devinfo->has_surface_tile_offset;
brw->has_negative_rhw_bug = devinfo->has_negative_rhw_bug;
brw->needs_unlit_centroid_workaround =
devinfo->needs_unlit_centroid_workaround;
if (brw->is_g4x || brw->gen >= 5) {
brw->CMD_VF_STATISTICS = GM45_3DSTATE_VF_STATISTICS;
brw->CMD_PIPELINE_SELECT = CMD_PIPELINE_SELECT_GM45;
- brw->has_surface_tile_offset = true;
- if (brw->gen < 6)
- brw->has_compr4 = true;
brw->has_aa_line_parameters = true;
- brw->has_pln = true;
} else {
brw->CMD_VF_STATISTICS = GEN4_3DSTATE_VF_STATISTICS;
brw->CMD_PIPELINE_SELECT = CMD_PIPELINE_SELECT_965;
static const struct brw_device_info brw_device_info_g4x = {
.gen = 4,
+ .has_pln = true,
+ .has_compr4 = true,
.needs_unlit_centroid_workaround = true,
.is_g4x = true,
.max_vs_threads = 32,
static const struct brw_device_info brw_device_info_ilk = {
.gen = 5,
+ .has_pln = true,
+ .has_compr4 = true,
+ .has_surface_tile_offset = true,
.needs_unlit_centroid_workaround = true,
.max_vs_threads = 72,
.max_gs_threads = 32,
.gt = 2,
.has_hiz_and_separate_stencil = true,
.has_llc = true,
+ .has_pln = true,
+ .has_surface_tile_offset = true,
.needs_unlit_centroid_workaround = true,
.max_vs_threads = 24,
.max_gs_threads = 21, /* conservative; 24 if rendering disabled. */
.gt = 2,
.has_hiz_and_separate_stencil = true,
.has_llc = true,
+ .has_pln = true,
+ .has_surface_tile_offset = true,
.needs_unlit_centroid_workaround = true,
.max_vs_threads = 60,
.max_gs_threads = 60,
.has_hiz_and_separate_stencil = true, \
.must_use_separate_stencil = true, \
.has_llc = true, \
+ .has_pln = true, \
+ .has_surface_tile_offset = true, \
.needs_unlit_centroid_workaround = true
static const struct brw_device_info brw_device_info_ivb_gt1 = {