Wed, 01 Jun 2011 02:15:29 -0400 Preshader input registers are separate from the actual shader constant file!
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 02:15:29 -0400] rev 1043
Preshader input registers are separate from the actual shader constant file! So make the effort to manage yet-another set of arrays for these registers...
Wed, 01 Jun 2011 02:14:12 -0400 Export symbol information for preshaders.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 02:14:12 -0400] rev 1042
Export symbol information for preshaders.
Wed, 01 Jun 2011 02:11:57 -0400 Fixed compiler warnings.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 02:11:57 -0400] rev 1041
Fixed compiler warnings.
Wed, 01 Jun 2011 01:16:12 -0400 Added functions to query the register files.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 01:16:12 -0400] rev 1040
Added functions to query the register files.
Tue, 31 May 2011 16:25:37 -0400 Run preshaders during MOJOSHADER_glProgramReady().
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 16:25:37 -0400] rev 1039
Run preshaders during MOJOSHADER_glProgramReady().
Tue, 31 May 2011 16:25:00 -0400 Allow preshader support to be #ifdef'd out, to reduce binary size.
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 16:25:00 -0400] rev 1038
Allow preshader support to be #ifdef'd out, to reduce binary size.
Tue, 31 May 2011 16:01:10 -0400 Filled in and fixed some stuff in the Effect parser.
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 16:01:10 -0400] rev 1037
Filled in and fixed some stuff in the Effect parser. This code is all nasty, because I'm planning to rewrite it later.
Tue, 31 May 2011 03:23:39 -0400 First shot at preshader interpreter. Completely untested!
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 03:23:39 -0400] rev 1036
First shot at preshader interpreter. Completely untested!
Tue, 31 May 2011 01:09:12 -0400 Changed CMPLT and CMPGE to LT and GE, to match what fxc spits out.
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 01:09:12 -0400] rev 1035
Changed CMPLT and CMPGE to LT and GE, to match what fxc spits out.
Tue, 31 May 2011 00:56:00 -0400 Found, I think, the final preshader opcodes.
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 May 2011 00:56:00 -0400] rev 1034
Found, I think, the final preshader opcodes. I wrote a goofy program to edit a file, run it through fxc.exe /dumpbin, and diff the results to automate the search. #include <stdio.h> #include <stdlib.h> #define FNAME "test.fxc" #define OFFSET 7804 #define STARTVAL 0xA000 int main(void) { system("./fxc.exe /nologo /Tfx_2_0 /dumpbin " FNAME " >dump.txt"); int i = STARTVAL; for (i = STARTVAL; i < STARTVAL+0x100; i += 0x10) { FILE *io = fopen(FNAME, "r+b"); if (io == NULL) return 1; fseek(io, OFFSET, SEEK_SET); const unsigned short y = 0x0001; fwrite(&y, sizeof (y), 1, io); const unsigned short x = (unsigned short) i; fwrite(&x, sizeof (x), 1, io); fflush(io); fclose(io); system("./fxc.exe /nologo /Tfx_2_0 /dumpbin " FNAME " >dump2.txt"); fprintf(stderr, "0x%X ... \n", i); system("diff -u dump.txt dump2.txt 1>&2"); } return 0; }
(0) -1000 -300 -100 -10 +10 +100 tip