From bdbe391be33bbaabe220e4fd6835af08569db818 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 11 Oct 2009 19:48:44 +0000 Subject: [PATCH] Double the amount of supported semantics --- panda/src/pgraphnodes/shaderGenerator.cxx | 84 +++++++++++++++++------ 1 file changed, 64 insertions(+), 20 deletions(-) diff --git a/panda/src/pgraphnodes/shaderGenerator.cxx b/panda/src/pgraphnodes/shaderGenerator.cxx index 72ef2d9ff2..a1021a0335 100644 --- a/panda/src/pgraphnodes/shaderGenerator.cxx +++ b/panda/src/pgraphnodes/shaderGenerator.cxx @@ -83,18 +83,40 @@ reset_register_allocator() { INLINE char *ShaderGenerator:: alloc_vreg() { switch (_vtregs_used) { - case 0: _vtregs_used += 1; return (char*)"TEXCOORD0"; - case 1: _vtregs_used += 1; return (char*)"TEXCOORD1"; - case 2: _vtregs_used += 1; return (char*)"TEXCOORD2"; - case 3: _vtregs_used += 1; return (char*)"TEXCOORD3"; - case 4: _vtregs_used += 1; return (char*)"TEXCOORD4"; - case 5: _vtregs_used += 1; return (char*)"TEXCOORD5"; - case 6: _vtregs_used += 1; return (char*)"TEXCOORD6"; - case 7: _vtregs_used += 1; return (char*)"TEXCOORD7"; + case 0: _vtregs_used += 1; return (char*)"TEXCOORD0"; + case 1: _vtregs_used += 1; return (char*)"TEXCOORD1"; + case 2: _vtregs_used += 1; return (char*)"TEXCOORD2"; + case 3: _vtregs_used += 1; return (char*)"TEXCOORD3"; + case 4: _vtregs_used += 1; return (char*)"TEXCOORD4"; + case 5: _vtregs_used += 1; return (char*)"TEXCOORD5"; + case 6: _vtregs_used += 1; return (char*)"TEXCOORD6"; + case 7: _vtregs_used += 1; return (char*)"TEXCOORD7"; + case 8: _vtregs_used += 1; return (char*)"TEXCOORD8"; + case 9: _vtregs_used += 1; return (char*)"TEXCOORD9"; + case 10: _vtregs_used += 1; return (char*)"TEXCOORD10"; + case 11: _vtregs_used += 1; return (char*)"TEXCOORD11"; + case 12: _vtregs_used += 1; return (char*)"TEXCOORD12"; + case 13: _vtregs_used += 1; return (char*)"TEXCOORD13"; + case 14: _vtregs_used += 1; return (char*)"TEXCOORD14"; + case 15: _vtregs_used += 1; return (char*)"TEXCOORD15"; } switch (_vcregs_used) { - case 0: _vcregs_used += 1; return (char*)"COLOR0"; - case 1: _vcregs_used += 1; return (char*)"COLOR1"; + case 0: _vcregs_used += 1; return (char*)"COLOR0"; + case 1: _vcregs_used += 1; return (char*)"COLOR1"; + case 2: _vcregs_used += 1; return (char*)"COLOR2"; + case 3: _vcregs_used += 1; return (char*)"COLOR3"; + case 4: _vcregs_used += 1; return (char*)"COLOR4"; + case 5: _vcregs_used += 1; return (char*)"COLOR5"; + case 6: _vcregs_used += 1; return (char*)"COLOR6"; + case 7: _vcregs_used += 1; return (char*)"COLOR7"; + case 8: _vcregs_used += 1; return (char*)"COLOR8"; + case 9: _vcregs_used += 1; return (char*)"COLOR9"; + case 10: _vcregs_used += 1; return (char*)"COLOR10"; + case 11: _vcregs_used += 1; return (char*)"COLOR11"; + case 12: _vcregs_used += 1; return (char*)"COLOR12"; + case 13: _vcregs_used += 1; return (char*)"COLOR13"; + case 14: _vcregs_used += 1; return (char*)"COLOR14"; + case 15: _vcregs_used += 1; return (char*)"COLOR15"; } return (char*)"UNKNOWN"; } @@ -107,18 +129,40 @@ alloc_vreg() { INLINE char *ShaderGenerator:: alloc_freg() { switch (_ftregs_used) { - case 0: _ftregs_used += 1; return (char*)"TEXCOORD0"; - case 1: _ftregs_used += 1; return (char*)"TEXCOORD1"; - case 2: _ftregs_used += 1; return (char*)"TEXCOORD2"; - case 3: _ftregs_used += 1; return (char*)"TEXCOORD3"; - case 4: _ftregs_used += 1; return (char*)"TEXCOORD4"; - case 5: _ftregs_used += 1; return (char*)"TEXCOORD5"; - case 6: _ftregs_used += 1; return (char*)"TEXCOORD6"; - case 7: _ftregs_used += 1; return (char*)"TEXCOORD7"; + case 0: _ftregs_used += 1; return (char*)"TEXCOORD0"; + case 1: _ftregs_used += 1; return (char*)"TEXCOORD1"; + case 2: _ftregs_used += 1; return (char*)"TEXCOORD2"; + case 3: _ftregs_used += 1; return (char*)"TEXCOORD3"; + case 4: _ftregs_used += 1; return (char*)"TEXCOORD4"; + case 5: _ftregs_used += 1; return (char*)"TEXCOORD5"; + case 6: _ftregs_used += 1; return (char*)"TEXCOORD6"; + case 7: _ftregs_used += 1; return (char*)"TEXCOORD7"; + case 8: _ftregs_used += 1; return (char*)"TEXCOORD8"; + case 9: _ftregs_used += 1; return (char*)"TEXCOORD9"; + case 10: _ftregs_used += 1; return (char*)"TEXCOORD10"; + case 11: _ftregs_used += 1; return (char*)"TEXCOORD11"; + case 12: _ftregs_used += 1; return (char*)"TEXCOORD12"; + case 13: _ftregs_used += 1; return (char*)"TEXCOORD13"; + case 14: _ftregs_used += 1; return (char*)"TEXCOORD14"; + case 15: _ftregs_used += 1; return (char*)"TEXCOORD15"; } switch (_fcregs_used) { - case 0: _fcregs_used += 1; return (char*)"COLOR0"; - case 1: _fcregs_used += 1; return (char*)"COLOR1"; + case 0: _fcregs_used += 1; return (char*)"COLOR0"; + case 1: _fcregs_used += 1; return (char*)"COLOR1"; + case 2: _fcregs_used += 1; return (char*)"COLOR2"; + case 3: _fcregs_used += 1; return (char*)"COLOR3"; + case 4: _fcregs_used += 1; return (char*)"COLOR4"; + case 5: _fcregs_used += 1; return (char*)"COLOR5"; + case 6: _fcregs_used += 1; return (char*)"COLOR6"; + case 7: _fcregs_used += 1; return (char*)"COLOR7"; + case 8: _fcregs_used += 1; return (char*)"COLOR8"; + case 9: _fcregs_used += 1; return (char*)"COLOR9"; + case 10: _fcregs_used += 1; return (char*)"COLOR10"; + case 11: _fcregs_used += 1; return (char*)"COLOR11"; + case 12: _fcregs_used += 1; return (char*)"COLOR12"; + case 13: _fcregs_used += 1; return (char*)"COLOR13"; + case 14: _fcregs_used += 1; return (char*)"COLOR14"; + case 15: _fcregs_used += 1; return (char*)"COLOR15"; } return (char*)"UNKNOWN"; }