summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_resource.h
diff options
context:
space:
mode:
authorBruce Cherniak <[email protected]>2017-04-13 17:40:11 -0500
committerTim Rowley <[email protected]>2017-04-14 15:22:45 -0500
commit1832ef6cd9bdce4f546128c0b77d7acd6fd898a7 (patch)
tree81da3c4beeb3d64a846b4986a37f785e83d6d6b3 /src/gallium/drivers/swr/swr_resource.h
parent91a7f0b3afaa88e787d7b80df491928e037967a4 (diff)
swr: Enable MSAA in OpenSWR software renderer
This patch enables multisample antialiasing in the OpenSWR software renderer. MSAA is a proof-of-concept/work-in-progress with bug fixes and performance on the way. We wanted to get the changes out now to allow several customers to begin experimenting with MSAA in a software renderer. So as not to impact current customers, MSAA is turned off by default - previous functionality and performance remain intact. It is easily enabled via environment variables, as described below. It has only been tested with the glx-lib winsys. The intention is to enable other state-trackers, both Windows and Linux and more fully support FBOs. There are 2 environment variables that affect behavior: * SWR_MSAA_FORCE_ENABLE - force MSAA on, for apps that are not designed for MSAA... Beware, results will vary. This is mainly for testing. * SWR_MSAA_MAX_SAMPLE_COUNT - sets maximum supported number of samples (1,2,4,8,16), or 0 to disable MSAA altogether. (The default is currently 0.) Reviewed-by: George Kyriazis <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/swr_resource.h')
-rw-r--r--src/gallium/drivers/swr/swr_resource.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/swr_resource.h b/src/gallium/drivers/swr/swr_resource.h
index 41abd77cba0..ae9954c1e7d 100644
--- a/src/gallium/drivers/swr/swr_resource.h
+++ b/src/gallium/drivers/swr/swr_resource.h
@@ -46,6 +46,10 @@ struct swr_resource {
struct sw_displaytarget *display_target;
+ /* If resource is multisample, then this points to a alternate resource
+ * containing the resolved multisample surface, otherwise null */
+ struct pipe_resource *resolve_target;
+
size_t mip_offsets[PIPE_MAX_TEXTURE_LEVELS];
size_t secondary_mip_offsets[PIPE_MAX_TEXTURE_LEVELS];