mesa/src
Ben Widawsky 1a20e38ccf i965: Simplify viewport extents programming on GEN8
Viewport extents are a 3rd rectangle that defines which pixels get
discarded as part of the rasterization process. The actual pixels drawn
to the screen are an intersection of the drawing rectangle, the viewport
extents, and the scissor rectangle. It permits the use of guardband
clipping in all cases (see later patch). The actual pixels drawn to the
screen are an intersection of the drawing rectangle, the viewport
extents, and the scissor rectangle.

Scissor rectangle is not super important for this discussion as it should
always help do the right thing provided the programmer uses it.

switch (viewport dimensions, drawrect dimension) {
   case viewport > drawing rectangle: no effects; break;
   case viewport == drawing rectangle: no effects; break;
   case viewport < drawing rectangle:
      Pixels (after the viewport transformation but before expensive
      rastersizing and shading operations) which are outside of the
      viewport are discarded.
}

I am unable to find a test case where this improves performance, but in
all my testing it doesn't hurt performance, and intuitively, it should
not ever hurt performance. It also permits us to use the guardband more
freely (see upcoming patch).

v2: Updating commit message.

v3: Commit message updates requested by Ken

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-08-10 17:13:36 -07:00
..
egl egl: Fix OpenGL ES version checks in _eglParseContextAttribList() 2014-08-04 18:31:26 -07:00
gallium gallium/radeon: Set gpu_address to 0 if r600_virtual_address is false 2014-08-10 12:54:34 +02:00
gbm gbm: Log at least one dlerror() when we fail to open any drivers. 2014-07-30 22:31:30 -07:00
getopt
glsl glsl/glcpp: Rename one test to avoid a duplicate test number 2014-08-07 16:08:29 -07:00
glx glx/dri3: add GPU offloading support. 2014-07-01 13:07:52 +10:00
gtest gtest: Update to 1.7.0. 2014-04-14 00:06:53 -07:00
hgl haiku libGL: Move from gallium target to src/hgl 2014-01-06 15:50:21 -06:00
loader util: Gather some common macros 2014-08-04 11:07:10 -07:00
mapi glapi: Do not use backtrace on DragonFly. 2014-07-30 21:48:09 -07:00
mesa i965: Simplify viewport extents programming on GEN8 2014-08-10 17:13:36 -07:00
util util: remove ralloc_test 2014-08-08 19:23:25 +01:00
Makefile.am src/Makefile.am: Move gtest before util 2014-08-04 13:21:08 -07:00
SConscript util: Move ralloc to a new src/util directory. 2014-08-04 11:06:58 -07:00