summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2013-09-26 11:55:36 -0700
committerKenneth Graunke <kenneth@whitecape.org>2013-10-13 00:10:44 -0700
commit02b632d8e8f2b14c155740d28c276b5869305c60 (patch)
treef55bab9564970d1791dc5132331ac265acef4a89
parentea890c031ddc69abb6670ad9b769ef1eecd11e28 (diff)
downloadexternal_mesa3d-02b632d8e8f2b14c155740d28c276b5869305c60.zip
external_mesa3d-02b632d8e8f2b14c155740d28c276b5869305c60.tar.gz
external_mesa3d-02b632d8e8f2b14c155740d28c276b5869305c60.tar.bz2
i965: Move hardware feature flags to brw_device_info.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c7
-rw-r--r--src/mesa/drivers/dri/i965/brw_device_info.c11
-rw-r--r--src/mesa/drivers/dri/i965/brw_device_info.h4
3 files changed, 18 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index f60da50..04045a5 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -366,6 +366,9 @@ brwCreateContext(gl_api api,
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;
@@ -437,11 +440,7 @@ brwCreateContext(gl_api api,
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;
diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
index a215917..b472356 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.c
+++ b/src/mesa/drivers/dri/i965/brw_device_info.c
@@ -39,6 +39,8 @@ static const struct brw_device_info brw_device_info_i965 = {
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,
@@ -51,6 +53,9 @@ static const struct brw_device_info brw_device_info_g4x = {
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,
@@ -65,6 +70,8 @@ static const struct brw_device_info brw_device_info_snb_gt1 = {
.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. */
@@ -82,6 +89,8 @@ static const struct brw_device_info brw_device_info_snb_gt2 = {
.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,
@@ -99,6 +108,8 @@ static const struct brw_device_info brw_device_info_snb_gt2 = {
.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 = {
diff --git a/src/mesa/drivers/dri/i965/brw_device_info.h b/src/mesa/drivers/dri/i965/brw_device_info.h
index 39f4d57..66ec935 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.h
+++ b/src/mesa/drivers/dri/i965/brw_device_info.h
@@ -40,6 +40,10 @@ struct brw_device_info
bool has_llc;
+ bool has_pln;
+ bool has_compr4;
+ bool has_surface_tile_offset;
+
/**
* Quirks:
* @{