Преглед изворни кода

Updates for array texture shadow targets.

tags/mesa_7_1_rc1
Ian Romanick пре 18 година
родитељ
комит
69358e73ce
3 измењених фајлова са 53 додато и 14 уклоњено
  1. 9
    5
      src/mesa/shader/arbprogparse.c
  2. 28
    5
      src/mesa/shader/arbprogram.syn
  3. 16
    4
      src/mesa/shader/arbprogram_syn.h

+ 9
- 5
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;

+ 28
- 5
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

+ 16
- 4
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"

Loading…
Откажи
Сачувај