	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function select_shader_backend
_select_shader_backend:                 ## @select_shader_backend
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %rbx
	movq	_wined3d_settings@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_2
## %bb.1:
	movq	(%rbx), %r14
	movl	$1, %edi
	movl	$20, %esi
	callq	_MAKEDWORD_VERSION
	cmpq	%rax, %r14
	jge	LBB0_9
LBB0_2:
	xorl	%eax, %eax
LBB0_3:
	movq	8(%rbx), %rcx
	movq	_ARB_VERTEX_PROGRAM@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	(%rcx,%rdx,8), %rdx
	testq	%rdx, %rdx
	je	LBB0_6
## %bb.4:
	movq	_ARB_FRAGMENT_PROGRAM@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpq	$0, (%rcx,%rsi,8)
	sete	%bl
	testb	%bl, %al
	jne	LBB0_7
	jmp	LBB0_17
LBB0_6:
	testb	%al, %al
	je	LBB0_15
LBB0_7:
	movq	_ARB_VERTEX_SHADER@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	$0, (%rcx,%rax,8)
	jne	LBB0_11
## %bb.12:
	movq	_ARB_FRAGMENT_SHADER@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rcx,%rax,8), %rsi
	testq	%rsi, %rsi
	je	LBB0_14
## %bb.13:
	movq	_glsl_shader_backend@GOTPCREL(%rip), %rax
	orq	%rdx, %rsi
	je	LBB0_15
	jmp	LBB0_18
LBB0_9:
	movq	8(%rbx), %rcx
	movq	_ARB_VERTEX_SHADER@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movb	$1, %al
	cmpq	$0, (%rcx,%rdx,8)
	je	LBB0_3
## %bb.10:
	movq	_ARB_FRAGMENT_SHADER@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	cmpq	$0, (%rcx,%rdx,8)
	je	LBB0_3
LBB0_11:
	movq	_glsl_shader_backend@GOTPCREL(%rip), %rax
	jmp	LBB0_18
LBB0_14:
	movq	_arb_program_shader_backend@GOTPCREL(%rip), %rax
	orq	%rdx, %rsi
	jne	LBB0_18
LBB0_15:
	movq	_ARB_FRAGMENT_PROGRAM@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	$0, (%rcx,%rax,8)
	jne	LBB0_17
## %bb.16:
	movq	_none_shader_backend@GOTPCREL(%rip), %rax
	jmp	LBB0_18
LBB0_17:
	movq	_arb_program_shader_backend@GOTPCREL(%rip), %rax
LBB0_18:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_wined3d_settings,8,3           ## @wined3d_settings
	.comm	_ARB_VERTEX_SHADER,8,3          ## @ARB_VERTEX_SHADER
	.comm	_ARB_FRAGMENT_SHADER,8,3        ## @ARB_FRAGMENT_SHADER
	.comm	_glsl_shader_backend,4,2        ## @glsl_shader_backend
	.comm	_ARB_VERTEX_PROGRAM,8,3         ## @ARB_VERTEX_PROGRAM
	.comm	_ARB_FRAGMENT_PROGRAM,8,3       ## @ARB_FRAGMENT_PROGRAM
	.comm	_arb_program_shader_backend,4,2 ## @arb_program_shader_backend
	.comm	_none_shader_backend,4,2        ## @none_shader_backend
	.no_dead_strip	_select_shader_backend
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function select_shader_backend
_select_shader_backend:                 ; @select_shader_backend
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
Lloh0:
	adrp	x8, _wined3d_settings@GOTPAGE
