Wed, 18 Apr 2012 00:59:12 -0400 arb1: use MAD opcode for SRCMOD_SIGN instead of a SUB+MUL pair.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Apr 2012 00:59:12 -0400] rev 1098
arb1: use MAD opcode for SRCMOD_SIGN instead of a SUB+MUL pair.
Wed, 18 Apr 2012 00:52:18 -0400 arb1: implement most of the srcmods.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Apr 2012 00:52:18 -0400] rev 1097
arb1: implement most of the srcmods.
Wed, 18 Apr 2012 00:21:58 -0400 According to MSDN, _db and _da are legit srcmods, identical to _dz and _dw.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Apr 2012 00:21:58 -0400] rev 1096
According to MSDN, _db and _da are legit srcmods, identical to _dz and _dw. Basically, it's to match rgba syntax, instead of xyzw.
Wed, 18 Apr 2012 00:19:32 -0400 glsl: Implemented most of the missing srcmods.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Apr 2012 00:19:32 -0400] rev 1095
glsl: Implemented most of the missing srcmods. Reread the GLSL spec, and it turns out that "vec3(x,y,z) - 3.0" is legal syntactic sugar: the compiler knows to subtract 3.0 from each of the three components in that vec3. This made this simpler than having to tapdance to generate correct constant vectors ourselves, and it's easier to read.
Tue, 17 Apr 2012 03:08:51 -0400 glsl: Implemented SRCMOD_BIAS and SRCMOD_BIASNEGATE.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Apr 2012 03:08:51 -0400] rev 1094
glsl: Implemented SRCMOD_BIAS and SRCMOD_BIASNEGATE.
Tue, 17 Apr 2012 02:51:58 -0400 Properly handle coissue instructions.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Apr 2012 02:51:58 -0400] rev 1093
Properly handle coissue instructions.
Tue, 17 Apr 2012 02:34:33 -0400 arb1: Implemented CND opcode.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Apr 2012 02:34:33 -0400] rev 1092
arb1: Implemented CND opcode.
Tue, 17 Apr 2012 02:22:08 -0400 arb1: Handle destination modifiers for TEXBEM/TEXBEML.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Apr 2012 02:22:08 -0400] rev 1091
arb1: Handle destination modifiers for TEXBEM/TEXBEML. Note that we probably screw this up anyhow, since there's other places where we ignore this stuff.
Tue, 17 Apr 2012 00:07:33 -0400 First shot at GLSL/ARB1 support for TEXBEM and TEXBEML opcodes.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Apr 2012 00:07:33 -0400] rev 1090
First shot at GLSL/ARB1 support for TEXBEM and TEXBEML opcodes.
Mon, 16 Apr 2012 23:46:42 -0400 Fixed arb1 version of ps_1_1 TEXLD opcode.
Ryan C. Gordon <icculus@icculus.org> [Mon, 16 Apr 2012 23:46:42 -0400] rev 1089
Fixed arb1 version of ps_1_1 TEXLD opcode.
Sun, 15 Apr 2012 05:52:03 -0400 Implement ps_1_1 TEX opcode for arb1 and glsl profiles.
Ryan C. Gordon <icculus@icculus.org> [Sun, 15 Apr 2012 05:52:03 -0400] rev 1088
Implement ps_1_1 TEX opcode for arb1 and glsl profiles.
Sun, 15 Apr 2012 02:03:00 -0400 Cut-and-paste error.
Ryan C. Gordon <icculus@icculus.org> [Sun, 15 Apr 2012 02:03:00 -0400] rev 1087
Cut-and-paste error.
Sun, 15 Apr 2012 01:23:16 -0400 Fixed CND state validation for ps_1_1.
Ryan C. Gordon <icculus@icculus.org> [Sun, 15 Apr 2012 01:23:16 -0400] rev 1086
Fixed CND state validation for ps_1_1.
Sun, 15 Apr 2012 01:07:45 -0400 Test for reading of uninitialized temp registers.
Ryan C. Gordon <icculus@icculus.org> [Sun, 15 Apr 2012 01:07:45 -0400] rev 1085
Test for reading of uninitialized temp registers.
Sun, 15 Apr 2012 01:08:24 -0400 Fail if Shader Model 1 pixel shaders don't write to r0.
Ryan C. Gordon <icculus@icculus.org> [Sun, 15 Apr 2012 01:08:24 -0400] rev 1084
Fail if Shader Model 1 pixel shaders don't write to r0.
Sat, 14 Apr 2012 23:45:34 -0400 Note whether a given register was written to by the shader.
Ryan C. Gordon <icculus@icculus.org> [Sat, 14 Apr 2012 23:45:34 -0400] rev 1083
Note whether a given register was written to by the shader.
Sat, 14 Apr 2012 23:23:25 -0400 Added some FIXMEs.
Ryan C. Gordon <icculus@icculus.org> [Sat, 14 Apr 2012 23:23:25 -0400] rev 1082
Added some FIXMEs.
Sat, 14 Apr 2012 17:14:50 -0400 Pixel Shader Model 1 writes color output to r0, not oC0. Deal with this.
Ryan C. Gordon <icculus@icculus.org> [Sat, 14 Apr 2012 17:14:50 -0400] rev 1081
Pixel Shader Model 1 writes color output to r0, not oC0. Deal with this.
Fri, 13 Apr 2012 16:10:48 -0400 M4X4 opcode can actually overflow some string buffers.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Apr 2012 16:10:48 -0400] rev 1080
M4X4 opcode can actually overflow some string buffers.
Fri, 13 Apr 2012 02:13:47 -0400 Fixed the GLSL LIT opcode.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Apr 2012 02:13:47 -0400] rev 1079
Fixed the GLSL LIT opcode. Clearly we never pushed this through a GLSL compiler before. :)
Fri, 13 Apr 2012 00:26:21 -0400 ARB1 profile: implemented matrix multiply opcodes.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Apr 2012 00:26:21 -0400] rev 1078
ARB1 profile: implemented matrix multiply opcodes. Specifically: M4X4, M4X3, M3X4, M3X3, M3X2.
Fri, 13 Apr 2012 00:24:21 -0400 Cleaned up some cut-and-paste.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Apr 2012 00:24:21 -0400] rev 1077
Cleaned up some cut-and-paste.
Fri, 13 Apr 2012 00:24:04 -0400 Removed some FIXMEs...I think this code is right as-is.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Apr 2012 00:24:04 -0400] rev 1076
Removed some FIXMEs...I think this code is right as-is.
Thu, 12 Apr 2012 23:13:16 -0400 Flag more registers as scalar. Fixes use of dcl_fog, oPts and oFog registers.
Ryan C. Gordon <icculus@icculus.org> [Thu, 12 Apr 2012 23:13:16 -0400] rev 1075
Flag more registers as scalar. Fixes use of dcl_fog, oPts and oFog registers.
Wed, 04 Jan 2012 13:07:50 -0800 Corrected scalar opcode behavior in the preshader virtual machine.
Ryan C. Gordon <icculus@icculus.org> [Wed, 04 Jan 2012 13:07:50 -0800] rev 1074
Corrected scalar opcode behavior in the preshader virtual machine.
Wed, 21 Dec 2011 04:10:58 -0500 Cleaned up half-float stuff.
Ryan C. Gordon <icculus@icculus.org> [Wed, 21 Dec 2011 04:10:58 -0500] rev 1073
Cleaned up half-float stuff.
Wed, 21 Dec 2011 04:10:42 -0500 Fixed up calling GL2 vs ARB extension entry points.
Ryan C. Gordon <icculus@icculus.org> [Wed, 21 Dec 2011 04:10:42 -0500] rev 1072
Fixed up calling GL2 vs ARB extension entry points. Should fix Super Meat Boy (etc) on Mesa-based Linux OpenGL drivers.
Wed, 21 Dec 2011 02:41:48 -0500 We never actually use glGetProgramStringARB().
Ryan C. Gordon <icculus@icculus.org> [Wed, 21 Dec 2011 02:41:48 -0500] rev 1071
We never actually use glGetProgramStringARB().
Wed, 21 Dec 2011 02:19:10 -0500 Reworked GLSL extension and version detection.
Ryan C. Gordon <icculus@icculus.org> [Wed, 21 Dec 2011 02:19:10 -0500] rev 1070
Reworked GLSL extension and version detection. Also disabled forcibly declaring GLSL available if the GL version is >= 2.0, because the ARB extensions use different entry points than the core version. Silly mistake.
Mon, 28 Nov 2011 07:41:31 -0500 Extremely minor tweak.
Ryan C. Gordon <icculus@icculus.org> [Mon, 28 Nov 2011 07:41:31 -0500] rev 1069
Extremely minor tweak.
Tue, 15 Nov 2011 12:30:17 -0500 Documented MOJOSHADER_glBindShaders().
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Nov 2011 12:30:17 -0500] rev 1068
Documented MOJOSHADER_glBindShaders().
Fri, 11 Nov 2011 03:15:36 -0500 Forgot a piece with SUPPORT_PRESHADERS preprocessor test.
Ryan C. Gordon <icculus@icculus.org> [Fri, 11 Nov 2011 03:15:36 -0500] rev 1067
Forgot a piece with SUPPORT_PRESHADERS preprocessor test.
Fri, 11 Nov 2011 02:20:36 -0500 Added MOJOSHADER_glBindShaders().
Ryan C. Gordon <icculus@icculus.org> [Fri, 11 Nov 2011 02:20:36 -0500] rev 1066
Added MOJOSHADER_glBindShaders().
Fri, 11 Nov 2011 02:20:05 -0500 Implemented hash_iter_keys().
Ryan C. Gordon <icculus@icculus.org> [Fri, 11 Nov 2011 02:20:05 -0500] rev 1065
Implemented hash_iter_keys().
Fri, 11 Nov 2011 02:19:48 -0500 Minor hash_iter() code cleanup.
Ryan C. Gordon <icculus@icculus.org> [Fri, 11 Nov 2011 02:19:48 -0500] rev 1064
Minor hash_iter() code cleanup.
Tue, 25 Oct 2011 12:01:34 -0400 Several preshader fixes and static analysis tweaks.
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Oct 2011 12:01:34 -0400] rev 1063
Several preshader fixes and static analysis tweaks.
Tue, 25 Oct 2011 02:24:45 -0400 Fixed use of wrong variable in setting preshader temp register counts.
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Oct 2011 02:24:45 -0400] rev 1062
Fixed use of wrong variable in setting preshader temp register counts.
Mon, 24 Oct 2011 15:03:43 -0400 Set relative_component correctly when parsing source registers.
Ryan C. Gordon <icculus@icculus.org> [Mon, 24 Oct 2011 15:03:43 -0400] rev 1061
Set relative_component correctly when parsing source registers. Fixes address a0.(y|z|w) from unconditionally becoming a0.x ...
Thu, 20 Oct 2011 17:50:27 -0400 Fixed a few things clang's static analysis reported.
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Oct 2011 17:50:27 -0400] rev 1060
Fixed a few things clang's static analysis reported.
Thu, 20 Oct 2011 12:08:12 -0400 Fixed must-copy version of stringmap_insert().
Ryan C. Gordon <icculus@icculus.org> [Thu, 20 Oct 2011 12:08:12 -0400] rev 1059
Fixed must-copy version of stringmap_insert(). Thanks to Sam Lantinga for pointing out the bug.
Mon, 01 Aug 2011 15:14:50 -0400 Let d3d and bytecode profiles use relative addressing without a CTAB.
Ryan C. Gordon <icculus@icculus.org> [Mon, 01 Aug 2011 15:14:50 -0400] rev 1058
Let d3d and bytecode profiles use relative addressing without a CTAB. Since these would work on Windows without them, too.
Mon, 01 Aug 2011 15:06:52 -0400 Assembler: fixed bug where relative addressing failed parsing.
Ryan C. Gordon <icculus@icculus.org> [Mon, 01 Aug 2011 15:06:52 -0400] rev 1057
Assembler: fixed bug where relative addressing failed parsing.
Mon, 20 Jun 2011 15:56:22 -0400 Toggle pointsize support as necessary in the OpenGL bindings.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jun 2011 15:56:22 -0400] rev 1056
Toggle pointsize support as necessary in the OpenGL bindings.
Mon, 20 Jun 2011 15:47:16 -0400 Report shader outputs in MOJOSHADER_parseData.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jun 2011 15:47:16 -0400] rev 1055
Report shader outputs in MOJOSHADER_parseData.
Mon, 20 Jun 2011 15:26:34 -0400 Treat dcl_psize registers as scalar.
Ryan C. Gordon <icculus@icculus.org> [Mon, 20 Jun 2011 15:26:34 -0400] rev 1054
Treat dcl_psize registers as scalar.
Thu, 09 Jun 2011 01:59:49 -0400 Maybe fix scalar operations in preshader interpreter.
Ryan C. Gordon <icculus@icculus.org> [Thu, 09 Jun 2011 01:59:49 -0400] rev 1053
Maybe fix scalar operations in preshader interpreter.
Thu, 09 Jun 2011 01:56:10 -0400 Don't allocate zero bytes for MOJOSHADER_symbolTypeInfo::members.
Ryan C. Gordon <icculus@icculus.org> [Thu, 09 Jun 2011 01:56:10 -0400] rev 1052
Don't allocate zero bytes for MOJOSHADER_symbolTypeInfo::members.
Thu, 02 Jun 2011 14:49:30 -0400 Fixed off-by-one error in testparse.
Ryan C. Gordon <icculus@icculus.org> [Thu, 02 Jun 2011 14:49:30 -0400] rev 1051
Fixed off-by-one error in testparse.
Thu, 02 Jun 2011 03:17:18 -0400 Fixed temp count in preshaders.
Ryan C. Gordon <icculus@icculus.org> [Thu, 02 Jun 2011 03:17:18 -0400] rev 1050
Fixed temp count in preshaders.
Thu, 02 Jun 2011 00:51:50 -0400 ARB1: Use OPTION ARB_position_invariant if we didn't write to result.position.
Ryan C. Gordon <icculus@icculus.org> [Thu, 02 Jun 2011 00:51:50 -0400] rev 1049
ARB1: Use OPTION ARB_position_invariant if we didn't write to result.position.
Thu, 02 Jun 2011 00:47:17 -0400 ARB1, GLSL: Deal with multiple draw buffers (registers oC1, etc).
Ryan C. Gordon <icculus@icculus.org> [Thu, 02 Jun 2011 00:47:17 -0400] rev 1048
ARB1, GLSL: Deal with multiple draw buffers (registers oC1, etc).
Wed, 01 Jun 2011 13:22:55 -0400 Don't try to allocate a temp array if the preshader has no temps.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 13:22:55 -0400] rev 1047
Don't try to allocate a temp array if the preshader has no temps.
Wed, 01 Jun 2011 13:22:21 -0400 Place preshader destination register last in operand list.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 13:22:21 -0400] rev 1046
Place preshader destination register last in operand list. This is where it's located in the shader, and it simplies some things.
Wed, 01 Jun 2011 05:35:50 -0400 Fixed wrong array offset in preshader interpreter.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 05:35:50 -0400] rev 1045
Fixed wrong array offset in preshader interpreter. (dst operand is first, skip it when loading src operands.)
Wed, 01 Jun 2011 03:30:03 -0400 Report preshader symbol table in testparse.
Ryan C. Gordon <icculus@icculus.org> [Wed, 01 Jun 2011 03:30:03 -0400] rev 1044
Report preshader symbol table in testparse.
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; }
Mon, 30 May 2011 23:39:12 -0400 Added DIV preshader opcode.
Ryan C. Gordon <icculus@icculus.org> [Mon, 30 May 2011 23:39:12 -0400] rev 1033
Added DIV preshader opcode. After poking around with a hex editor and fxc.exe /dumpbin, I _think_ this is everything from the 0x1000, 0x2000, and 0xA000 blocks. There might be some 0x3000 or 0x5000 opcodes out there still.
Mon, 30 May 2011 19:56:41 -0400 Added some more preshader opcodes, cleaned up opcode handling elsewhere.
Ryan C. Gordon <icculus@icculus.org> [Mon, 30 May 2011 19:56:41 -0400] rev 1032
Added some more preshader opcodes, cleaned up opcode handling elsewhere.
Mon, 30 May 2011 19:34:03 -0400 Put preshader opcode switch in numeric order. Makes missing values obvious.
Ryan C. Gordon <icculus@icculus.org> [Mon, 30 May 2011 19:34:03 -0400] rev 1031
Put preshader opcode switch in numeric order. Makes missing values obvious.
Mon, 30 May 2011 16:41:22 -0400 Initial work on preshader support.
Ryan C. Gordon <icculus@icculus.org> [Mon, 30 May 2011 16:41:22 -0400] rev 1030
Initial work on preshader support. Parses and outputs in testparse. Some gaps in the reverse engineering still, and probably some bugs still, too. Doesn't actually USE the preshaders yet, but now the data is available to us.
Sun, 29 May 2011 17:48:30 -0400 Moved some logic around in parsing CTABs.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2011 17:48:30 -0400] rev 1029
Moved some logic around in parsing CTABs.
Sun, 29 May 2011 17:34:12 -0400 Parse symbols in the CTAB, export them in MOJOSHADER_parseData.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2011 17:34:12 -0400] rev 1028
Parse symbols in the CTAB, export them in MOJOSHADER_parseData.
Sun, 29 May 2011 11:58:40 -0400 Recover slightly better from unrecognized instruction tokens.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2011 11:58:40 -0400] rev 1027
Recover slightly better from unrecognized instruction tokens.
Tue, 24 May 2011 23:24:15 -0400 GLSL: texldd-specific arguments need to be cast to vec2.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 May 2011 23:24:15 -0400] rev 1026
GLSL: texldd-specific arguments need to be cast to vec2.
Tue, 24 May 2011 23:15:50 -0400 Favor GL_ARB_shader_texture_lod over GL_EXT_gpu_shader4.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 May 2011 23:15:50 -0400] rev 1025
Favor GL_ARB_shader_texture_lod over GL_EXT_gpu_shader4. One enables just the piece of functionality we care about for TEXLDD, the other enables a whole kitchen sink.
Tue, 24 May 2011 04:38:48 -0400 Test for the GL extension, not whether the entry point is NULL.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 May 2011 04:38:48 -0400] rev 1024
Test for the GL extension, not whether the entry point is NULL. (glXGetProcAddress() can legally return a non-NULL pointer...you have to make sure it is safe to call yourself by checking the GL_EXTENSIONS string!)
Tue, 24 May 2011 04:35:01 -0400 Cleaned up GL symbol lookup slightly.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 May 2011 04:35:01 -0400] rev 1023
Cleaned up GL symbol lookup slightly.
Sun, 22 May 2011 18:21:19 -0400 Updated copyright year.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 18:21:19 -0400] rev 1022
Updated copyright year.
Sun, 22 May 2011 17:23:57 -0400 Fixed memory leak in MOJOSHADER_freeEffect().
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 17:23:57 -0400] rev 1021
Fixed memory leak in MOJOSHADER_freeEffect().
Sun, 22 May 2011 17:18:41 -0400 Implemented TEXLDD opcode for GLSL, ARB1, and NV2.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 17:18:41 -0400] rev 1020
Implemented TEXLDD opcode for GLSL, ARB1, and NV2.
Sun, 22 May 2011 03:32:10 -0400 Initial work on parsing binary Effects files.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 03:32:10 -0400] rev 1019
Initial work on parsing binary Effects files.
Sun, 22 May 2011 01:27:04 -0400 Corrected out of memory error position.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 01:27:04 -0400] rev 1018
Corrected out of memory error position.
Sun, 22 May 2011 01:22:36 -0400 Fixed typo in documentation.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 May 2011 01:22:36 -0400] rev 1017
Fixed typo in documentation.
Sun, 20 Mar 2011 12:24:38 -0700 Moved print_whole_ir() up next to print_ir().
Ryan C. Gordon <icculus@icculus.org> [Sun, 20 Mar 2011 12:24:38 -0700] rev 1016
Moved print_whole_ir() up next to print_ir().
Sun, 20 Mar 2011 01:44:39 -0700 Store the IR in an array.
Ryan C. Gordon <icculus@icculus.org> [Sun, 20 Mar 2011 01:44:39 -0700] rev 1015
Store the IR in an array. Stored one function's statement block per element, indexed by function number.
Sat, 19 Mar 2011 14:51:57 -0700 Store the unique id from push_function() in the AST during semantic analysis.
Ryan C. Gordon <icculus@icculus.org> [Sat, 19 Mar 2011 14:51:57 -0700] rev 1014
Store the unique id from push_function() in the AST during semantic analysis.
Sat, 19 Mar 2011 04:32:29 -0400 Fixed incorrect variable reference.
Ryan C. Gordon <icculus@icculus.org> [Sat, 19 Mar 2011 04:32:29 -0400] rev 1013
Fixed incorrect variable reference.
Wed, 16 Mar 2011 12:46:22 -0700 Fixed struct dereference reporting wrong type in the IR.
Ryan C. Gordon <icculus@icculus.org> [Wed, 16 Mar 2011 12:46:22 -0700] rev 1012
Fixed struct dereference reporting wrong type in the IR.
Tue, 15 Mar 2011 01:45:05 -0700 Implemented the Intermediate Representation.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Mar 2011 01:45:05 -0700] rev 1011
Implemented the Intermediate Representation. This might need some tuning still, and will certainly need some passes to manipulate the IR tree even without optimizations. And, of course, this still needs to actually generate bytecode at some point.
Tue, 15 Mar 2011 01:40:04 -0700 Added a FIXME.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Mar 2011 01:40:04 -0700] rev 1010
Added a FIXME.
Tue, 15 Mar 2011 01:39:41 -0700 Note the member index in struct deref, so we don't have to calculate it again.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Mar 2011 01:39:41 -0700] rev 1009
Note the member index in struct deref, so we don't have to calculate it again.
Tue, 15 Mar 2011 01:38:05 -0700 Added a FIXME.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Mar 2011 01:38:05 -0700] rev 1008
Added a FIXME.
Thu, 03 Mar 2011 00:00:22 -0800 Added a pile of FIXMEs.
Ryan C. Gordon <icculus@icculus.org> [Thu, 03 Mar 2011 00:00:22 -0800] rev 1007
Added a pile of FIXMEs.
Wed, 02 Mar 2011 23:59:22 -0800 Fixed a misunderstanding about how the AST of a for-loop initializer works.
Ryan C. Gordon <icculus@icculus.org> [Wed, 02 Mar 2011 23:59:22 -0800] rev 1006
Fixed a misunderstanding about how the AST of a for-loop initializer works.
Wed, 02 Mar 2011 23:58:16 -0800 Make note of how many times a symbol is referenced.
Ryan C. Gordon <icculus@icculus.org> [Wed, 02 Mar 2011 23:58:16 -0800] rev 1005
Make note of how many times a symbol is referenced. (Maybe for dead code stripping later on.)
Wed, 02 Mar 2011 21:40:18 -0800 Semantic analysis: make sure break and continue are inside loops and switches.
Ryan C. Gordon <icculus@icculus.org> [Wed, 02 Mar 2011 21:40:18 -0800] rev 1004
Semantic analysis: make sure break and continue are inside loops and switches.
Wed, 02 Mar 2011 21:29:29 -0800 Switch statements were dropping the ball on semantic analysis.
Ryan C. Gordon <icculus@icculus.org> [Wed, 02 Mar 2011 21:29:29 -0800] rev 1003
Switch statements were dropping the ball on semantic analysis.
Wed, 23 Feb 2011 16:46:14 -0500 Removed some debug code.
Ryan C. Gordon <icculus@icculus.org> [Wed, 23 Feb 2011 16:46:14 -0500] rev 1002
Removed some debug code.
Wed, 23 Feb 2011 16:45:06 -0500 Minor tweaks in case I expose semantic analysis phase to the public API later.
Ryan C. Gordon <icculus@icculus.org> [Wed, 23 Feb 2011 16:45:06 -0500] rev 1001
Minor tweaks in case I expose semantic analysis phase to the public API later.
Tue, 22 Feb 2011 02:51:33 -0500 Disable debug output.
Ryan C. Gordon <icculus@icculus.org> [Tue, 22 Feb 2011 02:51:33 -0500] rev 1000
Disable debug output.
Tue, 22 Feb 2011 02:51:06 -0500 Fixed incorrect union accesses.
Ryan C. Gordon <icculus@icculus.org> [Tue, 22 Feb 2011 02:51:06 -0500] rev 999
Fixed incorrect union accesses.
Tue, 22 Feb 2011 02:50:48 -0500 Fixed stupid bug in stupid debug code. :)
Ryan C. Gordon <icculus@icculus.org> [Tue, 22 Feb 2011 02:50:48 -0500] rev 998
Fixed stupid bug in stupid debug code. :)
Tue, 22 Feb 2011 02:34:26 -0500 Yet another approach to overloaded function selection.
Ryan C. Gordon <icculus@icculus.org> [Tue, 22 Feb 2011 02:34:26 -0500] rev 997
Yet another approach to overloaded function selection. This one seems to work pretty well, at least as far as my test cases go. Whether it completely matches Microsoft's compiler? I don't know yet, but it's got to be pretty close now, right?
Mon, 21 Feb 2011 18:25:42 -0500 Yet-another attempt at getting function overloading selection correct.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 Feb 2011 18:25:42 -0500] rev 996
Yet-another attempt at getting function overloading selection correct.
Mon, 21 Feb 2011 03:06:00 -0500 More work on ambiguous function overloads.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 Feb 2011 03:06:00 -0500] rev 995
More work on ambiguous function overloads.
Mon, 21 Feb 2011 00:26:32 -0500 Assembler: fixed *_gt conditional.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 Feb 2011 00:26:32 -0500] rev 994
Assembler: fixed *_gt conditional.
Thu, 10 Feb 2011 22:20:04 -0500 Fixed logic in error reporting on ambiguous function calls.
Ryan C. Gordon <icculus@icculus.org> [Thu, 10 Feb 2011 22:20:04 -0500] rev 993
Fixed logic in error reporting on ambiguous function calls.
Thu, 10 Feb 2011 18:52:50 -0500 Don't print loop attributes if user didn't explicitly specify one.
Ryan C. Gordon <icculus@icculus.org> [Thu, 10 Feb 2011 18:52:50 -0500] rev 992
Don't print loop attributes if user didn't explicitly specify one.
Thu, 10 Feb 2011 18:37:29 -0500 More work on overloaded intrinsic functions.
Ryan C. Gordon <icculus@icculus.org> [Thu, 10 Feb 2011 18:37:29 -0500] rev 991
More work on overloaded intrinsic functions. I really dislike this whole piece of code. Would really like to not flood the symbol table with thousands of overloads like this.
Thu, 10 Feb 2011 00:05:36 -0800 More work on fixing up overloaded function selection.
Ryan C. Gordon <icculus@icculus.org> [Thu, 10 Feb 2011 00:05:36 -0800] rev 990
More work on fixing up overloaded function selection.
Thu, 10 Feb 2011 00:05:10 -0800 Add more intrinsic function overloads. This is getting out of control now.
Ryan C. Gordon <icculus@icculus.org> [Thu, 10 Feb 2011 00:05:10 -0800] rev 989
Add more intrinsic function overloads. This is getting out of control now.
Wed, 09 Feb 2011 04:32:00 -0500 More work on overloaded function matching.
Ryan C. Gordon <icculus@icculus.org> [Wed, 09 Feb 2011 04:32:00 -0500] rev 988
More work on overloaded function matching. This works more like Microsoft's compiler appears to now, but I've still got failing cases to shake out.
Sun, 06 Feb 2011 04:01:43 -0500 Allow constructors with sub-vectors (or whatever you'd call this).
Ryan C. Gordon <icculus@icculus.org> [Sun, 06 Feb 2011 04:01:43 -0500] rev 987
Allow constructors with sub-vectors (or whatever you'd call this). Now "float4(float3(1,2,3),1)" works as expected.
Wed, 19 Jan 2011 01:38:01 -0800 Fixed some uninitialized memory reads, compliments of valgrind.
Ryan C. Gordon <icculus@icculus.org> [Wed, 19 Jan 2011 01:38:01 -0800] rev 986
Fixed some uninitialized memory reads, compliments of valgrind.
Wed, 19 Jan 2011 01:24:08 -0800 Vectors and matrices can be dereferenced like arrays.
Ryan C. Gordon <icculus@icculus.org> [Wed, 19 Jan 2011 01:24:08 -0800] rev 985
Vectors and matrices can be dereferenced like arrays.
Wed, 19 Jan 2011 01:04:40 -0800 Fixed dropping pieces of structs with comma-separated members.
Ryan C. Gordon <icculus@icculus.org> [Wed, 19 Jan 2011 01:04:40 -0800] rev 984
Fixed dropping pieces of structs with comma-separated members.
Tue, 18 Jan 2011 13:49:42 -0800 Let type coercion deal with vectors and matrices.
Ryan C. Gordon <icculus@icculus.org> [Tue, 18 Jan 2011 13:49:42 -0800] rev 983
Let type coercion deal with vectors and matrices.
Tue, 18 Jan 2011 13:44:52 -0800 Moved assignment into the scope where it's actually used.
Ryan C. Gordon <icculus@icculus.org> [Tue, 18 Jan 2011 13:44:52 -0800] rev 982
Moved assignment into the scope where it's actually used.
Tue, 18 Jan 2011 10:42:25 -0800 Don't use the reduced type when choosing a swizzle.
Ryan C. Gordon <icculus@icculus.org> [Tue, 18 Jan 2011 10:42:25 -0800] rev 981
Don't use the reduced type when choosing a swizzle.
Tue, 18 Jan 2011 00:32:15 -0500 Make sure swizzle isn't too large ("float2(1,2).xyz" is invalid).
Ryan C. Gordon <icculus@icculus.org> [Tue, 18 Jan 2011 00:32:15 -0500] rev 980
Make sure swizzle isn't too large ("float2(1,2).xyz" is invalid).
Tue, 18 Jan 2011 00:29:14 -0500 Vector swizzling now reports correct type.
Ryan C. Gordon <icculus@icculus.org> [Tue, 18 Jan 2011 00:29:14 -0500] rev 979
Vector swizzling now reports correct type.
(0) -1000 -120 +120 tip