Bug 110239 - Mesa SIGABRT: src/intel/genxml/gen9_pack.h:72: __gen_uint: Assertion `v <= max' failed
Summary: Mesa SIGABRT: src/intel/genxml/gen9_pack.h:72: __gen_uint: Assertion `v <= ma...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-25 16:47 UTC by Yevhenii
Modified: 2019-04-03 06:04 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Yevhenii 2019-03-25 16:47:29 UTC
Library receives SIGABRT and crashes while blitting between regions with negative coordinates.

For example, if size of framebuffer is 160x160, blitting a rectangular region ((0, 0), (-80, -80)) to ((0, 0), (-160, -160)) will end up with SIGABRT and following message:

src/intel/genxml/gen9_pack.h:72: __gen_uint: Assertion `v <= max' failed
Comment 1 Yevhenii 2019-03-25 17:17:52 UTC
Patch that fixes the problem: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/522
Comment 2 Lionel Landwerlin 2019-03-27 13:39:06 UTC
Sounds like it would be trivial to build a test for this in piglit.
I think quite a few drivers might run into a similar issue (Iris like I mentioned on your MR).
Would you mind creating a test?
Comment 3 Sergii Romantsov 2019-03-27 14:17:58 UTC
Yes, we already have a test for that, but it includes more logic and checks: https://gitlab.freedesktop.org/mesa/piglit/merge_requests/30
Comment 4 Lionel Landwerlin 2019-03-27 14:25:26 UTC
(In reply to Sergii Romantsov from comment #3)
> Yes, we already have a test for that, but it includes more logic and checks:
> https://gitlab.freedesktop.org/mesa/piglit/merge_requests/30

Thanks, I'll review soon.
Skimming through the test, it doesn't seem to cover the clipping issue which is what this bug is about right?
Comment 5 Sergii Romantsov 2019-03-27 14:55:55 UTC
No, it covers. And also some more cases which will be fixed soon in separate MR.
At least case
	{ .read = -FB_SIZE, .write = -FB_SIZE,
		.color_lb  = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
		.color_lt  = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
		.color_right = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
	},
should assert
Comment 6 Lionel Landwerlin 2019-03-27 15:01:32 UTC
(In reply to Sergii Romantsov from comment #5)
> No, it covers. And also some more cases which will be fixed soon in separate
> MR.
> At least case
> 	{ .read = -FB_SIZE, .write = -FB_SIZE,
> 		.color_lb  = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
> 		.color_lt  = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
> 		.color_right = { FRONT_R, FRONT_G, FRONT_B, 1.0f },
> 	},
> should assert

Thanks for pointing this, looks good.
Comment 7 Sergii Romantsov 2019-04-03 06:04:10 UTC
Should be fixed:

commit 72a921e12ac1828998d2a32966e1dd0123eabfdf
Author: Sergii Romantsov <sergii.romantsov@globallogic.com>
Date:   Thu Feb 28 13:35:54 2019 +0200

    i965,iris/blorp: do not blit 0-sizes


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.