diff options
| author | Ian Romanick <idr@us.ibm.com> | 2007-06-05 09:24:27 -0700 | 
|---|---|---|
| committer | Ian Romanick <idr@us.ibm.com> | 2007-06-05 09:24:40 -0700 | 
| commit | 69358e73ce09b392a94df753b9bf3cb2f6ad97b9 (patch) | |
| tree | 10a9db12c22ade1996678531489170095441982e | |
| parent | 0b11203038d0bc978c1a7ae0b55f67bb92a680cd (diff) | |
Updates for array texture shadow targets.
| -rw-r--r-- | src/mesa/shader/arbprogparse.c | 14 | ||||
| -rw-r--r-- | src/mesa/shader/arbprogram.syn | 33 | ||||
| -rw-r--r-- | src/mesa/shader/arbprogram_syn.h | 20 | 
3 files changed, 53 insertions, 14 deletions
| diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c index 7da3c19a89..9af3fd0764 100644 --- a/src/mesa/shader/arbprogparse.c +++ b/src/mesa/shader/arbprogparse.c @@ -374,6 +374,8 @@ LONGSTRING static char arb_grammar_text[] =  /* GL_MESA_texture_array */  #define  TEXTARGET_1D_ARRAY                         0x09  #define  TEXTARGET_2D_ARRAY                         0x0a +#define  TEXTARGET_SHADOW1D_ARRAY                   0x0b +#define  TEXTARGET_SHADOW2D_ARRAY                   0x0c  /* face type */  #define  FACE_FRONT                                 0x00 @@ -2991,11 +2993,13 @@ parse_fp_instruction (GLcontext * ctx, const GLubyte ** inst,              case TEXTARGET_CUBE:                 fp->TexSrcTarget = TEXTURE_CUBE_INDEX;                 break; -	    case TEXTARGET_SHADOW1D: -	    case TEXTARGET_SHADOW2D: -	    case TEXTARGET_SHADOWRECT: -	       /* TODO ARB_fragment_program_shadow code */ -	       break; +            case TEXTARGET_SHADOW1D: +            case TEXTARGET_SHADOW2D: +            case TEXTARGET_SHADOW1D_ARRAY: +            case TEXTARGET_SHADOW2D_ARRAY: +            case TEXTARGET_SHADOWRECT: +               /* TODO ARB_fragment_program_shadow code */ +               break;              case TEXTARGET_1D_ARRAY:                 fp->TexSrcTarget = TEXTURE_1D_ARRAY_INDEX;                 break; diff --git a/src/mesa/shader/arbprogram.syn b/src/mesa/shader/arbprogram.syn index 4f82717873..1746a876c3 100644 --- a/src/mesa/shader/arbprogram.syn +++ b/src/mesa/shader/arbprogram.syn @@ -21,13 +21,13 @@   * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.   */ -  +   /**   * \file arbprogram.syn   * ARB_fragment/vertex_program syntax   * \author Michal Krol   */ -  +  .syntax program;  /* @@ -226,8 +226,11 @@  .emtcode TEXTARGET_SHADOW1D                         0x06  .emtcode TEXTARGET_SHADOW2D                         0x07  .emtcode TEXTARGET_SHADOWRECT                       0x08 +/* GL_MESA_texture_array */  .emtcode TEXTARGET_1D_ARRAY                         0x09  .emtcode TEXTARGET_2D_ARRAY                         0x0a +.emtcode TEXTARGET_SHADOW1D_ARRAY                   0x0b +.emtcode TEXTARGET_SHADOW2D_ARRAY                   0x0c  /* face type */  .emtcode FACE_FRONT                                 0x00 @@ -912,6 +915,7 @@ fragment program                               | "CUBE"                               | "RECT"                               | <shadowTarget> (if option ARB_fragment_program_shadow present) +                             | <arrayTarget> (if option MESA_texture_array present)  */  texTarget      "1D" .emit TEXTARGET_1D .or @@ -920,19 +924,38 @@ texTarget      .if (texture_rectangle != 0x00) "RECT" .emit TEXTARGET_RECT .or      "CUBE" .emit TEXTARGET_CUBE .or      .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or -    .if (MESA_texture_array != 0x00) "ARRAY1D" .emit TEXTARGET_1D_ARRAY .or -    .if (MESA_texture_array != 0x00) "ARRAY2D" .emit TEXTARGET_2D_ARRAY; +    .if (MESA_texture_array != 0x00) arrayTarget;  /*  GL_ARB_fragment_program_shadow      <shadowTarget>         ::= "SHADOW1D"                               | "SHADOW2D"                               | "SHADOWRECT" +                             | <shadowArrayTarget> (if option MESA_texture_array present)  */  shadowTarget      "SHADOW1D" .emit TEXTARGET_SHADOW1D .or      "SHADOW2D" .emit TEXTARGET_SHADOW2D .or -    .if (texture_rectangle != 0x00) "SHADOWRECT" .emit TEXTARGET_SHADOWRECT; +    .if (texture_rectangle != 0x00) "SHADOWRECT" .emit TEXTARGET_SHADOWRECT .or +    .if (MESA_texture_array != 0x00) shadowArrayTarget; + +/* +GL_MESA_texture_array + +    <arrayTarget>         ::= "ARRAY1D" +                             | "ARRAY2D" + +    <shadowArrayTarget>   ::= "SHADOWARRAY1D" +                             | "SHADOWARRAY2D" +*/ + +arrayTarget +    "ARRAY1D" .emit TEXTARGET_1D_ARRAY .or +    "ARRAY2D" .emit TEXTARGET_2D_ARRAY; + +shadowArrayTarget +    "SHADOWARRAY1D" .emit TEXTARGET_SHADOW1D_ARRAY .or +    "SHADOWARRAY2D" .emit TEXTARGET_SHADOW2D_ARRAY;  /*  fragment program diff --git a/src/mesa/shader/arbprogram_syn.h b/src/mesa/shader/arbprogram_syn.h index 30dc9f4594..5f3f7d6cf4 100644 --- a/src/mesa/shader/arbprogram_syn.h +++ b/src/mesa/shader/arbprogram_syn.h @@ -1,3 +1,7 @@ + +/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */ + +" \n"  ".syntax program;\n"  ".emtcode REVISION 0x0a\n"  ".emtcode FRAGMENT_PROGRAM 0x01\n" @@ -122,7 +126,9 @@  ".emtcode TEXTARGET_SHADOW2D 0x07\n"  ".emtcode TEXTARGET_SHADOWRECT 0x08\n"  ".emtcode TEXTARGET_1D_ARRAY 0x09\n" -".emtcode TEXTARGET_2D_ARRAY 0x0A\n" +".emtcode TEXTARGET_2D_ARRAY 0x0a\n" +".emtcode TEXTARGET_SHADOW1D_ARRAY 0x0b\n" +".emtcode TEXTARGET_SHADOW2D_ARRAY 0x0c\n"  ".emtcode FACE_FRONT 0x00\n"  ".emtcode FACE_BACK 0x01\n"  ".emtcode COLOR_PRIMARY 0x00\n" @@ -479,12 +485,18 @@  " .if (texture_rectangle != 0x00) \"RECT\" .emit TEXTARGET_RECT .or\n"  " \"CUBE\" .emit TEXTARGET_CUBE .or\n"  " .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or\n" -" .if (MESA_texture_array != 0x00) \"ARRAY1D\" .emit TEXTARGET_1D_ARRAY .or\n" -" .if (MESA_texture_array != 0x00) \"ARRAY2D\" .emit TEXTARGET_2D_ARRAY;\n" +" .if (MESA_texture_array != 0x00) arrayTarget;\n"  "shadowTarget\n"  " \"SHADOW1D\" .emit TEXTARGET_SHADOW1D .or\n"  " \"SHADOW2D\" .emit TEXTARGET_SHADOW2D .or\n" -" .if (texture_rectangle != 0x00) \"SHADOWRECT\" .emit TEXTARGET_SHADOWRECT;\n" +" .if (texture_rectangle != 0x00) \"SHADOWRECT\" .emit TEXTARGET_SHADOWRECT .or\n" +" .if (MESA_texture_array != 0x00) shadowArrayTarget;\n" +"arrayTarget\n" +" \"ARRAY1D\" .emit TEXTARGET_1D_ARRAY .or\n" +" \"ARRAY2D\" .emit TEXTARGET_2D_ARRAY;\n" +"shadowArrayTarget\n" +" \"SHADOWARRAY1D\" .emit TEXTARGET_SHADOW1D_ARRAY .or\n" +" \"SHADOWARRAY2D\" .emit TEXTARGET_SHADOW2D_ARRAY;\n"  "optTexImageUnitNum\n"  " optTexImageUnitNum_1 .or .true .emit 0x00;\n"  "optTexImageUnitNum_1\n" | 
