mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 21:40:20 +01:00
i965: Only enable ARB_query_buffer_object for newer kernels on Haswell.
On Haswell, we need version 6 of the kernel command parser in order to write the math registers. Our implementation of ARB_query_buffer_object heavily relies on MI_MATH, so we should only advertise it when MI_MATH is available. We also need MI_LOAD_REGISTER_REG, which requires version 7 of the command parser. To make these checks easier, introduce a screen->has_mi_math_and_lrr flag that will be set when both commands are supported. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
2d41eb313f
commit
4c71c8a74a
3 changed files with 15 additions and 1 deletions
|
|
@ -366,7 +366,7 @@ intelInitExtensions(struct gl_context *ctx)
|
|||
}
|
||||
}
|
||||
|
||||
if (brw->gen >= 8 || brw->is_haswell) {
|
||||
if (brw->intelScreen->has_mi_math_and_lrr) {
|
||||
ctx->Extensions.ARB_query_buffer_object = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1531,6 +1531,14 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
|
|||
if (ret == -1)
|
||||
intelScreen->cmd_parser_version = 0;
|
||||
|
||||
/* Haswell requires command parser version 6 in order to write to the
|
||||
* MI_MATH GPR registers, and version 7 in order to use
|
||||
* MI_LOAD_REGISTER_REG (which all users of MI_MATH use).
|
||||
*/
|
||||
intelScreen->has_mi_math_and_lrr = intelScreen->devinfo->gen >= 8 ||
|
||||
(intelScreen->devinfo->is_haswell &&
|
||||
intelScreen->cmd_parser_version >= 7);
|
||||
|
||||
psp->extensions = !intelScreen->has_context_reset_notification
|
||||
? intelScreenExtensions : intelRobustScreenExtensions;
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,12 @@ struct intel_screen
|
|||
*/
|
||||
bool has_resource_streamer;
|
||||
|
||||
/**
|
||||
* Does the current hardware and kernel support MI_MATH and
|
||||
* MI_LOAD_REGISTER_REG?
|
||||
*/
|
||||
bool has_mi_math_and_lrr;
|
||||
|
||||
/**
|
||||
* Does the kernel support context reset notifications?
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue