summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/xa/xa_priv.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom@vmware.com>2011-07-06 21:58:33 +0200
committerThomas Hellstrom <thellstrom@vmware.com>2011-07-07 10:21:48 +0200
commit568d99cc6c8eea75ce50fe29e1ea8a94fe7ff7a7 (patch)
treebc98ef26fdb69a2342501b08b4ba6a058825477b /src/gallium/state_trackers/xa/xa_priv.h
parent7a10976adb65010bec7952a80d1b43d62b3f8bb3 (diff)
downloadexternal_mesa3d-568d99cc6c8eea75ce50fe29e1ea8a94fe7ff7a7.zip
external_mesa3d-568d99cc6c8eea75ce50fe29e1ea8a94fe7ff7a7.tar.gz
external_mesa3d-568d99cc6c8eea75ce50fe29e1ea8a94fe7ff7a7.tar.bz2
st/xa: Fix render to xa_format_a8, which is backed by a gallium L8 texture
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'src/gallium/state_trackers/xa/xa_priv.h')
-rw-r--r--src/gallium/state_trackers/xa/xa_priv.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/xa/xa_priv.h b/src/gallium/state_trackers/xa/xa_priv.h
index 94627e1..e8f67a1 100644
--- a/src/gallium/state_trackers/xa/xa_priv.h
+++ b/src/gallium/state_trackers/xa/xa_priv.h
@@ -135,6 +135,7 @@ enum xa_fs_traits {
FS_MASK_SET_ALPHA = 1 << 13,
FS_SRC_LUMINANCE = 1 << 14,
FS_MASK_LUMINANCE = 1 << 15,
+ FS_DST_LUMINANCE = 1 << 16,
FS_FILL = (FS_SOLID_FILL | FS_LINGRAD_FILL | FS_RADGRAD_FILL),
FS_COMPONENT_ALPHA = (FS_CA_FULL | FS_CA_SRCALPHA)
@@ -172,6 +173,17 @@ xa_pixel_to_float4(uint32_t pixel, float *color)
color[3] = ((float)a) / 255.;
}
+static INLINE void
+xa_pixel_to_float4_a8(uint32_t pixel, float *color)
+{
+ uint32_t a;
+
+ a = (pixel >> 24) & 0xff;
+ color[0] = ((float)a) / 255.;
+ color[1] = ((float)a) / 255.;
+ color[2] = ((float)a) / 255.;
+ color[3] = ((float)a) / 255.;
+}
/*
* xa_tgsi.c