	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function shader_glsl_generate_pshader
_shader_glsl_generate_pshader:          ## @shader_glsl_generate_pshader
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%r9, %r14
	movq	%r8, %r15
	movq	%rdx, %r13
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movq	%rcx, -56(%rbp)                 ## 8-byte Spill
	movl	56(%rcx), %edi
	callq	_shader_glsl_get_prefix
	movq	%rax, -96(%rbp)                 ## 8-byte Spill
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	movq	8(%rbx), %rbx
	movq	%rbx, %rdi
	callq	_needs_legacy_glsl_syntax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	leaq	-120(%rbp), %rdi
	xorl	%esi, %esi
	movl	$24, %edx
	callq	_memset
	movq	%r15, -48(%rbp)                 ## 8-byte Spill
	movq	%r15, -104(%rbp)
	movq	%rbx, %r15
	movq	%r14, -120(%rbp)
	movq	%r13, -112(%rbp)
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_shader_glsl_add_version_declaration
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_shader_glsl_enable_extensions
	movq	(%rbx), %rax
	movq	_ARB_CONSERVATIVE_DEPTH@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_2
## %bb.1:
	leaq	L_.str(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	(%r15), %rax
LBB0_2:
	movq	_ARB_DERIVATIVE_CONTROL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_4
## %bb.3:
	leaq	L_.str.1(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_4:
	movq	%r15, %rdi
	callq	_shader_glsl_use_explicit_attrib_location
	testq	%rax, %rax
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	je	LBB0_6
## %bb.5:
	leaq	L_.str.2(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_6:
	movq	(%r15), %rax
	movq	_ARB_FRAGMENT_COORD_CONVENTIONS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_8
## %bb.7:
	leaq	L_.str.3(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	(%r15), %rax
LBB0_8:
	movq	_ARB_FRAGMENT_LAYER_VIEWPORT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_10
## %bb.9:
	leaq	L_.str.4(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	(%r15), %rax
LBB0_10:
	movq	_ARB_SHADER_TEXTURE_LOD@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_12
## %bb.11:
	leaq	L_.str.5(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	(%r15), %rax
LBB0_12:
	leaq	40(%r13), %rcx
	movq	%rcx, -72(%rbp)                 ## 8-byte Spill
	movq	_ARB_TEXTURE_RECTANGLE@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_14
## %bb.13:
	leaq	L_.str.6(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_14:
	leaq	-120(%rbp), %r8
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	movq	%r12, %rsi
	movq	%r13, %rdx
	movq	-72(%rbp), %rcx                 ## 8-byte Reload
	callq	_shader_generate_glsl_declarations
	movq	(%r15), %rax
	movq	(%rbx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_20
## %bb.15:
	movq	8(%r13), %rax
	movq	_WINED3DSPR_DEPTHOUTGE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_17
## %bb.16:
	leaq	L_.str.7(%rip), %rsi
	jmp	LBB0_19
LBB0_17:
	movq	_WINED3DSPR_DEPTHOUTLE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_20
## %bb.18:
	leaq	L_.str.8(%rip), %rsi
LBB0_19:
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_20:
	movl	(%r14), %ecx
	testl	%ecx, %ecx
	movq	%r15, -64(%rbp)                 ## 8-byte Spill
	je	LBB0_32
## %bb.21:
	movq	-120(%rbp), %r15
	movq	32(%r13), %rax
	cmpl	$0, (%rax)
	je	LBB0_22
## %bb.23:
	xorl	%ebx, %ebx
	movq	_WINED3D_SHADER_RESOURCE_TEXTURE_2D@GOTPCREL(%rip), %r14
	xorl	%r13d, %r13d
	jmp	LBB0_24
LBB0_28:                                ##   in Loop: Header=BB0_24 Depth=1
	movq	8(%r15), %rcx
	movl	%r13d, (%rcx,%rbx,4)
	incl	%r13d
	.p2align	4, 0x90
LBB0_29:                                ##   in Loop: Header=BB0_24 Depth=1
	incq	%rbx
	movl	(%rax), %ecx
	cmpq	%rcx, %rbx
	jae	LBB0_30
LBB0_24:                                ## =>This Inner Loop Header: Depth=1
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
	movq	88(%rcx), %rcx
	movq	(%rcx,%rbx,8), %rcx
	testq	%rcx, %rcx
	je	LBB0_29
## %bb.25:                              ##   in Loop: Header=BB0_24 Depth=1
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
	movl	(%rdx), %edx
	btl	%ebx, %edx
	jae	LBB0_29
## %bb.26:                              ##   in Loop: Header=BB0_24 Depth=1
	cmpq	(%r14), %rcx
	je	LBB0_28
## %bb.27:                              ##   in Loop: Header=BB0_24 Depth=1
	leaq	L_.str.9(%rip), %rdi
	callq	_FIXME
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movq	32(%rax), %rax
	jmp	LBB0_29
LBB0_30:
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	movl	(%r14), %ecx
	jmp	LBB0_31
LBB0_22:
	xorl	%r13d, %r13d
LBB0_31:
	incl	%r13d
	shrl	%r13d
	movl	%r13d, (%r15)
	movl	%ecx, 4(%r15)
	leaq	L_.str.10(%rip), %rsi
	movq	%r12, %rdi
	movq	-96(%rbp), %rdx                 ## 8-byte Reload
	movl	%r13d, %ecx
	xorl	%eax, %eax
	callq	_shader_addline
	movq	-64(%rbp), %r15                 ## 8-byte Reload
	movq	-56(%rbp), %r13                 ## 8-byte Reload
LBB0_32:
	cmpl	$3, 52(%r13)
	jl	LBB0_34
## %bb.33:
	movq	8(%r14), %rax
	movq	_vertexshader@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
LBB0_34:
	leaq	L_.str.11(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.12(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.13(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.14(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.15(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.16(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	%r15, %rdi
	callq	_needs_legacy_glsl_syntax
	movq	%rax, %rbx
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_glsl_is_color_reg_read
	testq	%rbx, %rbx
	je	LBB0_40
## %bb.35:
	testq	%rax, %rax
	je	LBB0_37
## %bb.36:
	leaq	L_.str.17(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_37:
	movq	%r13, %rdi
	movl	$1, %esi
	callq	_glsl_is_color_reg_read
	testq	%rax, %rax
	je	LBB0_39
## %bb.38:
	leaq	L_.str.18(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_39:
	movq	_MAX_TEXTURES@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.19(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.20(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	jmp	LBB0_45
LBB0_40:
	testq	%rax, %rax
	je	LBB0_42
## %bb.41:
	movl	64(%r14), %edx
	leaq	L_.str.17(%rip), %rcx
	movq	%r15, %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	callq	_declare_in_varying
LBB0_42:
	movq	%r13, %rdi
	movl	$1, %esi
	callq	_glsl_is_color_reg_read
	testq	%rax, %rax
	je	LBB0_44
## %bb.43:
	movl	64(%r14), %edx
	leaq	L_.str.18(%rip), %rcx
	movq	%r15, %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	callq	_declare_in_varying
LBB0_44:
	movq	_FALSE@GOTPCREL(%rip), %r14
	movl	(%r14), %edx
	movq	_MAX_TEXTURES@GOTPCREL(%rip), %rbx
	movl	(%rbx), %r8d
	leaq	L_.str.21(%rip), %rcx
	movq	%r15, %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	callq	_declare_in_varying
	movl	(%rbx), %edx
	leaq	L_.str.19(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movl	(%r14), %edx
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	leaq	L_.str.20(%rip), %rcx
	movq	%r15, %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	callq	_declare_in_varying
LBB0_45:
	movl	52(%r13), %edi
	cmpl	$3, %edi
	jl	LBB0_50
## %bb.46:
	movq	%r15, %rsi
	callq	_vec4_varyings
	movq	32(%r13), %rcx
	movl	16(%rcx), %esi
	movl	%eax, %edi
	callq	_min
	movl	%eax, %ebx
	movq	8(%r14), %rax
	movq	_vertexshader@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_49
## %bb.47:
	cmpq	$0, 80(%r13)
	je	LBB0_49
## %bb.48:
	movl	24(%r13), %ecx
	xorl	%r8d, %r8d
	cmpl	$4, 52(%r13)
	setge	%r8b
	movq	%r15, %rdi
	movq	%r12, %rsi
	movl	%ebx, %edx
	callq	_shader_glsl_declare_shader_inputs
LBB0_49:
	leaq	L_.str.22(%rip), %rsi
	movq	%r12, %rdi
	movq	-96(%rbp), %rdx                 ## 8-byte Reload
	movl	%ebx, %ecx
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_50:
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %ebx
	testl	%ebx, %ebx
	je	LBB0_51
## %bb.52:
	leaq	L_.str.23(%rip), %r14
	xorl	%r15d, %r15d
	xorl	%r13d, %r13d
	jmp	LBB0_53
	.p2align	4, 0x90
LBB0_56:                                ##   in Loop: Header=BB0_53 Depth=1
	incl	%r13d
LBB0_57:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	%ebx, %eax
	sarl	%eax
	incl	%r15d
	cmpl	$1, %ebx
	movl	%eax, %ebx
	jbe	LBB0_58
LBB0_53:                                ## =>This Inner Loop Header: Depth=1
	testb	$1, %bl
	je	LBB0_57
## %bb.54:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	%r12, %rdi
	movq	%r14, %rsi
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movl	44(%rax), %eax
	btl	%r15d, %eax
	jae	LBB0_56
## %bb.55:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	%r12, %rdi
	leaq	L_.str.24(%rip), %rsi
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	movq	%r12, %rdi
	leaq	L_.str.25(%rip), %rsi
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	incl	%r13d
	jmp	LBB0_56
LBB0_51:
	xorl	%r13d, %r13d
LBB0_58:
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	cmpq	$0, 56(%r14)
	je	LBB0_60
## %bb.59:
	leaq	L_.str.26(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	_wined3d_srgb_const0@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_shader_glsl_append_imm_vec4
	leaq	L_.str.27(%rip), %rbx
	movq	%r12, %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_shader_addline
	leaq	L_.str.28(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	_wined3d_srgb_const1@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_shader_glsl_append_imm_vec4
	movq	%r12, %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_60:
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 64(%rax)
	movq	72(%rax), %rax
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	je	LBB0_61
## %bb.62:
	testq	%rax, %rax
	jne	LBB0_64
## %bb.63:
	movq	(%rbx), %rax
	movq	_ARB_FRAGMENT_COORD_CONVENTIONS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	jne	LBB0_65
	jmp	LBB0_64
LBB0_61:
	testq	%rax, %rax
	je	LBB0_71
LBB0_64:
	incl	%r13d
	leaq	L_.str.29(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 64(%rax)
	je	LBB0_71
LBB0_65:
	movq	(%rbx), %rax
	movq	_ARB_FRAGMENT_COORD_CONVENTIONS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_70
## %bb.66:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax), %rcx
	movq	_WINED3D_PIXEL_CENTER_INTEGER@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	48(%r14), %rax
	testl	%edx, (%rcx)
	je	LBB0_68
## %bb.67:
	testq	%rax, %rax
	leaq	L_.str.32(%rip), %rax
	leaq	L_.str.31(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str.30(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	jmp	LBB0_70
LBB0_68:
	testq	%rax, %rax
	jne	LBB0_70
## %bb.69:
	leaq	L_.str.33(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_70:
	leaq	L_.str.34(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_71:
	movq	16(%r14), %rax
	incq	%rax
	movq	_WINED3D_CMP_ALWAYS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_73
## %bb.72:
	leaq	L_.str.35(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_73:
	movq	%rbx, %rdi
	callq	_needs_legacy_glsl_syntax
	testq	%rax, %rax
	movq	%rbx, %rdi
	je	LBB0_74
LBB0_85:
	movq	-56(%rbp), %r15                 ## 8-byte Reload
	movq	32(%r15), %rax
	movl	%r13d, %ecx
	addq	8(%rax), %rcx
	cmpq	16(%rdi), %rcx
	movq	%rdi, %r14
	jl	LBB0_87
## %bb.86:
	leaq	L_.str.39(%rip), %rdi
	callq	_FIXME
LBB0_87:
	cmpq	$0, 16(%r15)
	je	LBB0_89
## %bb.88:
	leaq	L_.str.40(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_89:
	leaq	L_.str.41(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	cmpq	$0, 64(%r15)
	je	LBB0_94
## %bb.90:
	movq	(%r14), %rax
	movq	_ARB_FRAGMENT_COORD_CONVENTIONS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	$0, (%rax,%rcx,8)
	je	LBB0_92
## %bb.91:
	leaq	L_.str.42(%rip), %rsi
	jmp	LBB0_93
LBB0_74:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 40(%rax)
	je	LBB0_80
## %bb.75:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	cmpl	$0, 8(%rdi)
	je	LBB0_85
## %bb.76:
	leaq	L_.str.37(%rip), %r14
	leaq	L_.str.36(%rip), %r15
	xorl	%ebx, %ebx
	jmp	LBB0_77
	.p2align	4, 0x90
LBB0_79:                                ##   in Loop: Header=BB0_77 Depth=1
	movq	%r12, %rdi
	movq	%r14, %rsi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	incl	%ebx
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movl	8(%rdi), %eax
	addl	%eax, %eax
	cmpl	%eax, %ebx
	jae	LBB0_85
LBB0_77:                                ## =>This Inner Loop Header: Depth=1
	callq	_shader_glsl_use_explicit_attrib_location
	testq	%rax, %rax
	je	LBB0_79
## %bb.78:                              ##   in Loop: Header=BB0_77 Depth=1
	movl	%ebx, %edx
	shrl	%edx
	movl	%ebx, %ecx
	andl	$1, %ecx
	movq	%r12, %rdi
	movq	%r15, %rsi
	xorl	%eax, %eax
	callq	_shader_addline
	jmp	LBB0_79
LBB0_92:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax), %rax
	movq	_WINED3D_PIXEL_CENTER_INTEGER@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	leaq	L_.str.44(%rip), %rax
	leaq	L_.str.43(%rip), %rsi
	cmoveq	%rax, %rsi
LBB0_93:
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_94:
	cmpl	$3, 52(%r15)
	jl	LBB0_96
## %bb.95:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	8(%rax), %rax
	movq	_vertexshader@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_114
LBB0_96:
	movl	48(%r15), %ebx
	cmpq	$0, -88(%rbp)                   ## 8-byte Folded Reload
	je	LBB0_101
## %bb.97:
	movq	%r15, %rdi
	xorl	%esi, %esi
	callq	_glsl_is_color_reg_read
	testq	%rax, %rax
	je	LBB0_99
## %bb.98:
	leaq	L_.str.45(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_99:
	movq	%r15, %rdi
	movl	$1, %esi
	callq	_glsl_is_color_reg_read
	testq	%rax, %rax
	je	LBB0_101
## %bb.100:
	leaq	L_.str.46(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_101:
	testl	%ebx, %ebx
	je	LBB0_112
## %bb.102:
	cmpq	$0, -88(%rbp)                   ## 8-byte Folded Reload
	leaq	L_.str.50(%rip), %rax
	leaq	L_.str.49(%rip), %r13
	cmoveq	%rax, %r13
	leaq	L_.str.52(%rip), %r15
	xorl	%r14d, %r14d
	jmp	LBB0_103
	.p2align	4, 0x90
LBB0_105:                               ##   in Loop: Header=BB0_103 Depth=1
	movq	%r12, %rdi
	leaq	L_.str.47(%rip), %rsi
LBB0_109:                               ##   in Loop: Header=BB0_103 Depth=1
	movl	%r14d, %edx
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_110:                               ##   in Loop: Header=BB0_103 Depth=1
	movq	%r12, %rdi
	movq	%r15, %rsi
	movl	%r14d, %edx
	movl	%r14d, %ecx
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_111:                               ##   in Loop: Header=BB0_103 Depth=1
	movl	%ebx, %eax
	sarl	%eax
	incl	%r14d
	cmpl	$1, %ebx
	movl	%eax, %ebx
	jbe	LBB0_112
LBB0_103:                               ## =>This Inner Loop Header: Depth=1
	testb	$1, %bl
	je	LBB0_111
## %bb.104:                             ##   in Loop: Header=BB0_103 Depth=1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 32(%rax)
	jne	LBB0_105
## %bb.106:                             ##   in Loop: Header=BB0_103 Depth=1
	movl	24(%rax), %eax
	movq	%r12, %rdi
	btl	%r14d, %eax
	jae	LBB0_108
## %bb.107:                             ##   in Loop: Header=BB0_103 Depth=1
	leaq	L_.str.48(%rip), %rsi
	movl	%r14d, %edx
	movq	%r13, %rcx
	movl	%r14d, %r8d
	xorl	%eax, %eax
	callq	_shader_addline
	jmp	LBB0_110
LBB0_108:                               ##   in Loop: Header=BB0_103 Depth=1
	leaq	L_.str.51(%rip), %rsi
	jmp	LBB0_109
LBB0_112:
	cmpq	$0, -88(%rbp)                   ## 8-byte Folded Reload
	movq	-64(%rbp), %r14                 ## 8-byte Reload
	movq	-56(%rbp), %r15                 ## 8-byte Reload
	je	LBB0_114
## %bb.113:
	leaq	L_.str.53(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
LBB0_114:
	cmpl	$3, 52(%r15)
	jl	LBB0_116
## %bb.115:
	setne	%al
	movzbl	%al, %eax
	movl	%eax, (%rsp)
	movq	%r15, %rdi
	movq	%r12, %rsi
	movq	%r15, %rdx
	movq	-72(%rbp), %rcx                 ## 8-byte Reload
	movq	-48(%rbp), %r8                  ## 8-byte Reload
	movq	%r14, %r9
	callq	_shader_glsl_input_pack
LBB0_116:
	xorl	%ebx, %ebx
	leaq	-120(%rbp), %rcx
	movq	%r15, %rdi
	movq	%r12, %rsi
	movq	-72(%rbp), %rdx                 ## 8-byte Reload
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	_shader_generate_code
	movl	%eax, %edi
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_120
## %bb.117:
	cmpl	$3, 52(%r15)
	jg	LBB0_119
## %bb.118:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r15, %rdx
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	callq	_shader_glsl_generate_ps_epilogue
LBB0_119:
	leaq	L_.str.54(%rip), %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	callq	_shader_addline
	movq	_GL_FRAGMENT_SHADER@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_glCreateShader
	movl	%eax, %edi
	callq	_GL_EXTCALL
	movl	%eax, %ebx
	leaq	L_.str.55(%rip), %rdi
	movl	%eax, %esi
	callq	_TRACE
	movl	(%r12), %edx
	movq	%r14, %rdi
	movl	%ebx, %esi
	callq	_shader_glsl_compile
LBB0_120:
	movl	%ebx, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_80:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	cmpl	$0, 12(%rdi)
	je	LBB0_85
## %bb.81:
	leaq	L_.str.37(%rip), %r15
	leaq	L_.str.38(%rip), %r14
	xorl	%ebx, %ebx
	jmp	LBB0_82
	.p2align	4, 0x90
LBB0_84:                                ##   in Loop: Header=BB0_82 Depth=1
	movq	%r12, %rdi
	movq	%r15, %rsi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	incl	%ebx
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	cmpl	12(%rdi), %ebx
	jae	LBB0_85
LBB0_82:                                ## =>This Inner Loop Header: Depth=1
	callq	_shader_glsl_use_explicit_attrib_location
	testq	%rax, %rax
	je	LBB0_84
## %bb.83:                              ##   in Loop: Header=BB0_82 Depth=1
	movq	%r12, %rdi
	movq	%r14, %rsi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_shader_addline
	jmp	LBB0_84
	.cfi_endproc
                                        ## -- End function
	.comm	_ARB_CONSERVATIVE_DEPTH,8,3     ## @ARB_CONSERVATIVE_DEPTH
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"#extension GL_ARB_conservative_depth : enable\n"

	.comm	_ARB_DERIVATIVE_CONTROL,8,3     ## @ARB_DERIVATIVE_CONTROL
L_.str.1:                               ## @.str.1
	.asciz	"#extension GL_ARB_derivative_control : enable\n"

L_.str.2:                               ## @.str.2
	.asciz	"#extension GL_ARB_explicit_attrib_location : enable\n"

	.comm	_ARB_FRAGMENT_COORD_CONVENTIONS,8,3 ## @ARB_FRAGMENT_COORD_CONVENTIONS
L_.str.3:                               ## @.str.3
	.asciz	"#extension GL_ARB_fragment_coord_conventions : enable\n"

	.comm	_ARB_FRAGMENT_LAYER_VIEWPORT,8,3 ## @ARB_FRAGMENT_LAYER_VIEWPORT
L_.str.4:                               ## @.str.4
	.asciz	"#extension GL_ARB_fragment_layer_viewport : enable\n"

	.comm	_ARB_SHADER_TEXTURE_LOD,8,3     ## @ARB_SHADER_TEXTURE_LOD
L_.str.5:                               ## @.str.5
	.asciz	"#extension GL_ARB_shader_texture_lod : enable\n"

	.comm	_ARB_TEXTURE_RECTANGLE,8,3      ## @ARB_TEXTURE_RECTANGLE
L_.str.6:                               ## @.str.6
	.asciz	"#extension GL_ARB_texture_rectangle : enable\n"

	.comm	_WINED3DSPR_DEPTHOUTGE,8,3      ## @WINED3DSPR_DEPTHOUTGE
L_.str.7:                               ## @.str.7
	.asciz	"layout (depth_greater) out float gl_FragDepth;\n"

	.comm	_WINED3DSPR_DEPTHOUTLE,8,3      ## @WINED3DSPR_DEPTHOUTLE
L_.str.8:                               ## @.str.8
	.asciz	"layout (depth_less) out float gl_FragDepth;\n"

	.comm	_WINED3D_SHADER_RESOURCE_TEXTURE_2D,8,3 ## @WINED3D_SHADER_RESOURCE_TEXTURE_2D
L_.str.9:                               ## @.str.9
	.asciz	"Non-2D texture is flagged for NP2 texcoord fixup.\n"

L_.str.10:                              ## @.str.10
	.asciz	"uniform vec4 %s_samplerNP2Fixup[%u];\n"

	.comm	_vertexshader,8,3               ## @vertexshader
L_.str.11:                              ## @.str.11
	.asciz	"uniform struct\n{\n"

L_.str.12:                              ## @.str.12
	.asciz	"    vec4 color;\n"

L_.str.13:                              ## @.str.13
	.asciz	"    float density;\n"

L_.str.14:                              ## @.str.14
	.asciz	"    float end;\n"

L_.str.15:                              ## @.str.15
	.asciz	"    float scale;\n"

L_.str.16:                              ## @.str.16
	.asciz	"} ffp_fog;\n"

L_.str.17:                              ## @.str.17
	.asciz	"vec4 ffp_varying_diffuse;\n"

L_.str.18:                              ## @.str.18
	.asciz	"vec4 ffp_varying_specular;\n"

L_.str.19:                              ## @.str.19
	.asciz	"vec4 ffp_texcoord[%u];\n"

	.comm	_MAX_TEXTURES,4,2               ## @MAX_TEXTURES
L_.str.20:                              ## @.str.20
	.asciz	"float ffp_varying_fogcoord;\n"

	.comm	_FALSE,4,2                      ## @FALSE
L_.str.21:                              ## @.str.21
	.asciz	"vec4 ffp_varying_texcoord[%u];\n"

L_.str.22:                              ## @.str.22
	.asciz	"vec4 %s_in[%u];\n"

L_.str.23:                              ## @.str.23
	.asciz	"uniform mat2 bumpenv_mat%u;\n"

L_.str.24:                              ## @.str.24
	.asciz	"uniform float bumpenv_lum_scale%u;\n"

L_.str.25:                              ## @.str.25
	.asciz	"uniform float bumpenv_lum_offset%u;\n"

L_.str.26:                              ## @.str.26
	.asciz	"const vec4 srgb_const0 = "

	.comm	_wined3d_srgb_const0,4,2        ## @wined3d_srgb_const0
L_.str.27:                              ## @.str.27
	.asciz	";\n"

L_.str.28:                              ## @.str.28
	.asciz	"const vec4 srgb_const1 = "

	.comm	_wined3d_srgb_const1,4,2        ## @wined3d_srgb_const1
L_.str.29:                              ## @.str.29
	.asciz	"uniform vec4 ycorrection;\n"

	.comm	_WINED3D_PIXEL_CENTER_INTEGER,4,2 ## @WINED3D_PIXEL_CENTER_INTEGER
L_.str.30:                              ## @.str.30
	.asciz	"layout(%spixel_center_integer) in vec4 gl_FragCoord;\n"

L_.str.31:                              ## @.str.31
	.space	1

L_.str.32:                              ## @.str.32
	.asciz	"origin_upper_left, "

L_.str.33:                              ## @.str.33
	.asciz	"layout(origin_upper_left) in vec4 gl_FragCoord;\n"

L_.str.34:                              ## @.str.34
	.asciz	"vec4 vpos;\n"

	.comm	_WINED3D_CMP_ALWAYS,8,3         ## @WINED3D_CMP_ALWAYS
L_.str.35:                              ## @.str.35
	.asciz	"uniform float alpha_test_ref;\n"

L_.str.36:                              ## @.str.36
	.asciz	"layout(location = %u, index = %u) "

L_.str.37:                              ## @.str.37
	.asciz	"out vec4 ps_out%u;\n"

L_.str.38:                              ## @.str.38
	.asciz	"layout(location = %u) "

L_.str.39:                              ## @.str.39
	.asciz	"Insufficient uniforms to run this shader.\n"

L_.str.40:                              ## @.str.40
	.asciz	"layout(early_fragment_tests) in;\n"

L_.str.41:                              ## @.str.41
	.asciz	"void main()\n{\n"

L_.str.42:                              ## @.str.42
	.asciz	"vpos = gl_FragCoord;\n"

L_.str.43:                              ## @.str.43
	.asciz	"vpos = floor(vec4(0, ycorrection[0], 0, 0) + gl_FragCoord * vec4(1, ycorrection[1], 1, 1));\n"

L_.str.44:                              ## @.str.44
	.asciz	"vpos = vec4(0, ycorrection[0], 0, 0) + gl_FragCoord * vec4(1, ycorrection[1], 1, 1);\n"

L_.str.45:                              ## @.str.45
	.asciz	"ffp_varying_diffuse = gl_Color;\n"

L_.str.46:                              ## @.str.46
	.asciz	"ffp_varying_specular = gl_SecondaryColor;\n"

L_.str.47:                              ## @.str.47
	.asciz	"ffp_texcoord[%u] = vec4(gl_PointCoord.xy, 0.0, 0.0);\n"

L_.str.48:                              ## @.str.48
	.asciz	"ffp_texcoord[%u] = %s[%u];\n"

L_.str.49:                              ## @.str.49
	.asciz	"gl_TexCoord"

L_.str.50:                              ## @.str.50
	.asciz	"ffp_varying_texcoord"

L_.str.51:                              ## @.str.51
	.asciz	"ffp_texcoord[%u] = vec4(0.0);\n"

L_.str.52:                              ## @.str.52
	.asciz	"vec4 T%u = ffp_texcoord[%u];\n"

L_.str.53:                              ## @.str.53
	.asciz	"ffp_varying_fogcoord = gl_FogFragCoord;\n"

L_.str.54:                              ## @.str.54
	.asciz	"}\n"

	.comm	_GL_FRAGMENT_SHADER,4,2         ## @GL_FRAGMENT_SHADER
L_.str.55:                              ## @.str.55
	.asciz	"Compiling shader object %u.\n"

	.no_dead_strip	_shader_glsl_generate_pshader
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function shader_glsl_generate_pshader
_shader_glsl_generate_pshader:          ; @shader_glsl_generate_pshader
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x28, x27, [sp, #80]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #96]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #112]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #128]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x24, x5
	mov	x21, x4
	mov	x22, x3
	mov	x27, x2
	mov	x19, x1
	mov	x20, x0
	ldr	w0, [x3, #56]
	bl	_shader_glsl_get_prefix
	mov	x26, x0
	str	x20, [sp, #24]                  ; 8-byte Folded Spill
	ldr	x20, [x20, #8]
	mov	x0, x20
	bl	_needs_legacy_glsl_syntax
	str	x0, [sp, #32]                   ; 8-byte Folded Spill
	add	x0, sp, #56
	mov	w1, #0
	mov	w2, #24
	bl	_memset
	stp	x27, x21, [sp, #64]
	str	x24, [sp, #56]
	mov	x0, x19
	mov	x1, x20
	bl	_shader_glsl_add_version_declaration
	mov	x0, x19
	mov	x1, x20
	bl	_shader_glsl_enable_extensions
	ldr	x8, [x20]
Lloh0:
	adrp	x23, _ARB_CONSERVATIVE_DEPTH@GOTPAGE
Lloh1:
	ldr	x23, [x23, _ARB_CONSERVATIVE_DEPTH@GOTPAGEOFF]
	ldr	x9, [x23]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_2
; %bb.1:
Lloh2:
	adrp	x1, l_.str@PAGE
Lloh3:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x20]
LBB0_2:
Lloh4:
	adrp	x9, _ARB_DERIVATIVE_CONTROL@GOTPAGE
Lloh5:
	ldr	x9, [x9, _ARB_DERIVATIVE_CONTROL@GOTPAGEOFF]
Lloh6:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_4
; %bb.3:
Lloh7:
	adrp	x1, l_.str.1@PAGE
Lloh8:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_4:
	mov	x0, x20
	bl	_shader_glsl_use_explicit_attrib_location
	cbz	x0, LBB0_6
; %bb.5:
Lloh9:
	adrp	x1, l_.str.2@PAGE
Lloh10:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_6:
	ldr	x8, [x20]
Lloh11:
	adrp	x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGE
Lloh12:
	ldr	x9, [x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_8
; %bb.7:
Lloh14:
	adrp	x1, l_.str.3@PAGE
Lloh15:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x20]
LBB0_8:
Lloh16:
	adrp	x9, _ARB_FRAGMENT_LAYER_VIEWPORT@GOTPAGE
Lloh17:
	ldr	x9, [x9, _ARB_FRAGMENT_LAYER_VIEWPORT@GOTPAGEOFF]
Lloh18:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_10
; %bb.9:
Lloh19:
	adrp	x1, l_.str.4@PAGE
Lloh20:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x20]
LBB0_10:
Lloh21:
	adrp	x9, _ARB_SHADER_TEXTURE_LOD@GOTPAGE
Lloh22:
	ldr	x9, [x9, _ARB_SHADER_TEXTURE_LOD@GOTPAGEOFF]
Lloh23:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
	cbz	x9, LBB0_12
; %bb.11:
Lloh24:
	adrp	x1, l_.str.5@PAGE
Lloh25:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x20]
LBB0_12:
	add	x25, x22, #40
Lloh26:
	adrp	x9, _ARB_TEXTURE_RECTANGLE@GOTPAGE
Lloh27:
	ldr	x9, [x9, _ARB_TEXTURE_RECTANGLE@GOTPAGEOFF]
Lloh28:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_14
; %bb.13:
Lloh29:
	adrp	x1, l_.str.6@PAGE
Lloh30:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_14:
	add	x4, sp, #56
	ldr	x0, [sp, #24]                   ; 8-byte Folded Reload
	mov	x1, x19
	mov	x2, x22
	mov	x3, x25
	bl	_shader_generate_glsl_declarations
	ldr	x8, [x20]
	ldr	x9, [x23]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_20
; %bb.15:
	ldr	x8, [x22, #8]
Lloh31:
	adrp	x9, _WINED3DSPR_DEPTHOUTGE@GOTPAGE
Lloh32:
	ldr	x9, [x9, _WINED3DSPR_DEPTHOUTGE@GOTPAGEOFF]
Lloh33:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_17
; %bb.16:
Lloh34:
	adrp	x1, l_.str.7@PAGE
Lloh35:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_19
LBB0_17:
Lloh36:
	adrp	x9, _WINED3DSPR_DEPTHOUTLE@GOTPAGE
Lloh37:
	ldr	x9, [x9, _WINED3DSPR_DEPTHOUTLE@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_20
; %bb.18:
Lloh39:
	adrp	x1, l_.str.8@PAGE
Lloh40:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_19:
	mov	x0, x19
	bl	_shader_addline
LBB0_20:
	ldr	w9, [x21]
	stp	x25, x20, [sp, #40]             ; 16-byte Folded Spill
	cbz	w9, LBB0_32
; %bb.21:
	ldr	x23, [sp, #56]
	ldr	x8, [x22, #32]
	ldr	w10, [x8]
	cbz	w10, LBB0_30
; %bb.22:
	mov	x25, #0
	mov	w24, #0
Lloh41:
	adrp	x28, _WINED3D_SHADER_RESOURCE_TEXTURE_2D@GOTPAGE
Lloh42:
	ldr	x28, [x28, _WINED3D_SHADER_RESOURCE_TEXTURE_2D@GOTPAGEOFF]
Lloh43:
	adrp	x27, l_.str.9@PAGE
Lloh44:
	add	x27, x27, l_.str.9@PAGEOFF
	b	LBB0_25
LBB0_23:                                ;   in Loop: Header=BB0_25 Depth=1
	ldr	x9, [x23, #8]
	str	w24, [x9, x25, lsl #2]
	add	w24, w24, #1
LBB0_24:                                ;   in Loop: Header=BB0_25 Depth=1
	add	x25, x25, #1
	ldr	w9, [x8]
	cmp	x25, x9
	b.hs	LBB0_29
LBB0_25:                                ; =>This Inner Loop Header: Depth=1
	ldr	x9, [x22, #88]
	ldr	x9, [x9, x25, lsl #3]
	cbz	x9, LBB0_24
; %bb.26:                               ;   in Loop: Header=BB0_25 Depth=1
	ldr	w10, [x21]
	lsr	w10, w10, w25
	tbz	w10, #0, LBB0_24
; %bb.27:                               ;   in Loop: Header=BB0_25 Depth=1
	ldr	x10, [x28]
	cmp	x9, x10
	b.eq	LBB0_23
; %bb.28:                               ;   in Loop: Header=BB0_25 Depth=1
	mov	x0, x27
	bl	_FIXME
	ldr	x8, [x22, #32]
	b	LBB0_24
LBB0_29:
	ldr	w9, [x21]
	ldp	x25, x20, [sp, #40]             ; 16-byte Folded Reload
	b	LBB0_31
LBB0_30:
	mov	w24, #0
LBB0_31:
	add	w8, w24, #1
	lsr	w8, w8, #1
	stp	w8, w9, [x23]
	stp	x26, x8, [sp]
Lloh45:
	adrp	x1, l_.str.10@PAGE
Lloh46:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_32:
	ldr	w8, [x22, #52]
	cmp	w8, #3
	b.lt	LBB0_34
; %bb.33:
	ldr	x8, [x21, #8]
Lloh47:
	adrp	x9, _vertexshader@GOTPAGE
Lloh48:
	ldr	x9, [x9, _vertexshader@GOTPAGEOFF]
Lloh49:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_45
LBB0_34:
Lloh50:
	adrp	x1, l_.str.11@PAGE
Lloh51:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh52:
	adrp	x1, l_.str.12@PAGE
Lloh53:
	add	x1, x1, l_.str.12@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh54:
	adrp	x1, l_.str.13@PAGE
Lloh55:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh56:
	adrp	x1, l_.str.14@PAGE
Lloh57:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh58:
	adrp	x1, l_.str.15@PAGE
Lloh59:
	add	x1, x1, l_.str.15@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh60:
	adrp	x1, l_.str.16@PAGE
Lloh61:
	add	x1, x1, l_.str.16@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	mov	x0, x20
	bl	_needs_legacy_glsl_syntax
	mov	x27, x0
	mov	x0, x22
	mov	w1, #0
	bl	_glsl_is_color_reg_read
Lloh62:
	adrp	x23, _MAX_TEXTURES@GOTPAGE
Lloh63:
	ldr	x23, [x23, _MAX_TEXTURES@GOTPAGEOFF]
	cbz	x27, LBB0_40
; %bb.35:
	cbz	x0, LBB0_37
; %bb.36:
Lloh64:
	adrp	x1, l_.str.17@PAGE
Lloh65:
	add	x1, x1, l_.str.17@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_37:
	mov	x0, x22
	mov	w1, #1
	bl	_glsl_is_color_reg_read
	cbz	x0, LBB0_39
; %bb.38:
Lloh66:
	adrp	x1, l_.str.18@PAGE
Lloh67:
	add	x1, x1, l_.str.18@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_39:
	ldr	w8, [x23]
	str	x8, [sp]
Lloh68:
	adrp	x1, l_.str.19@PAGE
Lloh69:
	add	x1, x1, l_.str.19@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh70:
	adrp	x1, l_.str.20@PAGE
Lloh71:
	add	x1, x1, l_.str.20@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	b	LBB0_45
LBB0_40:
	cbz	x0, LBB0_42
; %bb.41:
	ldr	w2, [x21, #64]
Lloh72:
	adrp	x3, l_.str.17@PAGE
Lloh73:
	add	x3, x3, l_.str.17@PAGEOFF
	mov	x0, x20
	mov	x1, x19
	bl	_declare_in_varying
LBB0_42:
	mov	x0, x22
	mov	w1, #1
	bl	_glsl_is_color_reg_read
	cbz	x0, LBB0_44
; %bb.43:
	ldr	w2, [x21, #64]
Lloh74:
	adrp	x3, l_.str.18@PAGE
Lloh75:
	add	x3, x3, l_.str.18@PAGEOFF
	mov	x0, x20
	mov	x1, x19
	bl	_declare_in_varying
LBB0_44:
Lloh76:
	adrp	x24, _FALSE@GOTPAGE
Lloh77:
	ldr	x24, [x24, _FALSE@GOTPAGEOFF]
	ldr	w2, [x24]
	ldr	w8, [x23]
	str	x8, [sp]
Lloh78:
	adrp	x3, l_.str.21@PAGE
Lloh79:
	add	x3, x3, l_.str.21@PAGEOFF
	mov	x0, x20
	mov	x1, x19
	bl	_declare_in_varying
	ldr	w8, [x23]
	str	x8, [sp]
Lloh80:
	adrp	x1, l_.str.19@PAGE
Lloh81:
	add	x1, x1, l_.str.19@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	w2, [x24]
Lloh82:
	adrp	x3, l_.str.20@PAGE
Lloh83:
	add	x3, x3, l_.str.20@PAGEOFF
	mov	x0, x20
	mov	x1, x19
	bl	_declare_in_varying
LBB0_45:
	ldr	w0, [x22, #52]
	cmp	w0, #3
	b.lt	LBB0_50
; %bb.46:
	mov	x1, x20
	bl	_vec4_varyings
	ldr	x8, [x22, #32]
	ldr	w1, [x8, #16]
	bl	_min
	mov	x27, x0
	ldr	x8, [x21, #8]
Lloh84:
	adrp	x9, _vertexshader@GOTPAGE
Lloh85:
	ldr	x9, [x9, _vertexshader@GOTPAGEOFF]
Lloh86:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_49
; %bb.47:
	ldr	x8, [x22, #80]
	cbz	x8, LBB0_49
; %bb.48:
	ldr	w3, [x22, #24]
	ldr	w8, [x22, #52]
	cmp	w8, #3
	cset	w4, gt
	mov	x0, x20
	mov	x1, x19
	mov	x2, x27
	bl	_shader_glsl_declare_shader_inputs
LBB0_49:
	stp	x26, x27, [sp]
Lloh87:
	adrp	x1, l_.str.22@PAGE
Lloh88:
	add	x1, x1, l_.str.22@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_50:
	ldr	w24, [x25]
	cbz	w24, LBB0_57
; %bb.51:
	mov	w25, #0
	mov	w23, #0
Lloh89:
	adrp	x26, l_.str.23@PAGE
Lloh90:
	add	x26, x26, l_.str.23@PAGEOFF
Lloh91:
	adrp	x27, l_.str.24@PAGE
Lloh92:
	add	x27, x27, l_.str.24@PAGEOFF
Lloh93:
	adrp	x28, l_.str.25@PAGE
Lloh94:
	add	x28, x28, l_.str.25@PAGEOFF
	b	LBB0_54
LBB0_52:                                ;   in Loop: Header=BB0_54 Depth=1
	add	w23, w23, #1
LBB0_53:                                ;   in Loop: Header=BB0_54 Depth=1
	asr	w8, w24, #1
	add	w25, w25, #1
	cmp	w24, #1
	mov	x24, x8
	b.ls	LBB0_58
LBB0_54:                                ; =>This Inner Loop Header: Depth=1
	tbz	w24, #0, LBB0_53
; %bb.55:                               ;   in Loop: Header=BB0_54 Depth=1
	str	x25, [sp]
	mov	x0, x19
	mov	x1, x26
	bl	_shader_addline
	ldr	w8, [x22, #44]
	lsr	w8, w8, w25
	tbz	w8, #0, LBB0_52
; %bb.56:                               ;   in Loop: Header=BB0_54 Depth=1
	mov	x20, x21
	mov	x21, x25
	str	x21, [sp]
	mov	x0, x19
	mov	x1, x27
	bl	_shader_addline
	str	x21, [sp]
	mov	x21, x20
	mov	x0, x19
	mov	x1, x28
	bl	_shader_addline
	add	w23, w23, #1
	b	LBB0_52
LBB0_57:
	mov	w23, #0
LBB0_58:
	ldr	x8, [x21, #56]
	cbz	x8, LBB0_60
; %bb.59:
Lloh95:
	adrp	x1, l_.str.26@PAGE
Lloh96:
	add	x1, x1, l_.str.26@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh97:
	adrp	x8, _wined3d_srgb_const0@GOTPAGE
Lloh98:
	ldr	x8, [x8, _wined3d_srgb_const0@GOTPAGEOFF]
Lloh99:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_shader_glsl_append_imm_vec4
Lloh100:
	adrp	x26, l_.str.27@PAGE
Lloh101:
	add	x26, x26, l_.str.27@PAGEOFF
	mov	x0, x19
	mov	x1, x26
	bl	_shader_addline
Lloh102:
	adrp	x1, l_.str.28@PAGE
Lloh103:
	add	x1, x1, l_.str.28@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh104:
	adrp	x8, _wined3d_srgb_const1@GOTPAGE
Lloh105:
	ldr	x8, [x8, _wined3d_srgb_const1@GOTPAGEOFF]
Lloh106:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_shader_glsl_append_imm_vec4
	mov	x0, x19
	mov	x1, x26
	bl	_shader_addline
LBB0_60:
	ldp	x9, x8, [x22, #64]
	ldp	x25, x20, [sp, #40]             ; 16-byte Folded Reload
	cbz	x9, LBB0_63
; %bb.61:
	cbnz	x8, LBB0_64
; %bb.62:
	ldr	x8, [x20]
Lloh107:
	adrp	x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGE
Lloh108:
	ldr	x9, [x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGEOFF]
Lloh109:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbnz	x8, LBB0_65
	b	LBB0_64
LBB0_63:
	cbz	x8, LBB0_71
LBB0_64:
	add	w23, w23, #1
Lloh110:
	adrp	x1, l_.str.29@PAGE
Lloh111:
	add	x1, x1, l_.str.29@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x22, #64]
	cbz	x8, LBB0_71
LBB0_65:
	ldr	x8, [x20]
Lloh112:
	adrp	x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGE
Lloh113:
	ldr	x9, [x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGEOFF]
Lloh114:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_70
; %bb.66:
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	ldr	x8, [x8]
	ldr	w9, [x8]
Lloh115:
	adrp	x8, _WINED3D_PIXEL_CENTER_INTEGER@GOTPAGE
Lloh116:
	ldr	x8, [x8, _WINED3D_PIXEL_CENTER_INTEGER@GOTPAGEOFF]
Lloh117:
	ldr	w10, [x8]
	ldr	x8, [x21, #48]
	tst	w10, w9
	b.eq	LBB0_69
; %bb.67:
Lloh118:
	adrp	x9, l_.str.31@PAGE
Lloh119:
	add	x9, x9, l_.str.31@PAGEOFF
Lloh120:
	adrp	x10, l_.str.32@PAGE
Lloh121:
	add	x10, x10, l_.str.32@PAGEOFF
	cmp	x8, #0
	csel	x8, x10, x9, eq
	str	x8, [sp]
Lloh122:
	adrp	x1, l_.str.30@PAGE
Lloh123:
	add	x1, x1, l_.str.30@PAGEOFF
LBB0_68:
	mov	x0, x19
	bl	_shader_addline
	b	LBB0_70
LBB0_69:
	cbz	x8, LBB0_121
LBB0_70:
Lloh124:
	adrp	x1, l_.str.34@PAGE
Lloh125:
	add	x1, x1, l_.str.34@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_71:
	ldr	x8, [x21, #16]
	add	x8, x8, #1
Lloh126:
	adrp	x9, _WINED3D_CMP_ALWAYS@GOTPAGE
Lloh127:
	ldr	x9, [x9, _WINED3D_CMP_ALWAYS@GOTPAGEOFF]
Lloh128:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_73
; %bb.72:
Lloh129:
	adrp	x1, l_.str.35@PAGE
Lloh130:
	add	x1, x1, l_.str.35@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_73:
	mov	x0, x20
	bl	_needs_legacy_glsl_syntax
	cbz	x0, LBB0_81
LBB0_74:
	ldr	x8, [x22, #32]
	ldr	x8, [x8, #8]
	add	x8, x8, w23, uxtw
	ldr	x9, [x20, #16]
	cmp	x8, x9
	b.lt	LBB0_76
; %bb.75:
Lloh131:
	adrp	x0, l_.str.39@PAGE
Lloh132:
	add	x0, x0, l_.str.39@PAGEOFF
	bl	_FIXME
LBB0_76:
	ldr	x8, [x22, #16]
	cbz	x8, LBB0_78
; %bb.77:
Lloh133:
	adrp	x1, l_.str.40@PAGE
Lloh134:
	add	x1, x1, l_.str.40@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_78:
Lloh135:
	adrp	x1, l_.str.41@PAGE
Lloh136:
	add	x1, x1, l_.str.41@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
	ldr	x8, [x22, #64]
	cbz	x8, LBB0_89
; %bb.79:
	ldr	x8, [x20]
Lloh137:
	adrp	x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGE
Lloh138:
	ldr	x9, [x9, _ARB_FRAGMENT_COORD_CONVENTIONS@GOTPAGEOFF]
Lloh139:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	cbz	x8, LBB0_87
; %bb.80:
Lloh140:
	adrp	x1, l_.str.42@PAGE
Lloh141:
	add	x1, x1, l_.str.42@PAGEOFF
	b	LBB0_88
LBB0_81:
	ldr	x8, [x21, #40]
	cbz	x8, LBB0_116
; %bb.82:
	ldr	w8, [x20, #8]
	cbz	w8, LBB0_74
; %bb.83:
	mov	w24, #0
Lloh142:
	adrp	x26, l_.str.37@PAGE
Lloh143:
	add	x26, x26, l_.str.37@PAGEOFF
Lloh144:
	adrp	x27, l_.str.36@PAGE
Lloh145:
	add	x27, x27, l_.str.36@PAGEOFF
	b	LBB0_85
LBB0_84:                                ;   in Loop: Header=BB0_85 Depth=1
	str	x24, [sp]
	mov	x0, x19
	mov	x1, x26
	bl	_shader_addline
	add	w24, w24, #1
	ldr	w8, [x20, #8]
	cmp	w24, w8, lsl #1
	b.hs	LBB0_74
LBB0_85:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	bl	_shader_glsl_use_explicit_attrib_location
	cbz	x0, LBB0_84
; %bb.86:                               ;   in Loop: Header=BB0_85 Depth=1
	lsr	w8, w24, #1
	and	w9, w24, #0x1
	stp	x8, x9, [sp]
	mov	x0, x19
	mov	x1, x27
	bl	_shader_addline
	b	LBB0_84
LBB0_87:
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	ldr	x8, [x8]
	ldr	w8, [x8]
Lloh146:
	adrp	x9, _WINED3D_PIXEL_CENTER_INTEGER@GOTPAGE
Lloh147:
	ldr	x9, [x9, _WINED3D_PIXEL_CENTER_INTEGER@GOTPAGEOFF]
Lloh148:
	ldr	w9, [x9]
Lloh149:
	adrp	x10, l_.str.43@PAGE
Lloh150:
	add	x10, x10, l_.str.43@PAGEOFF
Lloh151:
	adrp	x11, l_.str.44@PAGE
Lloh152:
	add	x11, x11, l_.str.44@PAGEOFF
	tst	w9, w8
	csel	x1, x11, x10, eq
LBB0_88:
	mov	x0, x19
	bl	_shader_addline
LBB0_89:
	ldr	w8, [x22, #52]
	cmp	w8, #3
	b.lt	LBB0_91
; %bb.90:
	ldr	x8, [x21, #8]
Lloh153:
	adrp	x9, _vertexshader@GOTPAGE
Lloh154:
	ldr	x9, [x9, _vertexshader@GOTPAGEOFF]
Lloh155:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_108
LBB0_91:
	ldr	w23, [x22, #48]
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	cbz	x8, LBB0_96
; %bb.92:
	mov	x0, x22
	mov	w1, #0
	bl	_glsl_is_color_reg_read
	cbz	x0, LBB0_94
; %bb.93:
Lloh156:
	adrp	x1, l_.str.45@PAGE
Lloh157:
	add	x1, x1, l_.str.45@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_94:
	mov	x0, x22
	mov	w1, #1
	bl	_glsl_is_color_reg_read
	cbz	x0, LBB0_96
; %bb.95:
Lloh158:
	adrp	x1, l_.str.46@PAGE
Lloh159:
	add	x1, x1, l_.str.46@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_96:
	cbz	w23, LBB0_106
; %bb.97:
	mov	w24, #0
Lloh160:
	adrp	x8, l_.str.49@PAGE
Lloh161:
	add	x8, x8, l_.str.49@PAGEOFF
Lloh162:
	adrp	x9, l_.str.50@PAGE
Lloh163:
	add	x9, x9, l_.str.50@PAGEOFF
	ldr	x10, [sp, #32]                  ; 8-byte Folded Reload
	cmp	x10, #0
	csel	x25, x9, x8, eq
Lloh164:
	adrp	x20, l_.str.51@PAGE
Lloh165:
	add	x20, x20, l_.str.51@PAGEOFF
Lloh166:
	adrp	x26, l_.str.48@PAGE
Lloh167:
	add	x26, x26, l_.str.48@PAGEOFF
Lloh168:
	adrp	x27, l_.str.52@PAGE
Lloh169:
	add	x27, x27, l_.str.52@PAGEOFF
Lloh170:
	adrp	x28, l_.str.47@PAGE
Lloh171:
	add	x28, x28, l_.str.47@PAGEOFF
	b	LBB0_101
LBB0_98:                                ;   in Loop: Header=BB0_101 Depth=1
	mov	x8, x24
	str	x8, [sp]
	mov	x0, x19
	mov	x1, x28
LBB0_99:                                ;   in Loop: Header=BB0_101 Depth=1
	bl	_shader_addline
	stp	x24, x24, [sp]
	mov	x0, x19
	mov	x1, x27
	bl	_shader_addline
LBB0_100:                               ;   in Loop: Header=BB0_101 Depth=1
	asr	w8, w23, #1
	add	w24, w24, #1
	cmp	w23, #1
	mov	x23, x8
	b.ls	LBB0_106
LBB0_101:                               ; =>This Inner Loop Header: Depth=1
	tbz	w23, #0, LBB0_100
; %bb.102:                              ;   in Loop: Header=BB0_101 Depth=1
	ldr	x8, [x21, #32]
	cbnz	x8, LBB0_98
; %bb.103:                              ;   in Loop: Header=BB0_101 Depth=1
	ldr	w8, [x21, #24]
	lsr	w8, w8, w24
	tbz	w8, #0, LBB0_105
; %bb.104:                              ;   in Loop: Header=BB0_101 Depth=1
	mov	x8, x24
	stp	x25, x8, [sp, #8]
	str	x8, [sp]
	mov	x0, x19
	mov	x1, x26
	b	LBB0_99
LBB0_105:                               ;   in Loop: Header=BB0_101 Depth=1
	mov	x8, x24
	str	x8, [sp]
	mov	x0, x19
	mov	x1, x20
	b	LBB0_99
LBB0_106:
	ldp	x25, x20, [sp, #40]             ; 16-byte Folded Reload
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	cbz	x8, LBB0_108
; %bb.107:
Lloh172:
	adrp	x1, l_.str.53@PAGE
Lloh173:
	add	x1, x1, l_.str.53@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
LBB0_108:
	ldr	w8, [x22, #52]
	cmp	w8, #3
	b.lt	LBB0_110
; %bb.109:
	cset	w6, ne
	mov	x0, x22
	mov	x1, x19
	mov	x2, x22
	mov	x3, x25
	mov	x4, x21
	mov	x5, x20
	bl	_shader_glsl_input_pack
LBB0_110:
	add	x3, sp, #56
	mov	x0, x22
	mov	x1, x19
	mov	x2, x25
	mov	x4, #0
	mov	x5, #0
	bl	_shader_generate_code
	bl	_FAILED
	cbz	x0, LBB0_112
; %bb.111:
	mov	w21, #0
	b	LBB0_115
LBB0_112:
	ldr	w8, [x22, #52]
	cmp	w8, #3
	b.gt	LBB0_114
; %bb.113:
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x3, x21
	bl	_shader_glsl_generate_ps_epilogue
LBB0_114:
Lloh174:
	adrp	x1, l_.str.54@PAGE
Lloh175:
	add	x1, x1, l_.str.54@PAGEOFF
	mov	x0, x19
	bl	_shader_addline
Lloh176:
	adrp	x8, _GL_FRAGMENT_SHADER@GOTPAGE
Lloh177:
	ldr	x8, [x8, _GL_FRAGMENT_SHADER@GOTPAGEOFF]
Lloh178:
	ldr	w0, [x8]
	bl	_glCreateShader
	bl	_GL_EXTCALL
	mov	x21, x0
Lloh179:
	adrp	x0, l_.str.55@PAGE
Lloh180:
	add	x0, x0, l_.str.55@PAGEOFF
	mov	x1, x21
	bl	_TRACE
	ldr	w2, [x19]
	mov	x0, x20
	mov	x1, x21
	bl	_shader_glsl_compile
LBB0_115:
	mov	x0, x21
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #96]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
LBB0_116:
	ldr	w8, [x20, #12]
	cbz	w8, LBB0_74
; %bb.117:
	mov	w24, #0
Lloh181:
	adrp	x26, l_.str.37@PAGE
Lloh182:
	add	x26, x26, l_.str.37@PAGEOFF
Lloh183:
	adrp	x27, l_.str.38@PAGE
Lloh184:
	add	x27, x27, l_.str.38@PAGEOFF
	b	LBB0_119
LBB0_118:                               ;   in Loop: Header=BB0_119 Depth=1
	str	x24, [sp]
	mov	x0, x19
	mov	x1, x26
	bl	_shader_addline
	add	w24, w24, #1
	ldr	w8, [x20, #12]
	cmp	w24, w8
	b.hs	LBB0_74
LBB0_119:                               ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	bl	_shader_glsl_use_explicit_attrib_location
	cbz	x0, LBB0_118
; %bb.120:                              ;   in Loop: Header=BB0_119 Depth=1
	mov	x8, x24
	str	x8, [sp]
	mov	x0, x19
	mov	x1, x27
	bl	_shader_addline
	b	LBB0_118
LBB0_121:
Lloh185:
	adrp	x1, l_.str.33@PAGE
Lloh186:
	add	x1, x1, l_.str.33@PAGEOFF
	b	LBB0_68
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh62, Lloh63
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpAdd	Lloh68, Lloh69
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpLdrGot	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpAdd	Lloh87, Lloh88
	.loh AdrpAdd	Lloh93, Lloh94
	.loh AdrpAdd	Lloh91, Lloh92
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpAdd	Lloh102, Lloh103
	.loh AdrpAdd	Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpAdd	Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpAdd	Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpAdd	Lloh122, Lloh123
	.loh AdrpAdd	Lloh120, Lloh121
	.loh AdrpAdd	Lloh118, Lloh119
	.loh AdrpAdd	Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.loh AdrpAdd	Lloh129, Lloh130
	.loh AdrpAdd	Lloh131, Lloh132
	.loh AdrpAdd	Lloh133, Lloh134
	.loh AdrpAdd	Lloh135, Lloh136
	.loh AdrpLdrGotLdr	Lloh137, Lloh138, Lloh139
	.loh AdrpAdd	Lloh140, Lloh141
	.loh AdrpAdd	Lloh144, Lloh145
	.loh AdrpAdd	Lloh142, Lloh143
	.loh AdrpAdd	Lloh151, Lloh152
	.loh AdrpAdd	Lloh149, Lloh150
	.loh AdrpLdrGotLdr	Lloh146, Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh153, Lloh154, Lloh155
	.loh AdrpAdd	Lloh156, Lloh157
	.loh AdrpAdd	Lloh158, Lloh159
	.loh AdrpAdd	Lloh170, Lloh171
	.loh AdrpAdd	Lloh168, Lloh169
	.loh AdrpAdd	Lloh166, Lloh167
	.loh AdrpAdd	Lloh164, Lloh165
	.loh AdrpAdd	Lloh162, Lloh163
	.loh AdrpAdd	Lloh160, Lloh161
	.loh AdrpAdd	Lloh172, Lloh173
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpLdrGotLdr	Lloh176, Lloh177, Lloh178
	.loh AdrpAdd	Lloh174, Lloh175
	.loh AdrpAdd	Lloh183, Lloh184
	.loh AdrpAdd	Lloh181, Lloh182
	.loh AdrpAdd	Lloh185, Lloh186
	.cfi_endproc
                                        ; -- End function
	.comm	_ARB_CONSERVATIVE_DEPTH,8,3     ; @ARB_CONSERVATIVE_DEPTH
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"#extension GL_ARB_conservative_depth : enable\n"

	.comm	_ARB_DERIVATIVE_CONTROL,8,3     ; @ARB_DERIVATIVE_CONTROL
l_.str.1:                               ; @.str.1
	.asciz	"#extension GL_ARB_derivative_control : enable\n"

l_.str.2:                               ; @.str.2
	.asciz	"#extension GL_ARB_explicit_attrib_location : enable\n"

	.comm	_ARB_FRAGMENT_COORD_CONVENTIONS,8,3 ; @ARB_FRAGMENT_COORD_CONVENTIONS
l_.str.3:                               ; @.str.3
	.asciz	"#extension GL_ARB_fragment_coord_conventions : enable\n"

	.comm	_ARB_FRAGMENT_LAYER_VIEWPORT,8,3 ; @ARB_FRAGMENT_LAYER_VIEWPORT
l_.str.4:                               ; @.str.4
	.asciz	"#extension GL_ARB_fragment_layer_viewport : enable\n"

	.comm	_ARB_SHADER_TEXTURE_LOD,8,3     ; @ARB_SHADER_TEXTURE_LOD
l_.str.5:                               ; @.str.5
	.asciz	"#extension GL_ARB_shader_texture_lod : enable\n"

	.comm	_ARB_TEXTURE_RECTANGLE,8,3      ; @ARB_TEXTURE_RECTANGLE
l_.str.6:                               ; @.str.6
	.asciz	"#extension GL_ARB_texture_rectangle : enable\n"

	.comm	_WINED3DSPR_DEPTHOUTGE,8,3      ; @WINED3DSPR_DEPTHOUTGE
l_.str.7:                               ; @.str.7
	.asciz	"layout (depth_greater) out float gl_FragDepth;\n"

	.comm	_WINED3DSPR_DEPTHOUTLE,8,3      ; @WINED3DSPR_DEPTHOUTLE
l_.str.8:                               ; @.str.8
	.asciz	"layout (depth_less) out float gl_FragDepth;\n"

	.comm	_WINED3D_SHADER_RESOURCE_TEXTURE_2D,8,3 ; @WINED3D_SHADER_RESOURCE_TEXTURE_2D
l_.str.9:                               ; @.str.9
	.asciz	"Non-2D texture is flagged for NP2 texcoord fixup.\n"

l_.str.10:                              ; @.str.10
	.asciz	"uniform vec4 %s_samplerNP2Fixup[%u];\n"

	.comm	_vertexshader,8,3               ; @vertexshader
l_.str.11:                              ; @.str.11
	.asciz	"uniform struct\n{\n"

l_.str.12:                              ; @.str.12
	.asciz	"    vec4 color;\n"

l_.str.13:                              ; @.str.13
	.asciz	"    float density;\n"

l_.str.14:                              ; @.str.14
	.asciz	"    float end;\n"

l_.str.15:                              ; @.str.15
	.asciz	"    float scale;\n"

l_.str.16:                              ; @.str.16
	.asciz	"} ffp_fog;\n"

l_.str.17:                              ; @.str.17
	.asciz	"vec4 ffp_varying_diffuse;\n"

l_.str.18:                              ; @.str.18
	.asciz	"vec4 ffp_varying_specular;\n"

l_.str.19:                              ; @.str.19
	.asciz	"vec4 ffp_texcoord[%u];\n"

	.comm	_MAX_TEXTURES,4,2               ; @MAX_TEXTURES
l_.str.20:                              ; @.str.20
	.asciz	"float ffp_varying_fogcoord;\n"

	.comm	_FALSE,4,2                      ; @FALSE
l_.str.21:                              ; @.str.21
	.asciz	"vec4 ffp_varying_texcoord[%u];\n"

l_.str.22:                              ; @.str.22
	.asciz	"vec4 %s_in[%u];\n"

l_.str.23:                              ; @.str.23
	.asciz	"uniform mat2 bumpenv_mat%u;\n"

l_.str.24:                              ; @.str.24
	.asciz	"uniform float bumpenv_lum_scale%u;\n"

l_.str.25:                              ; @.str.25
	.asciz	"uniform float bumpenv_lum_offset%u;\n"

l_.str.26:                              ; @.str.26
	.asciz	"const vec4 srgb_const0 = "

	.comm	_wined3d_srgb_const0,4,2        ; @wined3d_srgb_const0
l_.str.27:                              ; @.str.27
	.asciz	";\n"

l_.str.28:                              ; @.str.28
	.asciz	"const vec4 srgb_const1 = "

	.comm	_wined3d_srgb_const1,4,2        ; @wined3d_srgb_const1
l_.str.29:                              ; @.str.29
	.asciz	"uniform vec4 ycorrection;\n"

	.comm	_WINED3D_PIXEL_CENTER_INTEGER,4,2 ; @WINED3D_PIXEL_CENTER_INTEGER
l_.str.30:                              ; @.str.30
	.asciz	"layout(%spixel_center_integer) in vec4 gl_FragCoord;\n"

l_.str.31:                              ; @.str.31
	.space	1

l_.str.32:                              ; @.str.32
	.asciz	"origin_upper_left, "

l_.str.33:                              ; @.str.33
	.asciz	"layout(origin_upper_left) in vec4 gl_FragCoord;\n"

l_.str.34:                              ; @.str.34
	.asciz	"vec4 vpos;\n"

	.comm	_WINED3D_CMP_ALWAYS,8,3         ; @WINED3D_CMP_ALWAYS
l_.str.35:                              ; @.str.35
	.asciz	"uniform float alpha_test_ref;\n"

l_.str.36:                              ; @.str.36
	.asciz	"layout(location = %u, index = %u) "

l_.str.37:                              ; @.str.37
	.asciz	"out vec4 ps_out%u;\n"

l_.str.38:                              ; @.str.38
	.asciz	"layout(location = %u) "

l_.str.39:                              ; @.str.39
	.asciz	"Insufficient uniforms to run this shader.\n"

l_.str.40:                              ; @.str.40
	.asciz	"layout(early_fragment_tests) in;\n"

l_.str.41:                              ; @.str.41
	.asciz	"void main()\n{\n"

l_.str.42:                              ; @.str.42
	.asciz	"vpos = gl_FragCoord;\n"

l_.str.43:                              ; @.str.43
	.asciz	"vpos = floor(vec4(0, ycorrection[0], 0, 0) + gl_FragCoord * vec4(1, ycorrection[1], 1, 1));\n"

l_.str.44:                              ; @.str.44
	.asciz	"vpos = vec4(0, ycorrection[0], 0, 0) + gl_FragCoord * vec4(1, ycorrection[1], 1, 1);\n"

l_.str.45:                              ; @.str.45
	.asciz	"ffp_varying_diffuse = gl_Color;\n"

l_.str.46:                              ; @.str.46
	.asciz	"ffp_varying_specular = gl_SecondaryColor;\n"

l_.str.47:                              ; @.str.47
	.asciz	"ffp_texcoord[%u] = vec4(gl_PointCoord.xy, 0.0, 0.0);\n"

l_.str.48:                              ; @.str.48
	.asciz	"ffp_texcoord[%u] = %s[%u];\n"

l_.str.49:                              ; @.str.49
	.asciz	"gl_TexCoord"

l_.str.50:                              ; @.str.50
	.asciz	"ffp_varying_texcoord"

l_.str.51:                              ; @.str.51
	.asciz	"ffp_texcoord[%u] = vec4(0.0);\n"

l_.str.52:                              ; @.str.52
	.asciz	"vec4 T%u = ffp_texcoord[%u];\n"

l_.str.53:                              ; @.str.53
	.asciz	"ffp_varying_fogcoord = gl_FogFragCoord;\n"

l_.str.54:                              ; @.str.54
	.asciz	"}\n"

	.comm	_GL_FRAGMENT_SHADER,4,2         ; @GL_FRAGMENT_SHADER
l_.str.55:                              ; @.str.55
	.asciz	"Compiling shader object %u.\n"

	.no_dead_strip	_shader_glsl_generate_pshader
.subsections_via_symbols
