Bug 5417

Summary: i915: initial scissor rect is empty
Product: Mesa Reporter: Frank Richter <resqu>
Component: Drivers/DRI/i915Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high    
Version: 6.4   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Initialize hardware scissor with screen dimensions
Test case

Description Frank Richter 2005-12-25 11:55:47 UTC
When the initial scissor rectangle is set, it is empty (0,0-0,0), however,
mesa's default scissor seems to cover the screen. Hence, when scissor testing is
enabled, the screen stays unchanged if the scissor rect was not set or is set to
cover the whole screen (since the dri scissor function isn't called as no
difference to the "current" scissor is detected).
Comment 1 Frank Richter 2005-12-25 11:56:42 UTC
Created attachment 4157 [details] [review]
Initialize hardware scissor with screen dimensions
Comment 2 Keith Whitwell 2005-12-29 22:36:29 UTC
The code in intel_context.c, line 697 where ctx->Driver.Scissor() is called on
startup should already have the effect of correctly initializing this state.  Do
you have any insight into why this might not be happening?  

Note that freeglut seems to universally have a problem which makes it look like
rendering is failing due to driver bugs in the first few frames.  If you're
using freeglut please also try against real glut.

A quick demo or test program would be helpful if you have one.
Comment 3 Frank Richter 2005-12-30 11:06:23 UTC
Created attachment 4195 [details]
Test case
Comment 4 Frank Richter 2005-12-30 11:07:14 UTC
No glut is used in the app I first noticed the bug. Pure GLX.
Comment 5 Keith Whitwell 2005-12-30 23:59:19 UTC
Thanks for the test program - always a big help!

Seems like there were a couple of problems in core mesa and the driver.  I've
committed fixes in both places.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.