Bug 103628

Summary: [BXT, GLK, BSW] KHR-GL46.shader_ballot_tests.ShaderBallotBitmasks
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Matt Turner <mattst88>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 103491    
Attachments: Patch that probably fixes it

Description Mark Janes 2017-11-08 18:20:15 UTC
src/intel/compiler/brw_fs_generator.cpp:2234: 
int fs_generator::generate_code(const cfg_t*, int): Assertion
          `validated' failed.  [10:14]

first detected in the series ending in:
d002950e5491f971cbaa77ac80a698e5d746295a
Author:     Jason Ekstrand <jason@jlekstrand.net>

intel/fs/nir: Return Q types from brw_reg_type_for_bit_size

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Comment 1 Matt Turner 2017-11-09 22:27:19 UTC
This fails because of:

mov(8)          g21<1>UQ        g19<8,1,0>UB                    { align1 1Q };
        ERROR: Source and destination horizontal stride must equal and a multiple of a qword when the execution type is 64-bit
        ERROR: Vstride must be Width * Hstride when the execution type is 64-bit

Both of those seem valid and are specific to the Gen8/9 low power parts.
Comment 2 Jason Ekstrand 2017-11-10 01:02:12 UTC
Created attachment 135365 [details] [review]
Patch that probably fixes it

Here's a completely untested patch that should fix it.  It's a bit ugly, but I don't know what else we can do.  I'll test it properly later.
Comment 3 Matt Turner 2017-11-10 22:55:53 UTC
That works, modulo the off by one error.

I think we can just use AND 0xff with a word type to do the unsigned extract in one instruction. I'll send that patch with a few other clean ups after some testing.
Comment 4 Mark Janes 2017-11-13 21:41:42 UTC
This is probably not useful by now, but the bisection from CI was:

ab9220edd69fcb7016e15d4d96186eac524b45a4
Author:     Jason Ekstrand <jason@jlekstrand.net>
nir,intel/compiler: Use a fixed subgroup size
Comment 5 Matt Turner 2017-11-13 23:24:27 UTC
Send i965/fs: Fix extract_i8/u8 to a 64-bit destination
Comment 6 Matt Turner 2017-11-13 23:25:30 UTC
(In reply to Matt Turner from comment #5)
> Send i965/fs: Fix extract_i8/u8 to a 64-bit destination

sent*
Comment 7 Matt Turner 2017-11-14 18:57:33 UTC
commit 6ac2d16901927013393f873a34c717ece5014c1a
Author: Matt Turner <mattst88@gmail.com>
Date:   Fri Nov 10 14:00:24 2017 -0800

    i965/fs: Fix extract_i8/u8 to a 64-bit destination

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.