i965/dri: Handle the linear fb modifier
authorBen Widawsky <ben@bwidawsk.net>
Fri, 13 Jan 2017 20:01:37 +0000 (12:01 -0800)
committerBen Widawsky <ben@bwidawsk.net>
Tue, 21 Mar 2017 21:48:12 +0000 (14:48 -0700)
commitd78a36ea6241b375f071302f78b1144b5c28e6c4
treee8af7ab706878a5109a1ae1b5b9beb9944def3da
parent79f619ca7082fec38576491fa0010c476d1ded65
i965/dri: Handle the linear fb modifier

At image creation create a path for dealing with the linear modifier.
This works exactly like the old usage flags where __DRI_IMAGE_USE_LINEAR
was specified.

During development of this patch series, it was decided that a lack of
modifier was an insufficient way to express the required modifiers. As a
result, 0 was repurposed to mean a modifier for a LINEAR layout.

NOTE: This patch was added for v3 of the patch series.

v2: Rework the algorithm for modifier selection to go from a bitmask
based selection to this priority value.

v3: Make DRM_FORMAT_MOD_INVALID allowed at selection as a way of
identifying no modifiers found (because 0 is LINEAR) (Jason)

v4: Remove the logic to prune unknown modifiers (like those from other
vendors) and simply handle is in select_best_modifier (Jason)

Requested-by: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/intel_screen.c