History

drm/framebuffer: Format modifier for Intel Gen 12 render compression with Clear Color

Gen12 display can decompress surfaces compressed by render engine with Clear Color, add a new modifier as the driver needs to know the surface was compressed by render engine. V2: Description changes as suggested by Rafael. V3: Mention the Clear Color size of 64 bits in the comments(DK) v4: Fix trailing whitespaces v5: Explain Clear Color in the documentation. v6: Documentation Nitpicks(Nanley)

Radhakrishna Sripada committed 5 years ago

Commit 87199e41 parent 40a6cea1 file · +19 −0Browse files

Showing the changes to include/uapi (1 of 1 file). Show all

Unified · Split

include/uapi/drm/drm_fourcc.h+19−0
@@ -527,6 +527,25 @@ extern "C" { · 526 unmodified lines
527527 */
528528 #define I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS fourcc_mod_code(INTEL, 7)
529529
530+/*
531+ * Intel Color Control Surface with Clear Color (CCS) for Gen-12 render
532+ * compression.
533+ *
534+ * The main surface is Y-tiled and is at plane index 0 whereas CCS is linear
535+ * and at index 1. The clear color is stored at index 2, and the pitch should
536+ * be ignored. The clear color structure is 256 bits. The first 128 bits
537+ * represents Raw Clear Color Red, Green, Blue and Alpha color each represented
538+ * by 32 bits. The raw clear color is consumed by the 3d engine and generates
539+ * the converted clear color of size 64 bits. The first 32 bits store the Lower
540+ * Converted Clear Color value and the next 32 bits store the Higher Converted
541+ * Clear Color value when applicable. The Converted Clear Color values are
542+ * consumed by the DE. The last 64 bits are used to store Color Discard Enable
543+ * and Depth Clear Value Valid which are ignored by the DE. A CCS cache line
544+ * corresponds to an area of 4x1 tiles in the main surface. The main surface
545+ * pitch is required to be a multiple of 4 tile widths.
546+ */
547+#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC fourcc_mod_code(INTEL, 8)
548+
530549 /*
531550 * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks
532551 *