diff options
author | Paul Berry <[email protected]> | 2013-02-23 08:28:18 -0800 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-03-15 09:25:57 -0700 |
commit | 10a131211ef18fa1d368dee394045df945dcbb6e (patch) | |
tree | 843962c13b6282be5fa0b9b3fa7f952d115887a6 /src/mesa/main | |
parent | 827c074fb1e3c138363673896777009f96a76bd8 (diff) |
Get rid of _mesa_vert_result_to_frag_attrib().
Now that there is no difference between the enums that represent
vertex outputs and fragment inputs, there's no need for a conversion
function. But we still need to be able to detect when a given vertex
output has no corresponding fragment input. So it is replaced by a
new function, _mesa_varying_slot_in_fs(), which tells whether the
given varying slot exists as an FS input or not.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Tested-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/mtypes.h | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index cc11ca92a2d..f8a69115d28 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -217,7 +217,7 @@ typedef enum * When this enum is updated, the following code must be updated too: * - vertResults (in prog_print.c's arb_output_attrib_string()) * - fragAttribs (in prog_print.c's arb_input_attrib_string()) - * - _mesa_vert_result_to_frag_attrib() + * - _mesa_varying_slot_in_fs() * - _mesa_frag_attrib_to_vert_result() */ typedef enum @@ -288,8 +288,8 @@ typedef enum /** * Indexes for fragment program input attributes. Note that - * _mesa_vert_result_to_frag_attrib() and frag_attrib_to_vert_result() make - * assumptions about the layout of this enum. + * _mesa_frag_attrib_to_vert_result() makes assumptions about the layout of + * this enum. */ typedef enum { @@ -315,26 +315,22 @@ typedef enum /** - * Convert from a gl_varying_slot value for a vertex output to the - * corresponding gl_frag_attrib. - * - * Varying output values which have no corresponding gl_frag_attrib - * (VARYING_SLOT_PSIZ, VARYING_SLOT_BFC0, VARYING_SLOT_BFC1, and - * VARYING_SLOT_EDGE) are converted to a value of -1. + * Determine if the given gl_varying_slot appears in the fragment shader. */ -static inline int -_mesa_vert_result_to_frag_attrib(gl_varying_slot vert_result) +static inline GLboolean +_mesa_varying_slot_in_fs(gl_varying_slot slot) { - if (vert_result <= VARYING_SLOT_TEX7) - return vert_result; - else if (vert_result < VARYING_SLOT_CLIP_DIST0) - return -1; - else if (vert_result <= VARYING_SLOT_CLIP_DIST1) - return vert_result; - else if (vert_result < VARYING_SLOT_VAR0) - return -1; - else - return vert_result; + switch (slot) { + case VARYING_SLOT_PSIZ: + case VARYING_SLOT_BFC0: + case VARYING_SLOT_BFC1: + case VARYING_SLOT_EDGE: + case VARYING_SLOT_CLIP_VERTEX: + case VARYING_SLOT_LAYER: + return GL_FALSE; + default: + return GL_TRUE; + } } |