// File: /workspace/github_cpp_makefile_star2_O1/rossy[P]crossc/SPIRV-Cross/spirv_glsl.cpp
// Function: spirv_cross::CompilerGLSL::emit_pls()
void CompilerGLSL::emit_pls()
{
	auto &execution = get_entry_point();
	if (execution.model != ExecutionModelFragment)
		SPIRV_CROSS_THROW("Pixel local storage only supported in fragment shaders.");

	if (!options.es)
		SPIRV_CROSS_THROW("Pixel local storage only supported in OpenGL ES.");

	if (options.version < 300)
		SPIRV_CROSS_THROW("Pixel local storage only supported in ESSL 3.0 and above.");

	if (!pls_inputs.empty())
	{
		statement("__pixel_local_inEXT _PLSIn");
		begin_scope();
		for (auto &input : pls_inputs)
			statement(pls_decl(input), ";");
		end_scope_decl();
		statement("");
	}

	if (!pls_outputs.empty())
	{
		statement("__pixel_local_outEXT _PLSOut");
		begin_scope();
		for (auto &output : pls_outputs)
			statement(pls_decl(output), ";");
		end_scope_decl();
		statement("");
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
callq 0x16254
cmpl $0x4, 0xb8(%rax)
jne 0x33811
cmpb $0x0, 0x43c(%rbx)
je 0x3387a
cmpl $0x12b, 0x438(%rbx)     # imm = 0x12B
jbe 0x338e0
movq 0x758(%rbx), %rax
cmpq 0x760(%rbx), %rax
je 0x33753
leaq 0x857df(%rip), %rsi     # 0xb8e9e
movq %rbx, %rdi
callq 0x52fee
leaq 0x88519(%rip), %rsi     # 0xbbbe7
movq %rbx, %rdi
callq 0x5a5fc
incl 0x638(%rbx)
movq 0x758(%rbx), %r14
movq 0x760(%rbx), %r13
cmpq %r13, %r14
je 0x3373c
leaq 0x18(%rsp), %rbp
leaq 0x8(%rsp), %r15
leaq 0x8c3e9(%rip), %r12     # 0xbfae9
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x339a2
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0xaa50
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x33733
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
addq $0x8, %r14
cmpq %r13, %r14
jne 0x33700
movq %rbx, %rdi
callq 0x2889c
leaq 0x82164(%rip), %rsi     # 0xb58af
movq %rbx, %rdi
callq 0xa700
movq 0x770(%rbx), %rax
cmpq 0x778(%rbx), %rax
je 0x33802
leaq 0x8574b(%rip), %rsi     # 0xb8eb9
movq %rbx, %rdi
callq 0xcdf2
leaq 0x8846a(%rip), %rsi     # 0xbbbe7
movq %rbx, %rdi
callq 0x5a5fc
incl 0x638(%rbx)
movq 0x770(%rbx), %r14
movq 0x778(%rbx), %r13
cmpq %r13, %r14
je 0x337eb
leaq 0x18(%rsp), %rbp
leaq 0x8(%rsp), %r15
leaq 0x8c33a(%rip), %r12     # 0xbfae9
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x339a2
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0xaa50
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x337e2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
addq $0x8, %r14
cmpq %r13, %r14
jne 0x337af
movq %rbx, %rdi
callq 0x2889c
leaq 0x820b5(%rip), %rsi     # 0xb58af
movq %rbx, %rdi
callq 0xa700
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x855cd(%rip), %rsi     # 0xb8dfb
leaq 0x855fd(%rip), %rdx     # 0xb8e32
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0xc9542(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xc951a(%rip), %rsi     # 0xfcd80
movq 0xca76b(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x33944
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x8559c(%rip), %rsi     # 0xb8e33
leaq 0x855c5(%rip), %rdx     # 0xb8e63
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0xc94d9(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xc94b1(%rip), %rsi     # 0xfcd80
movq 0xca702(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x33944
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x85567(%rip), %rsi     # 0xb8e64
leaq 0x85599(%rip), %rdx     # 0xb8e9d
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0xc9473(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xc944b(%rip), %rsi     # 0xfcd80
movq 0xca69c(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x3394c
jmp 0x33968
jmp 0x3394c
jmp 0x33968
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x3396e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x3396e
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x33999
movq %r14, %rdi
callq 0x6200
jmp 0x33999
jmp 0x3397f
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x33999
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq %rbx, %rdi
callq 0x64a0
nop