i965: Drop trailing whitespace from the rest of the driver.
[mesa.git] / src / mesa / drivers / dri / i965 / intel_state.c
1 /**************************************************************************
2 *
3 * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
4 * All Rights Reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
13 *
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
16 * of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21 * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 *
26 **************************************************************************/
27
28
29 #include "main/glheader.h"
30 #include "main/context.h"
31 #include "main/macros.h"
32 #include "main/enums.h"
33 #include "main/colormac.h"
34 #include "main/dd.h"
35
36 #include "intel_screen.h"
37 #include "brw_context.h"
38 #include "brw_defines.h"
39
40 int
41 intel_translate_shadow_compare_func(GLenum func)
42 {
43 switch (func) {
44 case GL_NEVER:
45 return BRW_COMPAREFUNCTION_ALWAYS;
46 case GL_LESS:
47 return BRW_COMPAREFUNCTION_LEQUAL;
48 case GL_LEQUAL:
49 return BRW_COMPAREFUNCTION_LESS;
50 case GL_GREATER:
51 return BRW_COMPAREFUNCTION_GEQUAL;
52 case GL_GEQUAL:
53 return BRW_COMPAREFUNCTION_GREATER;
54 case GL_NOTEQUAL:
55 return BRW_COMPAREFUNCTION_EQUAL;
56 case GL_EQUAL:
57 return BRW_COMPAREFUNCTION_NOTEQUAL;
58 case GL_ALWAYS:
59 return BRW_COMPAREFUNCTION_NEVER;
60 }
61
62 assert(!"Invalid shadow comparison function.");
63 return BRW_COMPAREFUNCTION_NEVER;
64 }
65
66 int
67 intel_translate_compare_func(GLenum func)
68 {
69 switch (func) {
70 case GL_NEVER:
71 return BRW_COMPAREFUNCTION_NEVER;
72 case GL_LESS:
73 return BRW_COMPAREFUNCTION_LESS;
74 case GL_LEQUAL:
75 return BRW_COMPAREFUNCTION_LEQUAL;
76 case GL_GREATER:
77 return BRW_COMPAREFUNCTION_GREATER;
78 case GL_GEQUAL:
79 return BRW_COMPAREFUNCTION_GEQUAL;
80 case GL_NOTEQUAL:
81 return BRW_COMPAREFUNCTION_NOTEQUAL;
82 case GL_EQUAL:
83 return BRW_COMPAREFUNCTION_EQUAL;
84 case GL_ALWAYS:
85 return BRW_COMPAREFUNCTION_ALWAYS;
86 }
87
88 assert(!"Invalid comparison function.");
89 return BRW_COMPAREFUNCTION_ALWAYS;
90 }
91
92 int
93 intel_translate_stencil_op(GLenum op)
94 {
95 switch (op) {
96 case GL_KEEP:
97 return BRW_STENCILOP_KEEP;
98 case GL_ZERO:
99 return BRW_STENCILOP_ZERO;
100 case GL_REPLACE:
101 return BRW_STENCILOP_REPLACE;
102 case GL_INCR:
103 return BRW_STENCILOP_INCRSAT;
104 case GL_DECR:
105 return BRW_STENCILOP_DECRSAT;
106 case GL_INCR_WRAP:
107 return BRW_STENCILOP_INCR;
108 case GL_DECR_WRAP:
109 return BRW_STENCILOP_DECR;
110 case GL_INVERT:
111 return BRW_STENCILOP_INVERT;
112 default:
113 return BRW_STENCILOP_ZERO;
114 }
115 }
116
117 int
118 intel_translate_logic_op(GLenum opcode)
119 {
120 switch (opcode) {
121 case GL_CLEAR:
122 return BRW_LOGICOPFUNCTION_CLEAR;
123 case GL_AND:
124 return BRW_LOGICOPFUNCTION_AND;
125 case GL_AND_REVERSE:
126 return BRW_LOGICOPFUNCTION_AND_REVERSE;
127 case GL_COPY:
128 return BRW_LOGICOPFUNCTION_COPY;
129 case GL_COPY_INVERTED:
130 return BRW_LOGICOPFUNCTION_COPY_INVERTED;
131 case GL_AND_INVERTED:
132 return BRW_LOGICOPFUNCTION_AND_INVERTED;
133 case GL_NOOP:
134 return BRW_LOGICOPFUNCTION_NOOP;
135 case GL_XOR:
136 return BRW_LOGICOPFUNCTION_XOR;
137 case GL_OR:
138 return BRW_LOGICOPFUNCTION_OR;
139 case GL_OR_INVERTED:
140 return BRW_LOGICOPFUNCTION_OR_INVERTED;
141 case GL_NOR:
142 return BRW_LOGICOPFUNCTION_NOR;
143 case GL_EQUIV:
144 return BRW_LOGICOPFUNCTION_EQUIV;
145 case GL_INVERT:
146 return BRW_LOGICOPFUNCTION_INVERT;
147 case GL_OR_REVERSE:
148 return BRW_LOGICOPFUNCTION_OR_REVERSE;
149 case GL_NAND:
150 return BRW_LOGICOPFUNCTION_NAND;
151 case GL_SET:
152 return BRW_LOGICOPFUNCTION_SET;
153 default:
154 return BRW_LOGICOPFUNCTION_SET;
155 }
156 }