2 * Copyright (C) 2008-2009 Advanced Micro Devices, Inc.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 * Richard Li <RichardZ.Li@amd.com>, <richardradeon@gmail.com>
27 #ifndef _R700_FRAGPROG_H_
28 #define _R700_FRAGPROG_H_
30 #include "r600_context.h"
31 #include "r700_assembler.h"
33 struct r700_fragment_program
35 struct gl_fragment_program mesa_program
;
37 r700_AssemblerBase r700AsmCode
;
38 R700_Shader r700Shader
;
46 GLboolean WritesDepth
;
51 void insert_wpos_code(GLcontext
*ctx
, struct gl_fragment_program
*fprog
);
53 void Map_Fragment_Program(r700_AssemblerBase
*pAsm
,
54 struct gl_fragment_program
*mesa_fp
,
56 GLboolean
Find_Instruction_Dependencies_fp(struct r700_fragment_program
*fp
,
57 struct gl_fragment_program
*mesa_fp
);
59 GLboolean
r700TranslateFragmentShader(struct r700_fragment_program
*fp
,
60 struct gl_fragment_program
*mesa_vp
,
64 extern void r700SelectFragmentShader(GLcontext
*ctx
);
66 extern GLboolean
r700SetupFragmentProgram(GLcontext
* ctx
);
68 extern void * r700GetActiveFpShaderBo(GLcontext
* ctx
);
70 #endif /*_R700_FRAGPROG_H_*/