Lloh1:
	ldr	x8, [x8, _wined3d_settings@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cbz	x8, LBB0_2
; %bb.1:
	ldr	x20, [x19]
	mov	w0, #1
	mov	w1, #20
	bl	_MAKEDWORD_VERSION
	cmp	x20, x0
	b.ge	LBB0_3
LBB0_2:
	mov	w10, #0
	b	LBB0_7
LBB0_3:
	ldr	x8, [x19, #8]
Lloh3:
	adrp	x9, _ARB_VERTEX_SHADER@GOTPAGE
Lloh4:
	ldr	x9, [x9, _ARB_VERTEX_SHADER@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_6
; %bb.4:
Lloh6:
	adrp	x9, _ARB_FRAGMENT_SHADER@GOTPAGE
Lloh7:
	ldr	x9, [x9, _ARB_FRAGMENT_SHADER@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_6
; %bb.5:
Lloh9:
	adrp	x0, _glsl_shader_backend@GOTPAGE
Lloh10:
	ldr	x0, [x0, _glsl_shader_backend@GOTPAGEOFF]
	b	LBB0_14
LBB0_6:
	mov	w10, #1
LBB0_7:
	ldr	x8, [x19, #8]
Lloh11:
	adrp	x9, _ARB_VERTEX_PROGRAM@GOTPAGE
Lloh12:
	ldr	x9, [x9, _ARB_VERTEX_PROGRAM@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_10
; %bb.8:
Lloh14:
	adrp	x11, _ARB_FRAGMENT_PROGRAM@GOTPAGE
Lloh15:
	ldr	x11, [x11, _ARB_FRAGMENT_PROGRAM@GOTPAGEOFF]
Lloh16:
	ldr	x11, [x11]
	ldr	x11, [x8, x11, lsl #3]
	cmp	x11, #0
	cset	w11, eq
	and	w10, w10, w11
	tbnz	w10, #0, LBB0_11
; %bb.9:
Lloh17:
	adrp	x0, _arb_program_shader_backend@GOTPAGE
Lloh18:
	ldr	x0, [x0, _arb_program_shader_backend@GOTPAGEOFF]
	b	LBB0_14
LBB0_10:
	cbz	w10, LBB0_13
LBB0_11:
Lloh19:
	adrp	x10, _ARB_VERTEX_SHADER@GOTPAGE
Lloh20:
	ldr	x10, [x10, _ARB_VERTEX_SHADER@GOTPAGEOFF]
Lloh21:
	ldr	x10, [x10]
	ldr	x10, [x8, x10, lsl #3]
Lloh22:
	adrp	x0, _glsl_shader_backend@GOTPAGE
Lloh23:
	ldr	x0, [x0, _glsl_shader_backend@GOTPAGEOFF]
	cbnz	x10, LBB0_14
; %bb.12:
Lloh24:
	adrp	x10, _ARB_FRAGMENT_SHADER@GOTPAGE
Lloh25:
	ldr	x10, [x10, _ARB_FRAGMENT_SHADER@GOTPAGEOFF]
Lloh26:
	ldr	x10, [x10]
	ldr	x10, [x8, x10, lsl #3]
Lloh27:
	adrp	x11, _arb_program_shader_backend@GOTPAGE
Lloh28:
	ldr	x11, [x11, _arb_program_shader_backend@GOTPAGEOFF]
	cmp	x10, #0
	csel	x0, x0, x11, ne
	orr	x9, x10, x9
	cbnz	x9, LBB0_14
LBB0_13:
Lloh29:
	adrp	x9, _ARB_FRAGMENT_PROGRAM@GOTPAGE
Lloh30:
	ldr	x9, [x9, _ARB_FRAGMENT_PROGRAM@GOTPAGEOFF]
Lloh31:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
Lloh32:
	adrp	x9, _arb_program_shader_backend@GOTPAGE
Lloh33:
	ldr	x9, [x9, _arb_program_shader_backend@GOTPAGEOFF]
Lloh34:
	adrp	x10, _none_shader_backend@GOTPAGE
Lloh35:
	ldr	x10, [x10, _none_shader_backend@GOTPAGEOFF]
	cmp	x8, #0
	csel	x0, x10, x9, eq
LBB0_14:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.cfi_endproc
                                        ; -- End function
	.comm	_wined3d_settings,8,3           ; @wined3d_settings
	.comm	_ARB_VERTEX_SHADER,8,3          ; @ARB_VERTEX_SHADER
	.comm	_ARB_FRAGMENT_SHADER,8,3        ; @ARB_FRAGMENT_SHADER
	.comm	_glsl_shader_backend,4,2        ; @glsl_shader_backend
	.comm	_ARB_VERTEX_PROGRAM,8,3         ; @ARB_VERTEX_PROGRAM
	.comm	_ARB_FRAGMENT_PROGRAM,8,3       ; @ARB_FRAGMENT_PROGRAM
	.comm	_arb_program_shader_backend,4,2 ; @arb_program_shader_backend
	.comm	_none_shader_backend,4,2        ; @none_shader_backend
	.no_dead_strip	_select_shader_backend
.subsections_via_symbols
