OpenTTD

Tasklist

FS#5855 - ssse3 blitter bug

Attached to Project: OpenTTD
Opened by Ivan Piskovoy (pi1985) - Wednesday, 08 January 2014, 07:24 GMT
Last edited by Remko Bijker (Rubidium) - Monday, 13 January 2014, 18:15 GMT
Type Bug
Category Core
Status Closed
Assigned To No-one
Operating System Linux
Severity Medium
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

With this blitter game can't start. After showing black window it crashes.
This task depends upon

Closed by  Remko Bijker (Rubidium)
Monday, 13 January 2014, 18:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r26247
Comment by Remko Bijker (Rubidium) - Sunday, 12 January 2014, 19:55 GMT
Seems to be the same as  FS#5854 ; also the dst pointer being 'not right'.

#0 0x000000000071633d in _mm_loadu_si128 (__P=0x2aaab579fff4)
at /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:684
No locals.
#1 Blitter_32bppSSSE3::Draw<(BlitterMode)0, (Blitter_32bppSSE_Base::ReadMode)0, (Blitter_32bppSSE_Base::BlockType)0> (this=0x1826da0, bp=0x7fffffffd110, zoom=ZOOM_LVL_OUT_32X)
at /home/rubidium/openttd/clean/src/blitter/32bpp_ssse3.cpp:96
old_dst = 0x2aaab579ffec
x = 2
srcABCD = {13891328692672790, 0}
dstABCD = {0, 0}
dst = 0x2aaab579fff4
src = 0x2aaab8800760
src_mv = 0x2aaab8800790
y = 1
remap = 0x2aaab5970789 ""
a_cm = {-273752507676922, -264921920172274}
ob_check = {4295032833, 4295032833}
tr_nom_base = {72058693566333184, 72058693566333184}
effective_width = 8
sd = 0x2aaab87bffe8
ob_cm = {506374582630875392, 506376790277751554}
dst_line = 0x2aaab579ffdc
si = 0x2aaab87c0024
src_mv_line = 0x2aaab8800790
pack_hi_cm = {-1, -68668860562931200}
src_rgba_line = 0x2aaab8800740
briAB_cm = {144117391427699201, 144117400017764867}
div_cleaner = {71778313822994943, 71778313822994943}
ob_mask = {1095233372415, 1095233372415}
#2 0x0000000000714ab6 in Blitter_32bppSSSE3::Draw (this=0x1826da0, bp=0x7fffffffd110, mode=BM_NORMAL,
zoom=ZOOM_LVL_OUT_32X) at /home/rubidium/openttd/clean/src/blitter/32bpp_ssse3.cpp:263
bt_last = Blitter_32bppSSE_Base::BT_EVEN
#3 0x00000000007cf717 in GfxBlitter<4, false> (sprite=0x2aaab87bffe0, x=-63, y=32, mode=BM_NORMAL, sub=0x0,
sprite_id=3981, zoom=ZOOM_LVL_OUT_32X) at /home/rubidium/openttd/clean/src/gfx.cpp:946
__PRETTY_FUNCTION__ = "void GfxBlitter(const Sprite*, int, int, BlitterMode, const SubSprite*, SpriteID, ZoomLevel) [with int ZOOM_BASE = 4; bool SCALED_XY = false; SpriteID = unsigned int]"
dpi = 0x1807ba0 <_vd>
bp = {sprite = 0x2aaab87bffe8, remap = 0x2aaab5970789 "", skip_left = 0, skip_top = 0, width = 8,
height = 3, sprite_width = 256, sprite_height = 128, left = 39, top = 33, dst = 0x2aaab577cf40,
pitch = 1024}
x_unscaled = 39
y_unscaled = 33
#4 0x00000000007cda81 in GfxMainBlitterViewport (sprite=0x2aaab87bffe0, x=-21760, y=40768, mode=BM_NORMAL,
sub=0x0, sprite_id=3981) at /home/rubidium/openttd/clean/src/gfx.cpp:951
No locals.
#5 0x00000000007cd8eb in DrawSpriteViewport (img=3981, pal=0, x=-21760, y=40768, sub=0x0)
at /home/rubidium/openttd/clean/src/gfx.cpp:793
real_sprite = 3981
#6 0x0000000000abaf8c in ViewportDrawTileSprites (tstdv=0x1807bd0 <_vd+48>)
at /home/rubidium/openttd/clean/src/viewport.cpp:1265
ts = 0x3b06fe0
tsend = 0x3b07940
#7 0x0000000000abb8da in ViewportDoDraw (vp=0x1b354e0, left=-23088, top=39728, right=-21552, bottom=40880)
at /home/rubidium/openttd/clean/src/viewport.cpp:1460
old_dpi = 0x7fffffffd820
mask = -32
y = 570
psd_end = 0x38de710
dp = {dst_ptr = 0x2aaab5759f40, left = -722, top = 1206, width = 48, height = 35, pitch = 1024,
zoom = ZOOM_LVL_BEGIN}
x = 976
zoom = ZOOM_LVL_OUT_32X
#8 0x0000000000abbc52 in ViewportDrawChk (vp=0x1b354e0, left=976, top=570, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1523
No locals.
#9 0x0000000000abbb51 in ViewportDrawChk (vp=0x1b354e0, left=976, top=535, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 570
#10 0x0000000000abbb99 in ViewportDrawChk (vp=0x1b354e0, left=928, top=535, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1515
t = 976
#11 0x0000000000abbb51 in ViewportDrawChk (vp=0x1b354e0, left=928, top=464, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 535
#12 0x0000000000abbb99 in ViewportDrawChk (vp=0x1b354e0, left=832, top=464, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1515
t = 928
#13 0x0000000000abbb51 in ViewportDrawChk (vp=0x1b354e0, left=832, top=322, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 464
#14 0x0000000000abbb51 in ViewportDrawChk (vp=0x1b354e0, left=832, top=39, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 322
#15 0x0000000000abbd55 in ViewportDraw (vp=0x1b354e0, left=832, top=39, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/viewport.cpp:1541
No locals.
#16 0x0000000000abbde0 in Window::DrawViewport (this=0x1f5c840)
at /home/rubidium/openttd/clean/src/viewport.cpp:1554
dpi = 0x7fffffffd820
#17 0x0000000000ad483f in NWidgetViewport::Draw (this=0x1b88f50, w=0x1f5c840)
at /home/rubidium/openttd/clean/src/widget.cpp:1898
No locals.
#18 0x0000000000ad1aa8 in NWidgetPIPContainer::Draw (this=0x1e82400, w=0x1f5c840)
at /home/rubidium/openttd/clean/src/widget.cpp:1100
child_wid = 0x1b88f50
#19 0x0000000000ad0986 in Window::DrawWidgets (this=0x1f5c840) at /home/rubidium/openttd/clean/src/widget.cpp:604
No locals.
#20 0x0000000000837bf4 in MainWindow::OnPaint (this=0x1f5c840)
at /home/rubidium/openttd/clean/src/main_gui.cpp:265
No locals.
#21 0x0000000000ade1e7 in DrawOverlappedWindow (w=0x1f5c840, left=832, top=39, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/window.cpp:900
v = 0x0
dp = 0x7fffffffd820
#22 0x0000000000ade06f in DrawOverlappedWindow (w=0x1f5c840, left=192, top=39, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/window.cpp:871
x = 832
v = 0x1b8c440
dp = 0x7fffffffd820
#23 0x0000000000ade014 in DrawOverlappedWindow (w=0x1f5c840, left=0, top=39, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/window.cpp:865
x = 192
v = 0x1b8c440
dp = 0x7fffffffd7b0
#24 0x0000000000ade11c in DrawOverlappedWindow (w=0x1f5c840, left=0, top=0, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/window.cpp:883
x = 39
v = 0x1cdf6e0
dp = 0x7fffffffd800
#25 0x0000000000ade2a3 in DrawOverlappedWindowForAll (left=0, top=0, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/window.cpp:924
w = 0x1f5c840
bk = {dst_ptr = 0x2aaab5569d00, left = 832, top = 39, width = 192, height = 567, pitch = 1024,
zoom = ZOOM_LVL_BEGIN}
#26 0x00000000007ce5d7 in RedrawScreenRect (left=0, top=0, right=1024, bottom=606)
at /home/rubidium/openttd/clean/src/gfx.cpp:1261
__PRETTY_FUNCTION__ = "void RedrawScreenRect(int, int, int, int)"
#27 0x00000000007ce8b3 in DrawDirtyBlocks () at /home/rubidium/openttd/clean/src/gfx.cpp:1353
top = 0
h2 = 76
left = 0
right = 1024
bottom = 606
p = 0x3b11e4f ""
w = 1024
y = 0
__PRETTY_FUNCTION__ = "void DrawDirtyBlocks()"
b = 0x3b11e40 ""
h = 608
x = 0
#28 0x0000000000ae3204 in UpdateWindows () at /home/rubidium/openttd/clean/src/window.cpp:3020
w = 0x0
highlight_timer = 14
we4_timer = 32
t = 32
#29 0x0000000000ab7220 in VideoDriver_SDL::MainLoop (this=0x181d0f0)
at /home/rubidium/openttd/clean/src/video/sdl_v.cpp:780
old_ctrl_pressed = false
prev_cur_ticks = 67332
cur_ticks = 67741
last_cur_ticks = 67741
next_tick = 67771
keys = 0x2aaaab7801c0 ""
mod = 0
numkeys = 323
#30 0x00000000008ebc4d in openttd_main (argc=2, argv=0x7fffffffe2a8)
at /home/rubidium/openttd/clean/src/openttd.cpp:869
musicdriver = 0x18a79a0 "Enable road vehicles"
resolution = {width = 0, height = 0}
mgo = {opt = 0x7fffffffe58c "32bpp-ssse3", numleft = 0, argv = 0x7fffffffe2b8,
options = 0xcacb40 <_options>, cont = 0x0}
ret = 0
i = -1
scanner = 0x0
debuglog_conn = 0x0
sounddriver = 0x18a79a0 "Enable road vehicles"
videodriver = 0x0
graphics_set = 0x1826da0 "\220\006\262"
dedicated = false
blitter = 0x181d0f0 "\020\225", <incomplete sequence \350>
sounds_set = 0x18ac5b0 "2013-06-11"
music_set = 0x18a79a0 "Enable road vehicles"
save_config = true
#31 0x000000000090313d in main (argc=2, argv=0x7fffffffe2a8)
at /home/rubidium/openttd/clean/src/os/unix/unix.cpp:275
ret = 0

Loading...