@@ -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; |
@@ -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 |
@@ -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" |