summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2011-03-08 20:08:35 +0000
committerJosé Fonseca <jfonseca@vmware.com>2011-03-09 09:58:35 +0000
commit0ffd603e17fd489886b47c5fec4624a589a13c10 (patch)
treed5bad6025e7db9aa64def28e91a52e1bb64302c6 /src/gallium/state_trackers
parent52e598d200108ab9cfc9c9d828bbebdc576e9703 (diff)
wgl: Force framebuffer validation on glViewport.
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/wgl/stw_device.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/wgl/stw_device.c b/src/gallium/state_trackers/wgl/stw_device.c
index 445db9cd9b..e65e71dc15 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -48,7 +48,19 @@ static int
stw_get_param(struct st_manager *smapi,
enum st_manager_param param)
{
- return 0;
+ switch (param) {
+ case ST_MANAGER_BROKEN_INVALIDATE:
+ /*
+ * Force framebuffer validation on glViewport.
+ *
+ * Certain applications, like Rhinoceros 4, uses glReadPixels
+ * exclusively (never uses SwapBuffers), so framebuffers never get
+ * resized unless we check on glViewport.
+ */
+ return 1;
+ default:
+ return 0;
+ }
}
boolean