From d8146f240e628e70d4c07f7e805a179f70c36e23 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Fri, 7 Jun 2013 21:03:40 +0200 Subject: llvmpipe: add support for layered rendering Mostly just make sure the layer parameter gets passed through to the right places (and get clamped, can do this at setup time), fix up clears to clear all layers and disable opaque optimization. Luckily don't need to touch the jitted code. (Clears invoked via pipe's clear_render_target method will not work however since the pipe_util_clear function used for it doesn't handle clearing multiple layers yet.) v2: per Brian's suggestion, prettify var initialization and add some comments, add assertion for impossible layer specification for surface. Reviewed-by: Brian Paul Reviewed-by: Jose Fonseca --- src/gallium/drivers/llvmpipe/lp_rast.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/drivers/llvmpipe/lp_rast.h') diff --git a/src/gallium/drivers/llvmpipe/lp_rast.h b/src/gallium/drivers/llvmpipe/lp_rast.h index 9fe89e5b6f1..50917a7c633 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.h +++ b/src/gallium/drivers/llvmpipe/lp_rast.h @@ -86,8 +86,8 @@ struct lp_rast_shader_inputs { unsigned opaque:1; /** Is opaque */ unsigned pad0:29; /* wasted space */ unsigned stride; /* how much to advance data between a0, dadx, dady */ + unsigned layer; /* the layer to render to (from gs, already clamped) */ unsigned pad2; /* wasted space */ - unsigned pad3; /* wasted space */ /* followed by a0, dadx, dady and planes[] */ }; -- cgit v1.2.3