i965: Failed to submit batchbuffer: Bad address
This may be related to #1680 (closed)
System information
- OS: Fedora 34 Beta
- GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09)
- Kernel version: Linux 5.11.9
- Mesa version: manually built from master at b3079273 (also with 21.0.1 as shipped by F34)
- Desktop manager and compositor: Mutter 40.0
Describe the issue
- Run Google Chrome / Chromium using its Wayland backend:
google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland
- Try to resize the Chrome window
- Mutter crashes inside Mesa, taking the whole session down with it.
This is very reproducible: it happens each time here, though it sometimes takes several seconds of resizing. This happens both in GNOME Shell and in standalone Mutter (mutter --wayland
).
Log files as attachment
Immediately before the crash, the following is printed:
i965: Failed to submit batchbuffer: Bad address
A EFAULT
itself indicates a serious issue, but it looks like Mesa just does an exit(1)
instead of propagating the error to the caller:
if (ret != 0) {
fprintf(stderr, "i965: Failed to submit batchbuffer: %s\n",
strerror(-ret));
exit(1);
}
return ret;
}
That explains why my compositor crashes, taking down the whole session and losing all my unsaved work
Backtrace:
#0 0x00007fee7796bc70 in exit () from /lib64/libc.so.6
#1 0x00007fee64a16f10 in submit_batch (brw=0x5653ef33f980, in_fence_fd=-1, out_fence_fd=0x0) at ../src/mesa/drivers/dri/i965/brw_batch.c:845
#2 0x00007fee64a17180 in _brw_batch_flush_fence (brw=0x5653ef33f980, in_fence_fd=-1, out_fence_fd=0x0, file=0x7fee65a59ec8 "../src/mesa/drivers/dri/i965/brw_screen.c", line=175) at ../src/mesa/drivers/dri/i965/brw_batch.c:898
#3 0x00007fee64a2cbcc in brw_dri2_flush_with_flags (cPriv=0x5653ef324b40, dPriv=0x5653ef3f5350, flags=5, reason=__DRI2_THROTTLE_SWAPBUFFER) at ../src/mesa/drivers/dri/i965/brw_screen.c:175
#4 0x00007fee66181e2a in dri2_flush_drawable_for_swapbuffers (disp=0x5653ef2f5d00, draw=0x5653ef407160) at ../src/egl/drivers/dri2/egl_dri2.c:1980
#5 0x00007fee6618be3d in dri2_drm_swap_buffers (disp=0x5653ef2f5d00, draw=0x5653ef407160) at ../src/egl/drivers/dri2/platform_drm.c:446
#6 0x00007fee66181ec8 in dri2_swap_buffers (disp=0x5653ef2f5d00, surf=0x5653ef407160) at ../src/egl/drivers/dri2/egl_dri2.c:2001
#7 0x00007fee6617239f in eglSwapBuffers (dpy=0x5653ef2f5d00, surface=0x5653ef407160) at ../src/egl/main/eglapi.c:1346
#8 0x00007fee778f9b20 in cogl_onscreen_egl_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, info=<optimized out>, user_data=<optimized out>) at ../cogl/cogl/winsys/cogl-onscreen-egl.c:296
#9 0x00007fee77fe6f71 in meta_onscreen_native_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, frame_info=0x5653efb2c360, user_data=0x7fff6f8abe60)
at ../src/backends/native/meta-onscreen-native.c:1033
#10 0x00007fee778f142d in cogl_onscreen_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, info=0x5653efb2c360, user_data=0x7fff6f8abe60) at ../cogl/cogl/cogl-onscreen.c:324
#11 0x00007fee7783d346 in swap_framebuffer (stage_window=<optimized out>, view=<optimized out>, swap_region=<optimized out>, swap_with_damage=<optimized out>, frame=<optimized out>) at ../clutter/clutter/cogl/clutter-stage-cogl.c:299
#12 0x00007fee7783dc8f in clutter_stage_cogl_redraw_view_primary (frame=0x7fff6f8abe60, view=0x5653ef408210, stage_cogl=<optimized out>) at ../clutter/clutter/cogl/clutter-stage-cogl.c:672
#13 clutter_stage_cogl_redraw_view (stage_window=<optimized out>, view=0x5653ef408210, frame=0x7fff6f8abe60) at ../clutter/clutter/cogl/clutter-stage-cogl.c:741
#14 0x00007fee77fec43b in meta_stage_native_redraw_view (stage_window=<optimized out>, view=0x5653ef408210, frame=0x7fff6f8abe60) at ../src/backends/native/meta-stage-native.c:139
#15 0x00007fee77821786 in _clutter_stage_window_redraw_view (frame=0x7fff6f8abe60, view=0x5653ef408210, window=0x5653ef19df30) at ../clutter/clutter/clutter-stage-window.c:113
#16 handle_frame_clock_frame (frame_clock=<optimized out>, frame_count=<optimized out>, time_us=<optimized out>, user_data=0x5653ef408210) at ../clutter/clutter/clutter-stage-view.c:1187
#17 0x00007fee777ecb40 in clutter_frame_clock_dispatch (time_us=7341709794, frame_clock=0x5653ef3e30b0) at ../clutter/clutter/clutter-frame-clock.c:506
#18 frame_clock_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../clutter/clutter/clutter-frame-clock.c:546
#19 0x00007fee77da1377 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#20 0x00007fee77df52c8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#21 0x00007fee77da0943 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#22 0x00007fee77f4a640 in meta_run_main_loop () at ../src/core/main.c:928
#23 0x00007fee77f527e2 in meta_run () at ../src/core/main.c:943
#24 0x00005653eec202f9 in main (argc=<optimized out>, argv=<optimized out>) at ../src/core/mutter.c:78
bt full
with debug symbols
(gdb) bt full
#0 0x00007fee7796bc70 in exit () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007fee64a16f10 in submit_batch (brw=0x5653ef33f980, in_fence_fd=-1, out_fence_fd=0x0) at ../src/mesa/drivers/dri/i965/brw_batch.c:845
batch = 0x5653ef38a0c0
ret = -14
__PRETTY_FUNCTION__ = "submit_batch"
#2 0x00007fee64a17180 in _brw_batch_flush_fence (brw=0x5653ef33f980, in_fence_fd=-1, out_fence_fd=0x0, file=0x7fee65a59ec8 "../src/mesa/drivers/dri/i965/brw_screen.c", line=175) at ../src/mesa/drivers/dri/i965/brw_batch.c:898
ret = 22099
__PRETTY_FUNCTION__ = "_brw_batch_flush_fence"
#3 0x00007fee64a2cbcc in brw_dri2_flush_with_flags (cPriv=0x5653ef324b40, dPriv=0x5653ef3f5350, flags=5, reason=__DRI2_THROTTLE_SWAPBUFFER) at ../src/mesa/drivers/dri/i965/brw_screen.c:175
brw = 0x5653ef33f980
ctx = 0x5653ef33f980
__func__ = "brw_dri2_flush_with_flags"
#4 0x00007fee66181e2a in dri2_flush_drawable_for_swapbuffers (disp=0x5653ef2f5d00, draw=0x5653ef407160) at ../src/egl/drivers/dri2/egl_dri2.c:1980
ctx = 0x5653ef324920
dri2_ctx = 0x5653ef324920
dri2_dpy = 0x5653ef2f6330
dri_drawable = 0x5653ef3f5350
#5 0x00007fee6618be3d in dri2_drm_swap_buffers (disp=0x5653ef2f5d00, draw=0x5653ef407160) at ../src/egl/drivers/dri2/platform_drm.c:446
dri2_dpy = 0x5653ef2f6330
dri2_surf = 0x5653ef407160
#6 0x00007fee66181ec8 in dri2_swap_buffers (disp=0x5653ef2f5d00, surf=0x5653ef407160) at ../src/egl/drivers/dri2/egl_dri2.c:2001
dri2_dpy = 0x5653ef2f6330
dri_drawable = 0x5653ef3f5350
ctx = 0x5653ef324920
ret = 32750
#7 0x00007fee6617239f in eglSwapBuffers (dpy=0x5653ef2f5d00, surface=0x5653ef407160) at ../src/egl/main/eglapi.c:1346
ctx = 0x5653ef324920
disp = 0x5653ef2f5d00
surf = 0x5653ef407160
ret = 22099
__func__ = "eglSwapBuffers"
#8 0x00007fee778f9b20 in cogl_onscreen_egl_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, info=<optimized out>, user_data=<optimized out>) at ../cogl/cogl/winsys/cogl-onscreen-egl.c:296
onscreen_egl = <optimized out>
priv = 0x5653ef403190
framebuffer = <optimized out>
context = 0x5653ef390850
renderer = <optimized out>
egl_renderer = 0x5653ef324480
CoglTraceCoglOnscreenEGLSwapBuffersWithDamage = {begin_time = 0, name = 0x0}
ScopedCoglTraceCoglOnscreenEGLSwapBuffersWithDamage = 0x0
#9 0x00007fee77fe6f71 in meta_onscreen_native_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, frame_info=0x5653efb2c360, user_data=0x7fff6f8abe60)
at ../src/backends/native/meta-onscreen-native.c:1033
framebuffer = <optimized out>
cogl_context = <optimized out>
cogl_display = 0x5653ef32c270
cogl_renderer = <optimized out>
cogl_renderer_egl = <optimized out>
renderer_gpu_data = <optimized out>
renderer_native = 0x7fee58005340
renderer = <optimized out>
backend = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
backend_native = <optimized out>
monitor_manager = 0x5653ef11cb50
kms = 0x5653ef11e070
onscreen_native = 0x5653ef4032b0
render_gpu = 0x5653ef117960
render_kms_device = 0x5653ef11af10
frame = 0x7fff6f8abe60
parent_class = <optimized out>
egl_context_changed = 0
use_modifiers = <optimized out>
power_save_mode = <optimized out>
error = 0x0
buffer_gbm = <optimized out>
kms_crtc = <optimized out>
kms_device = <optimized out>
flags = <optimized out>
kms_feedback = 0x0
feedback_error = <optimized out>
CoglTraceMetaRendererNativeSwapBuffers = {begin_time = 0, name = 0x0}
ScopedCoglTraceMetaRendererNativeSwapBuffers = 0x0
CoglTraceMetaRendererNativePostKmsUpdate = {begin_time = 0, name = 0x0}
ScopedCoglTraceMetaRendererNativePostKmsUpdate = <optimized out>
__func__ = "meta_onscreen_native_swap_buffers_with_damage"
#10 0x00007fee778f142d in cogl_onscreen_swap_buffers_with_damage (onscreen=0x5653ef4032b0, rectangles=0x7fff6f8abb90, n_rectangles=2, info=0x5653efb2c360, user_data=0x7fff6f8abe60) at ../cogl/cogl/cogl-onscreen.c:324
priv = 0x5653ef4031a0
framebuffer = 0x5653ef4032b0
klass = 0x5653ef1932c0
__func__ = "cogl_onscreen_swap_buffers_with_damage"
#11 0x00007fee7783d346 in swap_framebuffer (stage_window=<optimized out>, view=<optimized out>, swap_region=<optimized out>, swap_with_damage=<optimized out>, frame=<optimized out>) at ../clutter/clutter/cogl/clutter-stage-cogl.c:299
i = <optimized out>
frame_info = <optimized out>
onscreen = <optimized out>
damage = 0x7fff6f8abb90
n_rects = 2
stage_cogl = <optimized out>
priv = <optimized out>
framebuffer = <optimized out>
__func__ = "swap_framebuffer"
#12 0x00007fee7783dc8f in clutter_stage_cogl_redraw_view_primary (frame=0x7fff6f8abe60, view=0x5653ef408210, stage_cogl=<optimized out>) at ../clutter/clutter/cogl/clutter-stage-cogl.c:672
onscreen = <optimized out>
is_full_redraw = <optimized out>
use_clipped_redraw = <optimized out>
redraw_clip = 0x0
fb_clip_region = 0x0
ScopedCoglTraceClutterStageCoglRedrawViewSwapFramebuffer = 0x0
swap_with_damage = 1
buffer_age = <optimized out>
stage_window = 0x5653ef19df30
view_cogl = <optimized out>
view_priv = <optimized out>
view_rect = {x = 0, y = 18, width = 1920, height = 1080}
has_buffer_age = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
swap_region = 0x5653efd69370
fb_width = <optimized out>
fb_height = <optimized out>
can_blit_sub_buffer = <optimized out>
fb = 0x5653ef4032b0
queued_redraw_clip = 0x0
fb_scale = 1
CoglTraceClutterStageCoglRedrawViewSwapFramebuffer = {begin_time = 0, name = 0x0}
stage_window = <optimized out>
view_cogl = <optimized out>
view_priv = <optimized out>
fb = <optimized out>
onscreen = <optimized out>
view_rect = {x = <optimized out>, y = <optimized out>, width = <optimized out>, height = <optimized out>}
is_full_redraw = <optimized out>
use_clipped_redraw = <optimized out>
can_blit_sub_buffer = <optimized out>
has_buffer_age = <optimized out>
swap_with_damage = <optimized out>
redraw_clip = <optimized out>
queued_redraw_clip = <optimized out>
fb_clip_region = <optimized out>
swap_region = <optimized out>
fb_scale = <optimized out>
fb_width = <optimized out>
fb_height = <optimized out>
buffer_age = <optimized out>
__func__ = {<optimized out> <repeats 39 times>}
CoglTraceClutterStageCoglRedrawViewSwapFramebuffer = {begin_time = <optimized out>, name = <optimized out>}
ScopedCoglTraceClutterStageCoglRedrawViewSwapFramebuffer = <optimized out>
_g_boolean_var_ = <optimized out>
fb_rect = {x = <optimized out>, y = <optimized out>, width = <optimized out>, height = <optimized out>}
_g_boolean_var_ = <optimized out>
_pp = <optimized out>
_ptr = <optimized out>
_g_boolean_var_ = <optimized out>
age = <optimized out>
old_damage = <optimized out>
debug_redraw_clip = <optimized out>
_pp = <optimized out>
_ptr = <optimized out>
_pp = <optimized out>
_ptr = <optimized out>
transformed_swap_region = <optimized out>
swap_region_in_stage_space = <optimized out>
#13 clutter_stage_cogl_redraw_view (stage_window=<optimized out>, view=0x5653ef408210, frame=0x7fff6f8abe60) at ../clutter/clutter/cogl/clutter-stage-cogl.c:741
stage_cogl = <optimized out>
scanout = 0x0
#14 0x00007fee77fec43b in meta_stage_native_redraw_view (stage_window=<optimized out>, view=0x5653ef408210, frame=0x7fff6f8abe60) at ../src/backends/native/meta-stage-native.c:139
crtc = <optimized out>
__func__ = "meta_stage_native_redraw_view"
_g_boolean_var_ = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00007fee77821786 in _clutter_stage_window_redraw_view (frame=0x7fff6f8abe60, view=0x5653ef408210, window=0x5653ef19df30) at ../clutter/clutter/clutter-stage-window.c:113
__func__ = {<optimized out> <repeats 34 times>}
#16 handle_frame_clock_frame (frame_clock=<optimized out>, frame_count=<optimized out>, time_us=<optimized out>, user_data=0x5653ef408210) at ../clutter/clutter/clutter-stage-view.c:1187
view = 0x5653ef408210
priv = <optimized out>
stage = 0x5653ef3fbf10
stage_window = 0x5653ef19df30
devices = 0x0
frame = {has_result = 0, result = CLUTTER_FRAME_RESULT_PENDING_PRESENTED}
#17 0x00007fee777ecb40 in clutter_frame_clock_dispatch (time_us=7341709794, frame_clock=0x5653ef3e30b0) at ../clutter/clutter/clutter-frame-clock.c:506
frame_count = 268
CoglTraceClutterFrameClockDispatch = {begin_time = 0, name = 0x0}
ScopedCoglTraceClutterFrameClockDispatch = 0x0
CoglTraceClutterFrameClockFrame = {begin_time = 0, name = 0x0}
result = <optimized out>
CoglTraceClutterFrameClockEvents = {begin_time = 0, name = 0x0}
CoglTraceClutterFrameClockTimelines = {begin_time = 0, name = 0x0}
frame_count = <optimized out>
result = <optimized out>
CoglTraceClutterFrameClockDispatch = {begin_time = <optimized out>, name = <optimized out>}
ScopedCoglTraceClutterFrameClockDispatch = <optimized out>
CoglTraceClutterFrameClockEvents = {begin_time = <optimized out>, name = <optimized out>}
CoglTraceClutterFrameClockTimelines = {begin_time = <optimized out>, name = <optimized out>}
CoglTraceClutterFrameClockFrame = {begin_time = <optimized out>, name = <optimized out>}
__func__ = {<optimized out> <repeats 29 times>}
#18 frame_clock_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../clutter/clutter/clutter-frame-clock.c:546
clock_source = <optimized out>
frame_clock = 0x5653ef3e30b0
dispatch_time_us = 7341709794
#19 0x00007fee77da1377 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
No symbol table info available.
#20 0x00007fee77df52c8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
No symbol table info available.
#21 0x00007fee77da0943 in g_main_loop_run () from /lib64/libglib-2.0.so.0
No symbol table info available.
#22 0x00007fee77f4a640 in meta_run_main_loop () at ../src/core/main.c:928
No locals.
#23 0x00007fee77f527e2 in meta_run () at ../src/core/main.c:943
No locals.
#24 0x00005653eec202f9 in main (argc=<optimized out>, argv=<optimized out>) at ../src/core/mutter.c:78
ctx = 0x5653ef10d640
error = 0x0
(gdb) up 4
#4 0x00007fee66181e2a in dri2_flush_drawable_for_swapbuffers (disp=0x5653ef2f5d00, draw=0x5653ef407160) at ../src/egl/drivers/dri2/egl_dri2.c:1980
(gdb) p *ctx
$1 = {Resource = {Display = 0x5653ef2f5d00, IsLinked = 1, RefCount = 3, Label = 0x0, Next = 0x5653ef268150}, Binding = 0x5653ef1877a0, DrawSurface = 0x5653ef407160, ReadSurface = 0x5653ef407160, Config = 0x5653ef2f6900,
ClientAPI = 12450, ClientMajorVersion = 3, ClientMinorVersion = 1, Flags = 2, Profile = 1, ResetNotificationStrategy = 12734, ContextPriority = 12546, NoError = 0, ReleaseBehavior = 8344}
(gdb) p *dri2_dpy
$2 = {vtbl = 0x7fee661b1880 <dri2_drm_display_vtbl>, dri2_major = 0, dri2_minor = 0, dri_screen = 0x5653ef169780, own_dri_screen = false, driver_configs = 0x5653ef13ac60, driver = 0x5653ef26a410, core = 0x7fee65f093e0 <driCoreExtension>,
image_driver = 0x0, dri2 = 0x7fee65e0abe0 <driDRI2Extension>, swrast = 0x0, flush = 0x7fee65f09340 <brwFlushExtension>, flush_control = 0x0, tex_buffer = 0x7fee65f09300 <brwTexBufferExtension>,
image = 0x7fee65e0aa80 <brwImageExtension>, robustness = 0x7fee65e0ab80 <dri2Robustness>, no_error = 0x7fee65e0acb0 <dri2NoErrorExtension>, config = 0x7fee65e0ac40 <dri2ConfigQueryExtension>, fence = 0x7fee65e098c0 <brwFenceExtension>,
buffer_damage = 0x0, blob = 0x7fee65e0ab90 <brwBlobExtension>, rendererQuery = 0x7fee65e0ab60 <brwRendererQueryExtension>, interop = 0x0, configOptions = 0x7fee65e0aa60 <brw_config_options>,
mutable_render_buffer = 0x7fee65e0abb0 <brwMutableRenderBufferExtension>, fd = 14, ref_count = 2, own_device = false, invalidate_available = false, min_swap_interval = 1, max_swap_interval = 1, default_swap_interval = 1,
gbm_dri = 0x5653ef2ef870, driver_name = 0x5653ef14be30 "i965", loader_extensions = 0x0, driver_extensions = 0x7fee65f21180 <brw_driver_extensions>, conn = 0x0, screen = 0x0, swap_available = false, multibuffers_available = false,
dri3_major_version = 0, dri3_minor_version = 0, present_major_version = 0, present_minor_version = 0, loader_dri3_ext = {core = 0x0, image_driver = 0x0, flush = 0x0, config = 0x0, tex_buffer = 0x0, image = 0x0}, wl_dpy = 0x0,
wl_dpy_wrapper = 0x0, wl_registry = 0x0, wl_server_drm = 0x5653ef32c060, wl_drm = 0x0, wl_shm = 0x0, wl_queue = 0x0, wl_dmabuf = 0x0, wl_modifiers = 0x0, authenticated = false, formats = {0}, capabilities = 0,
device_name = 0x5653ef14b930 "/dev/dri/card0", is_render_node = false, is_different_gpu = false}
(gdb) down 3
(gdb) p brw->batch
$3 = {batch = {bo = 0x5653efa14070, map = 0x7fee643e2000, partial_bo = 0x0, partial_bo_map = 0x0, partial_bytes = 0, memzone = BRW_MEMZONE_OTHER}, state = {bo = 0x5653efabaab0, map = 0x7fee660f1000, partial_bo = 0x0,
partial_bo_map = 0x0, partial_bytes = 0, memzone = BRW_MEMZONE_LOW_4G}, last_bo = 0x5653ef33f8e0, emit = 843, total = 0, map_next = 0x7fee643e2d48, state_used = 2240, use_shadow_copy = false, use_batch_first = true,
needs_sol_reset = false, state_base_address_emitted = true, no_wrap = false, batch_relocs = {relocs = 0x5653ef339b20, reloc_count = 38, reloc_array_size = 250}, state_relocs = {relocs = 0x5653ef33ba70, reloc_count = 6,
reloc_array_size = 250}, valid_reloc_flags = 4, validation_list = 0x5653ef38f260, exec_bos = 0x5653ef33dc30, exec_count = 15, exec_array_size = 100, aperture_space = 23736320, saved = {map_next = 0x7fee643e2b08,
batch_reloc_count = 33, state_reloc_count = 4, exec_count = 15}, state_batch_sizes = 0x0, decoder = {get_bo = 0x0, get_state_size = 0x0, user_data = 0x0, fp = 0x0, devinfo = {gen = 0, genx10 = 0, revision = 0, gt = 0, is_g4x = false,
is_ivybridge = false, is_baytrail = false, is_haswell = false, is_broadwell = false, is_cherryview = false, is_skylake = false, is_broxton = false, is_kabylake = false, is_geminilake = false, is_coffeelake = false,
is_elkhartlake = false, is_tigerlake = false, is_rocketlake = false, is_dg1 = false, is_alderlake = false, has_hiz_and_separate_stencil = false, must_use_separate_stencil = false, has_sample_with_hiz = false, has_llc = false,
has_pln = false, has_64bit_float = false, has_64bit_int = false, has_integer_dword_mul = false, has_compr4 = false, has_surface_tile_offset = false, supports_simd16_3src = false, has_resource_streamer = false,
disable_ccs_repack = false, has_aux_map = false, has_tiling_uapi = false, has_ray_tracing = false, has_negative_rhw_bug = false, needs_unlit_centroid_workaround = false, num_slices = 0, num_subslices = {0, 0, 0, 0, 0, 0, 0, 0},
ppipe_subslices = {0, 0, 0}, num_eu_per_subslice = 0, num_thread_per_eu = 0, slice_masks = 0 '\000', subslice_masks = "\000\000\000\000\000", eu_masks = '\000' <repeats 95 times>, subslice_slice_stride = 0, eu_slice_stride = 0,
eu_subslice_stride = 0, l3_banks = 0, max_vs_threads = 0, max_tcs_threads = 0, max_tes_threads = 0, max_gs_threads = 0, max_wm_threads = 0, max_cs_threads = 0, urb = {size = 0, min_entries = {0, 0, 0, 0}, max_entries = {0, 0, 0,
0}}, cs_prefetch_size = 0, timestamp_frequency = 0, aperture_bytes = 0, simulator_id = 0, chipset_id = 0, no_hw = false}, spec = 0x0, flags = 0, use_256B_binding_tables = false, surface_base = 0, bt_pool_base = 0,
dynamic_base = 0, instruction_base = 0, max_vbo_decoded_lines = 0, engine = I915_ENGINE_CLASS_RENDER, n_batch_buffer_start = 0}}