i965: Respect the no_8 flag on Gen6, not just Gen7+.
When doing repclears, we only want to use the SIMD16 program, not the SIMD8 one. Kristian added this to the Gen7+ code, but apparently we missed it in the Gen6 code. This patch copies that code over. Approximately doubles the performance in a clear microbenchmark from mesa-demos (clearspd -width 500 -height 500 +color) on Sandybridge. Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Matt Turner <mattst88@gmail.com> References: https://code.google.com/p/chrome-os-partner/issues/detail?id=34681
This commit is contained in:
@@ -135,10 +135,10 @@ upload_wm_state(struct brw_context *brw)
|
||||
_mesa_get_min_invocations_per_fragment(ctx, brw->fragment_program, false);
|
||||
assert(min_inv_per_frag >= 1);
|
||||
|
||||
if (prog_data->prog_offset_16) {
|
||||
if (prog_data->prog_offset_16 || prog_data->no_8) {
|
||||
dw5 |= GEN6_WM_16_DISPATCH_ENABLE;
|
||||
|
||||
if (min_inv_per_frag == 1) {
|
||||
if (!prog_data->no_8 && min_inv_per_frag == 1) {
|
||||
dw5 |= GEN6_WM_8_DISPATCH_ENABLE;
|
||||
dw4 |= (prog_data->base.dispatch_grf_start_reg <<
|
||||
GEN6_WM_DISPATCH_START_GRF_SHIFT_0);
|
||||
|
Reference in New Issue
Block a user