intel: verify if hardware has LLC support

Rely on libdrm HAS_LLC parameter to verify if hardware supports it. In
case the libdrm version does not supports this check, fallback to older
way of detecting it which assumed that GPUs newer than GEN6 have it.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
This commit is contained in:
Eugeni Dodonov 2012-02-01 18:06:53 -02:00
parent fa2a76a21c
commit 7def293204
4 changed files with 12 additions and 0 deletions

View File

@ -628,6 +628,7 @@ intelInitContext(struct intel_context *intel,
intel->has_separate_stencil = intel->intelScreen->hw_has_separate_stencil;
intel->must_use_separate_stencil = intel->intelScreen->hw_must_use_separate_stencil;
intel->has_hiz = intel->intelScreen->hw_has_hiz;
intel->has_llc = intel->intelScreen->hw_has_llc;
memset(&ctx->TextureFormatSupported,
0, sizeof(ctx->TextureFormatSupported));

View File

@ -213,6 +213,7 @@ struct intel_context
bool has_separate_stencil;
bool must_use_separate_stencil;
bool has_hiz;
bool has_llc;
int urb_size;

View File

@ -735,6 +735,14 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
intelScreen->hw_has_hiz = intelScreen->gen >= 6;
intelScreen->dri2_has_hiz = INTEL_DRI2_HAS_HIZ_UNKNOWN;
#if defined(I915_PARAM_HAS_LLC)
intelScreen->hw_has_llc =
intel_get_boolean(intelScreen->driScrnPriv,
I915_PARAM_HAS_LLC);
#else
intelScreen->hw_has_llc = intelScreen->gen >= 6;
#endif
intel_override_hiz(intelScreen);
intel_override_separate_stencil(intelScreen);

View File

@ -116,6 +116,8 @@ struct intel_screen
bool kernel_has_gen7_sol_reset;
bool hw_has_llc;
bool no_vbo;
dri_bufmgr *bufmgr;
struct _mesa_HashTable *named_regions;