summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_vertex.h
diff options
context:
space:
mode:
authorJakob Bornecrantz <wallbraker@gmail.com>2010-03-25 13:45:42 +0100
committerJakob Bornecrantz <wallbraker@gmail.com>2010-03-26 01:21:52 +0100
commitfe306e7ea5e789adc955653d9be8cd7f8af47264 (patch)
treef7db836fcde2667acccdb884aa763ce22b8044a0 /src/gallium/auxiliary/draw/draw_vertex.h
parent84a8347b9f6ef0c1b2519e9bd5fef2ce3c85afb7 (diff)
draw: Add EMIT_4UB_BGRA format
Needed for i915g, also fixed swizzle in draw_vs_aos_io.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vertex.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_vertex.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vertex.h b/src/gallium/auxiliary/draw/draw_vertex.h
index 24c5a48b2e..ca27237126 100644
--- a/src/gallium/auxiliary/draw/draw_vertex.h
+++ b/src/gallium/auxiliary/draw/draw_vertex.h
@@ -54,7 +54,8 @@ enum attrib_emit {
EMIT_2F,
EMIT_3F,
EMIT_4F,
- EMIT_4UB /**< XXX may need variations for RGBA vs BGRA, etc */
+ EMIT_4UB, /**< is RGBA like the rest */
+ EMIT_4UB_BGRA
};
@@ -157,6 +158,8 @@ static INLINE unsigned draw_translate_vinfo_format(enum attrib_emit emit)
return PIPE_FORMAT_R32G32B32A32_FLOAT;
case EMIT_4UB:
return PIPE_FORMAT_R8G8B8A8_UNORM;
+ case EMIT_4UB_BGRA:
+ return PIPE_FORMAT_B8G8R8A8_UNORM;
default:
assert(!"unexpected format");
return PIPE_FORMAT_NONE;
@@ -179,6 +182,8 @@ static INLINE unsigned draw_translate_vinfo_size(enum attrib_emit emit)
return 4 * sizeof(float);
case EMIT_4UB:
return 4 * sizeof(unsigned char);
+ case EMIT_4UB_BGRA:
+ return 4 * sizeof(unsigned char);
default:
assert(!"unexpected format");
return 0;