Bug 106389 - [BSW BXT GLK] dEQP-VK.spirv_assembly.instruction.compute.sconvert.(u)int16 tests failing
Summary: [BSW BXT GLK] dEQP-VK.spirv_assembly.instruction.compute.sconvert.(u)int16 te...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Iago Toral
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-03 18:44 UTC by Clayton Craft
Modified: 2018-05-05 10:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Clayton Craft 2018-05-03 18:44:32 UTC
We are seeing the following tests fail in mesa CI on BSW, GLK, and BXT platforms:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_int64
dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint16_to_uint64
dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_uint64



These failures are attributed to the patch series starting at:

commit 5361a87ee73848d9f7fab0b715563b3d9de7f3df
Author: Iago Toral Quiroga <itoral@igalia.com>
Date:   Tue Mar 6 08:57:26 2018 +0100

    intel/compiler: fix isign for 16-bit integers




Output from tests is:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_int64:
  INTEL-MESA: error: ../src/intel/vulkan/anv_queue.c:275:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/genX_state.c:247:
  VK_ERROR_OUT_OF_HOST_MEMORY
  deqp-vk: ../src/intel/compiler/brw_fs_generator.cpp:2482: int
  fs_generator::generate_code(const cfg_t*, int): Assertion `validated' failed.

dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint16_to_uint64:
  INTEL-MESA: warning: ../src/intel/vulkan/anv_device.c:1034: FINISHME: Implement
  pop-free point clipping
  INTEL-MESA: debug: anv_GetPhysicalDeviceProperties2: ignored VkStructureType
  1000145002
  INTEL-MESA: debug: anv_GetPhysicalDeviceProperties2: ignored VkStructureType
  1000145002
  INTEL-MESA: error: ../src/intel/vulkan/anv_device.c:2602:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_image.c:581:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_cmd_buffer.c:194:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_batch_chain.c:273:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_batch_chain.c:67:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_batch_chain.c:75:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_batch_chain.c:67:
  VK_ERROR_OUT_OF_HOST_MEMORY
  ../src/intel/isl/isl.c:683: FINISHME:
  ../src/intel/isl/isl.c:isl_calc_phys_level0_extent_sa: YUV format
  deqp-vk: ../src/intel/compiler/brw_fs_generator.cpp:2482: int
  fs_generator::generate_code(const cfg_t*, int): Assertion `validated' failed.

dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_uint64:
  INTEL-MESA: error: ../src/intel/vulkan/anv_device.c:2602:
  VK_ERROR_OUT_OF_HOST_MEMORY
  INTEL-MESA: error: ../src/intel/vulkan/anv_image.c:581:
  VK_ERROR_OUT_OF_HOST_MEMORY
  deqp-vk: ../src/intel/compiler/brw_fs_generator.cpp:2482: int
  fs_generator::generate_code(const cfg_t*, int): Assertion `validated' failed.
Comment 1 Mark Janes 2018-05-03 19:48:29 UTC
These failures would not have shown up in developer CI builds, because the atom platforms are too slow to run the test suite.  We run on atom on a nightly basis.
Comment 2 Iago Toral 2018-05-04 06:19:05 UTC
(In reply to Mark Janes from comment #1)
> These failures would not have shown up in developer CI builds, because the
> atom platforms are too slow to run the test suite.  We run on atom on a
> nightly basis.

Ugh, good to know. What should be the workflow for future feature work? We don't want to land new features that have not been tested on all platforms where the feature should be enabled, I guess we can ask you or someone at Intel to specifically run CI on these platforms from a given branch?

I think we have a BSW system around the office, I'll set it up and try to figure out what we are missing for this system.
Comment 3 Iago Toral 2018-05-04 08:23:11 UTC
I got to test this on BSW, but all the tests are reported as "pass" for me, every time. However, using INTEL_DEBUG=cs I do see assembly validation errors reported. Looks like a trivial fix.

Mark, since the fix is specific to these platforms and these are not going to be tested through Jenkins, I'll send the patch to mesa-dev for review with you on CC. Would you be able to verify the fix? I am doing some testing of my own on my BSW NUC, but that doesn't cover all the platforms reported and I might not be able to run a full CTS execution here seeing how slow this NUC is.
Comment 4 Iago Toral 2018-05-04 11:28:28 UTC
A series that fixes this is available for review here:
https://lists.freedesktop.org/archives/mesa-dev/2018-May/194049.html
Comment 5 Mark Janes 2018-05-04 18:12:49 UTC
If you have to test a series on atom, send mail to me and I will get results for you.

Atom/i915/m32 failures are very rare, and catching them on the nightly tests has been acceptable for most of the team.  If you know you are working on something that has the potential to blow up on these targets, we can test them for you.

I'll test your series.
Comment 6 Iago Toral 2018-05-05 10:51:35 UTC
(In reply to Mark Janes from comment #5)
> If you have to test a series on atom, send mail to me and I will get results
> for you.
> 
> Atom/i915/m32 failures are very rare, and catching them on the nightly tests
> has been acceptable for most of the team.  If you know you are working on
> something that has the potential to blow up on these targets, we can test
> them for you.

Ok, makes sense, I'll take this into account for the next time. Thanks Mark!
Comment 7 Iago Toral 2018-05-05 10:52:05 UTC
Fixed in master with:

commit a75f967388b3224fb4da02f5bd01916018b639d4
Author: Iago Toral Quiroga <itoral@igalia.com>
Date:   Fri May 4 09:55:55 2018 +0200

    intel/compiler: handle 16-bit to 64-bit conversions in BSW platforms
    
    These are subject to the general restriction that anything that is converted
    to 64-bit needs to be aligned to 64-bit.  We had this already in place for
    32-bit to 64-bit conversions, so this patch generalizes the implementation
    to take effect on any conversion to 64-bit from a source smaller than
    64-bit.
    
    Fixes assembly validation errors in the following CTS tests in BSW:
    dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_int64
    dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint16_to_uint64
    dEQP-VK.spirv_assembly.instruction.compute.sconvert.int16_to_uint64
    
    Tested-by: Mark Janes <mark.a.janes@intel.com>
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>


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.