|
|
@@ -114,6 +114,7 @@ static void |
|
|
|
fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info) |
|
|
|
{ |
|
|
|
struct fd3_context *fd3_ctx = fd3_context(ctx); |
|
|
|
struct pipe_framebuffer_state *pfb = &ctx->framebuffer; |
|
|
|
struct fd3_emit emit = { |
|
|
|
.vtx = &ctx->vtx, |
|
|
|
.prog = &ctx->prog, |
|
|
@@ -122,7 +123,7 @@ fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info) |
|
|
|
/* do binning pass first: */ |
|
|
|
.binning_pass = true, |
|
|
|
.color_two_side = ctx->rasterizer ? ctx->rasterizer->light_twoside : false, |
|
|
|
.alpha = util_format_is_alpha(pipe_surface_format(ctx->framebuffer.cbufs[0])), |
|
|
|
.alpha = util_format_is_alpha(pipe_surface_format(pfb->cbufs[0])), |
|
|
|
// TODO set .half_precision based on render target format, |
|
|
|
// ie. float16 and smaller use half, float32 use full.. |
|
|
|
.half_precision = !!(fd_mesa_debug & FD_DBG_FRAGHALF), |
|
|
@@ -134,6 +135,7 @@ fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info) |
|
|
|
.fsaturate_t = fd3_ctx->fsaturate_t, |
|
|
|
.fsaturate_r = fd3_ctx->fsaturate_r, |
|
|
|
}, |
|
|
|
.format = pipe_surface_format(pfb->cbufs[0]), |
|
|
|
.rasterflat = ctx->rasterizer && ctx->rasterizer->flatshade, |
|
|
|
}; |
|
|
|
unsigned dirty; |