diff options
Diffstat (limited to 'driver/xf86-video-intel/src/brw_structs.h')
-rw-r--r-- | driver/xf86-video-intel/src/brw_structs.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/driver/xf86-video-intel/src/brw_structs.h b/driver/xf86-video-intel/src/brw_structs.h index ef7906b4a..022915d1b 100644 --- a/driver/xf86-video-intel/src/brw_structs.h +++ b/driver/xf86-video-intel/src/brw_structs.h @@ -840,10 +840,26 @@ struct brw_wm_unit_state float global_depth_offset_scale; }; -struct brw_sampler_default_color { +/* The hardware supports two different modes for border color. The + * default (OpenGL) mode uses floating-point color channels, while the + * legacy mode uses 4 bytes. + * + * More significantly, the legacy mode respects the components of the + * border color for channels not present in the source, (whereas the + * default mode will ignore the border color's alpha channel and use + * alpha==1 for an RGB source, for example). + * + * The legacy mode matches the semantics specified by the Render + * extension. + */ +struct brw_sampler_default_border_color { float color[4]; }; +struct brw_sampler_legacy_border_color { + uint8_t color[4]; +}; + struct brw_sampler_state { @@ -857,7 +873,7 @@ struct brw_sampler_state unsigned int base_level:5; unsigned int pad:1; unsigned int lod_preclamp:1; - unsigned int default_color_mode:1; + unsigned int border_color_mode:1; unsigned int pad0:1; unsigned int disable:1; } ss0; @@ -876,7 +892,7 @@ struct brw_sampler_state struct { unsigned int pad:5; - unsigned int default_color_pointer:27; + unsigned int border_color_pointer:27; } ss2; struct |