diff options
author | Eric Anholt <[email protected]> | 2011-04-15 11:00:00 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2011-04-20 10:35:42 -0700 |
commit | 87478cd6e3e6349abc2688b390f8845d1e21af3d (patch) | |
tree | e22e517ba8e36fff1b68db61fb8ba5e726e088fc /src/mesa/drivers/dri/intel/intel_blit.c | |
parent | 0bbbeba2db0f3fd382d2f591bebc248c5ed40fb5 (diff) |
intel: Add support for ARB_texture_float.
For 1 and 2-channel formats the hardware only supports rendering to R
and RG. To do I and L render targets we just call them R and
everything works out. For A, we would need to rewrite the CC to do
the alpha channel's blending on color instead, and send the fragment
alpha down the red channel. For LA, there doesn't seem to be any
hope, because we can't do independent color/alpha blending while
treating the LA surface as RG.
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_blit.c')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_blit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index 579a45b5aaf..5aac1f6fa24 100644 --- a/src/mesa/drivers/dri/intel/intel_blit.c +++ b/src/mesa/drivers/dri/intel/intel_blit.c @@ -293,7 +293,7 @@ intelClearWithBlit(struct gl_context *ctx, GLbitfield mask) irb->region->buffer, (pitch * cpp), x1, y1, x2 - x1, y2 - y1); - BR13 = br13_for_cpp(cpp) | 0xf0 << 16; + BR13 = 0xf0 << 16; CMD = XY_COLOR_BLT_CMD; /* Setup the blit command */ @@ -354,6 +354,8 @@ intelClearWithBlit(struct gl_context *ctx, GLbitfield mask) } } + BR13 |= br13_for_cpp(cpp); + assert(x1 < x2); assert(y1 < y2); |