.file "win.c" .text .section .rodata.str1.8,"aMS",@progbits,1 .align 8 .LC0: .string " FB CONFIG SELECTED: \n DOUBLEBUFFER: %d \n RED BITS: %d \n GREEN BITS: %d \n BLUE BITS: %d \n ALPHA BITS: %d \n DEPTH BITS: %d \n" .text .p2align 4 .globl desc_fbconfig .type desc_fbconfig, @function desc_fbconfig: .LFB22: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %rbx subq $40, %rsp .cfi_offset 3, -24 1: call mcount movl $5, %edx movq %rdi, %rbx movq %rdi, %rsi movq display(%rip), %rdi leaq -40(%rbp), %rcx call glXGetFBConfigAttrib movq display(%rip), %rdi leaq -36(%rbp), %rcx movq %rbx, %rsi movl $8, %edx call glXGetFBConfigAttrib movq display(%rip), %rdi leaq -32(%rbp), %rcx movq %rbx, %rsi movl $9, %edx call glXGetFBConfigAttrib movq display(%rip), %rdi leaq -28(%rbp), %rcx movq %rbx, %rsi movl $10, %edx call glXGetFBConfigAttrib movq display(%rip), %rdi leaq -24(%rbp), %rcx movq %rbx, %rsi movl $11, %edx call glXGetFBConfigAttrib movq display(%rip), %rdi leaq -20(%rbp), %rcx movq %rbx, %rsi movl $12, %edx call glXGetFBConfigAttrib movl -20(%rbp), %eax subq $8, %rsp movl $.LC0, %edi pushq %rax movl -36(%rbp), %edx xorl %eax, %eax movl -24(%rbp), %r9d movl -28(%rbp), %r8d movl -32(%rbp), %ecx movl -40(%rbp), %esi call printf popq %rax movq -8(%rbp), %rbx popq %rdx leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE22: .size desc_fbconfig, .-desc_fbconfig .section .rodata.str1.1,"aMS",@progbits,1 .LC1: .string " CANNOT CONNECT TO X SERVER: " .LC2: .string " NO MATCHING VISUAL: " .LC3: .string " CANNOT CREATE COLORMAP: " .LC4: .string "[ LANDSCAPE - 1.4 ]" .text .p2align 4 .globl createWin .type createWin, @function createWin: .LFB23: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r13 pushq %r12 pushq %rbx subq $120, %rsp .cfi_offset 13, -24 .cfi_offset 12, -32 .cfi_offset 3, -40 1: call mcount movl %edi, %ebx xorl %edi, %edi movl %esi, %r12d movl %ecx, %r13d call XOpenDisplay movq %rax, display(%rip) movq %rax, %rdi testq %rax, %rax je .L9 movslq 224(%rax), %rax movl $att, %edx movl %eax, screen(%rip) movq %rax, %rsi salq $7, %rax addq 232(%rdi), %rax movq 16(%rax), %rax movq %rax, monitor(%rip) call glXChooseVisual movq %rax, vi(%rip) testq %rax, %rax je .L10 movl monitor(%rip), %esi movq display(%rip), %rdi call XDefaultDepth movq vi(%rip), %rax movq monitor(%rip), %rsi xorl %ecx, %ecx movq display(%rip), %rdi movq (%rax), %rdx call XCreateColormap movq %rax, cmap(%rip) testq %rax, %rax je .L11 movq $0, -136(%rbp) movl $10762, %edx movq $0, -120(%rbp) movq %rax, -48(%rbp) movq $16941119, -72(%rbp) movl $0, -56(%rbp) movq $10762, windowAttributes(%rip) movq $56, sizeh.0(%rip) movl %ebx, sizeh.0+24(%rip) movl %r12d, sizeh.0+28(%rip) testb %r13b, %r13b jne .L12 .L7: movq vi(%rip), %rax leaq -144(%rbp), %rcx movl %r12d, %r9d movl %ebx, %r8d pushq %rcx movq display(%rip), %rdi movl %r12d, %ecx pushq %rdx movq monitor(%rip), %rsi movl %ebx, %edx pushq (%rax) pushq $1 movl 20(%rax), %eax pushq %rax pushq $2 call XCreateWindow addq $48, %rsp xorl %r9d, %r9d xorl %r8d, %r8d movq %rax, win(%rip) movl $.LC4, %ecx movq %rax, %rsi movq display(%rip), %rdi movq %rax, glx(%rip) movq %rcx, %rdx pushq $sizeh.0 pushq $0 call XSetStandardProperties movq win(%rip), %rsi movl $.LC4, %edx movq display(%rip), %rdi call XStoreName movq win(%rip), %rsi movq display(%rip), %rdi call XMapWindow popq %rax popq %rdx leaq -24(%rbp), %rsp popq %rbx popq %r12 popq %r13 popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L10: .cfi_restore_state movl $.LC2, %edi call puts xorl %edi, %edi call exit .p2align 4,,10 .p2align 3 .L9: movl $.LC1, %edi call puts xorl %edi, %edi call exit .p2align 4,,10 .p2align 3 .L11: movl $.LC3, %edi call puts xorl %edi, %edi call exit .p2align 4,,10 .p2align 3 .L12: movl screen(%rip), %esi movq display(%rip), %rdi movq $10760, windowAttributes(%rip) call XDisplayWidth movl screen(%rip), %esi movq display(%rip), %rdi movl %eax, %ebx call XDisplayHeight movl %ebx, sizeh.0+32(%rip) xorl %r9d, %r9d xorl %ecx, %ecx subq $8, %rsp movl %eax, sizeh.0+36(%rip) xorl %r8d, %r8d xorl %esi, %esi movl $0, -56(%rbp) movq monitor(%rip), %rdx movl %eax, %r12d pushq $0 movq display(%rip), %rdi pushq $0 pushq $0 call XWarpPointer movq monitor(%rip), %rsi movq display(%rip), %rdi addq $32, %rsp call XMapRaised movq monitor(%rip), %rsi xorl %r9d, %r9d movq display(%rip), %rdi movl $1, %r8d movl $1, %ecx movl $1, %edx call XGrabKeyboard movq monitor(%rip), %rsi subq $8, %rsp movq display(%rip), %rdi pushq $0 movl $1, %edx movl $4, %ecx movl $1, %r9d pushq $0 movl $1, %r8d pushq %rsi call XGrabPointer movq windowAttributes(%rip), %rdx addq $32, %rsp jmp .L7 .cfi_endproc .LFE23: .size createWin, .-createWin .section .rodata.str1.1 .LC5: .string " ERROR AT CONTEXT CREATION: " .text .p2align 4 .globl ctxErrorHandler .type ctxErrorHandler, @function ctxErrorHandler: .LFB24: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movl $.LC5, %edi call puts xorl %eax, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE24: .size ctxErrorHandler, .-ctxErrorHandler .section .rodata.str1.8 .align 8 .LC6: .string " OPENGL NOT SUPPORTED BY X SERVER: " .align 8 .LC7: .string "FAILED TO CREATE A GL CONTEXT: " .section .rodata.str1.1 .LC8: .string " SCREEN RESOLUTION: %dx%d \n" .text .p2align 4 .globl createRender .type createRender, @function createRender: .LFB25: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp 1: call mcount movq win(%rip), %rsi movq display(%rip), %rdi movl $gwa, %edx call XGetWindowAttributes leaq -4(%rbp), %rdx movq display(%rip), %rdi movq %rdx, %rsi call glXQueryExtension testl %eax, %eax jne .L15 movl $.LC6, %edi call puts xorl %edi, %edi call exit .p2align 4,,10 .p2align 3 .L15: call glewInit movq vi(%rip), %rsi movq display(%rip), %rdi xorl %edx, %edx movl $1, %ecx call glXCreateContext movq %rax, glc(%rip) movq %rax, %rcx testq %rax, %rax je .L17 movq glx(%rip), %rsi movq display(%rip), %rdi movq %rsi, %rdx call glXMakeContextCurrent movl gwa+12(%rip), %edx movl gwa+8(%rip), %esi xorl %eax, %eax movl $.LC8, %edi call printf leave .cfi_remember_state .cfi_def_cfa 7, 8 ret .p2align 4,,10 .p2align 3 .L17: .cfi_restore_state movl $.LC7, %edi call puts xorl %edi, %edi call exit .cfi_endproc .LFE25: .size createRender, .-createRender .section .rodata.str1.1 .LC12: .string " %dx%d SCREEN " .text .p2align 4 .globl perspective .type perspective, @function perspective: .LFB26: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movq win(%rip), %rsi movq display(%rip), %rdi movl $gwa, %edx call XGetWindowAttributes movl gwa+8(%rip), %edx xorl %esi, %esi xorl %edi, %edi movl gwa+12(%rip), %ecx call glViewport movl $5889, %edi call glMatrixMode call glLoadIdentity pxor %xmm1, %xmm1 pxor %xmm0, %xmm0 movsd .LC9(%rip), %xmm3 cvtsi2ssl gwa+12(%rip), %xmm0 movsd .LC10(%rip), %xmm2 cvtsi2ssl gwa+8(%rip), %xmm1 divss %xmm0, %xmm1 movsd .LC11(%rip), %xmm0 cvtss2sd %xmm1, %xmm1 call gluPerspective movl $5888, %edi call glMatrixMode call glLoadIdentity movq glx(%rip), %rsi movq display(%rip), %rdi call glXSwapBuffers movl gwa+12(%rip), %edx xorl %eax, %eax popq %rbp .cfi_def_cfa 7, 8 movl gwa+8(%rip), %esi movl $.LC12, %edi jmp printf .cfi_endproc .LFE26: .size perspective, .-perspective .p2align 4 .globl setOrthoMode .type setOrthoMode, @function setOrthoMode: .LFB27: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movl $5889, %edi call glMatrixMode call glPushMatrix call glLoadIdentity pxor %xmm3, %xmm3 pxor %xmm1, %xmm1 pxor %xmm2, %xmm2 cvtsi2ssl gwa+12(%rip), %xmm3 movsd .LC10(%rip), %xmm5 movapd %xmm2, %xmm0 movsd .LC13(%rip), %xmm4 cvtsi2ssl gwa+8(%rip), %xmm1 cvtss2sd %xmm3, %xmm3 cvtss2sd %xmm1, %xmm1 call glOrtho movl $5888, %edi call glMatrixMode call glPushMatrix popq %rbp .cfi_def_cfa 7, 8 jmp glLoadIdentity .cfi_endproc .LFE27: .size setOrthoMode, .-setOrthoMode .p2align 4 .globl unsetOrthoMode .type unsetOrthoMode, @function unsetOrthoMode: .LFB28: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount call glPopMatrix movl $5889, %edi call glMatrixMode call glPopMatrix movl $5888, %edi popq %rbp .cfi_def_cfa 7, 8 jmp glMatrixMode .cfi_endproc .LFE28: .size unsetOrthoMode, .-unsetOrthoMode .p2align 4 .globl eventloop .type eventloop, @function eventloop: .LFB29: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %rbx subq $200, %rsp .cfi_offset 3, -24 1: call mcount movq display(%rip), %rdi call XFlush movq display(%rip), %rdi call XPending movl %eax, %ebx testl %eax, %eax je .L21 .p2align 4,,10 .p2align 3 .L23: movq display(%rip), %rdi leaq -208(%rbp), %rsi subl $1, %ebx call XNextEvent movdqa -208(%rbp), %xmm0 subq $192, %rsp movups %xmm0, (%rsp) movdqa -192(%rbp), %xmm1 movups %xmm1, 16(%rsp) movdqa -176(%rbp), %xmm2 movups %xmm2, 32(%rsp) movdqa -160(%rbp), %xmm3 movups %xmm3, 48(%rsp) movdqa -144(%rbp), %xmm4 movups %xmm4, 64(%rsp) movdqa -128(%rbp), %xmm5 movups %xmm5, 80(%rsp) movdqa -112(%rbp), %xmm6 movups %xmm6, 96(%rsp) movdqa -96(%rbp), %xmm7 movups %xmm7, 112(%rsp) movdqa -80(%rbp), %xmm0 movups %xmm0, 128(%rsp) movdqa -64(%rbp), %xmm1 movups %xmm1, 144(%rsp) movdqa -48(%rbp), %xmm2 movups %xmm2, 160(%rsp) movdqa -32(%rbp), %xmm3 movups %xmm3, 176(%rsp) call process_event2 movdqa -208(%rbp), %xmm4 movups %xmm4, (%rsp) movdqa -192(%rbp), %xmm5 movups %xmm5, 16(%rsp) movdqa -176(%rbp), %xmm6 movups %xmm6, 32(%rsp) movdqa -160(%rbp), %xmm7 movups %xmm7, 48(%rsp) movdqa -144(%rbp), %xmm0 movups %xmm0, 64(%rsp) movdqa -128(%rbp), %xmm1 movups %xmm1, 80(%rsp) movdqa -112(%rbp), %xmm2 movups %xmm2, 96(%rsp) movdqa -96(%rbp), %xmm3 movups %xmm3, 112(%rsp) movdqa -80(%rbp), %xmm4 movups %xmm4, 128(%rsp) movdqa -64(%rbp), %xmm5 movups %xmm5, 144(%rsp) movdqa -48(%rbp), %xmm6 movups %xmm6, 160(%rsp) movdqa -32(%rbp), %xmm7 movups %xmm7, 176(%rsp) call process_event1 addq $192, %rsp testl %ebx, %ebx jne .L23 .L21: movq -8(%rbp), %rbx leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE29: .size eventloop, .-eventloop .p2align 4 .globl loadFont .type loadFont, @function loadFont: .LFB30: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE30: .size loadFont, .-loadFont .p2align 4 .globl closeWin .type closeWin, @function closeWin: .LFB31: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movq display(%rip), %rdi xorl %edx, %edx xorl %esi, %esi call glXMakeCurrent movq glc(%rip), %rsi movq display(%rip), %rdi call glXDestroyContext movq win(%rip), %rsi movq display(%rip), %rdi call XDestroyWindow movq display(%rip), %rdi call XCloseDisplay xorl %edi, %edi call exit .cfi_endproc .LFE31: .size closeWin, .-closeWin .local sizeh.0 .comm sizeh.0,80,32 .globl xev .bss .align 32 .type xev, @object .size xev, 192 xev: .zero 192 .globl gwa .align 32 .type gwa, @object .size gwa, 136 gwa: .zero 136 .globl fbconfig .align 8 .type fbconfig, @object .size fbconfig, 8 fbconfig: .zero 8 .globl fbconfigs .align 8 .type fbconfigs, @object .size fbconfigs, 8 fbconfigs: .zero 8 .globl glc .align 8 .type glc, @object .size glc, 8 glc: .zero 8 .globl glx .align 8 .type glx, @object .size glx, 8 glx: .zero 8 .globl win .align 8 .type win, @object .size win, 8 win: .zero 8 .globl color .align 16 .type color, @object .size color, 16 color: .zero 16 .globl cmap .align 8 .type cmap, @object .size cmap, 8 cmap: .zero 8 .globl vi .align 8 .type vi, @object .size vi, 8 vi: .zero 8 .globl flyinfo .align 8 .type flyinfo, @object .size flyinfo, 8 flyinfo: .zero 8 .globl flyfont .align 8 .type flyfont, @object .size flyfont, 8 flyfont: .zero 8 .globl mono .align 8 .type mono, @object .size mono, 8 mono: .zero 8 .globl att .data .align 32 .type att, @object .size att, 132 att: .long 32785 .long 1 .long 32784 .long 1 .long 5 .long 1 .long 1 .long 4 .long 8 .long 8 .long 9 .long 8 .long 10 .long 8 .long 11 .long 8 .long 7 .long 0 .long 14 .long 0 .long 15 .long 0 .long 16 .long 0 .long 17 .long 0 .long 2 .long 24 .long 12 .long 24 .long 13 .long 8 .long 0 .globl screen .bss .align 4 .type screen, @object .size screen, 4 screen: .zero 4 .local monitor .comm monitor,8,8 .local display .comm display,8,8 .globl windowAttributes .align 8 .type windowAttributes, @object .size windowAttributes, 8 windowAttributes: .zero 8 .section .rodata.cst8,"aM",@progbits,8 .align 8 .LC9: .long 0 .long 1079574528 .align 8 .LC10: .long 0 .long 1072693248 .align 8 .LC11: .long 0 .long 1078591488 .align 8 .LC13: .long 0 .long -1074790400 .ident "GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)" .section .note.GNU-stack,"",@progbits