Fri, 04 May 2018 17:45:20 -0400 Always return a non-NULL pointer for malloc(0).
Ryan C. Gordon <icculus@icculus.org> [Fri, 04 May 2018 17:45:20 -0400] rev 1182
Always return a non-NULL pointer for malloc(0). Some C runtimes, like musl, will return NULL in this case. It's more convenient to not get a NULL (which is meant to be interpreted as a failure), but instead get a non-NULL pointer that can't be dereferenced (because it's a pointer to zero bytes of memory).
Fri, 13 Oct 2017 00:47:22 -0400 Count constant arrays for the uniform_count. Fixes buffer overflow.
Ryan C. Gordon <icculus@icculus.org> [Fri, 13 Oct 2017 00:47:22 -0400] rev 1181
Count constant arrays for the uniform_count. Fixes buffer overflow. This one got found by AFL, too, but it's a legit bug that can happen with legit shaders.
Thu, 12 Oct 2017 16:35:50 -0400 A bunch of fixes for bugs that that American Fuzzy Lop exposed.
Ryan C. Gordon <icculus@icculus.org> [Thu, 12 Oct 2017 16:35:50 -0400] rev 1180
A bunch of fixes for bugs that that American Fuzzy Lop exposed. http://lcamtuf.coredump.cx/afl/ All of these bugs would never trigger on valid shaders, but it's conceivable that an attacker could hit a game that supports modding and craft a malicious shader to crash the game, so these were worth fixing in any case.
Sat, 09 Jul 2016 01:44:57 -0400 Sort register lists by register type first, then register number.
Ryan C. Gordon <icculus@icculus.org> [Sat, 09 Jul 2016 01:44:57 -0400] rev 1179
Sort register lists by register type first, then register number. This groups all the registers by type first, which is useful for packing heterogeneous uniform buffers later.
Sun, 29 May 2016 13:31:18 -0400 parse_preshader merge fixes
Ethan Lee <flibitijibibo@flibitijibibo.com> [Sun, 29 May 2016 13:31:18 -0400] rev 1178
parse_preshader merge fixes
Sun, 29 May 2016 03:51:36 -0400 Metal: fixed indentation for constant arrays.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 03:51:36 -0400] rev 1177
Metal: fixed indentation for constant arrays.
Sun, 29 May 2016 03:03:15 -0400 Put a simple sanity check in to prevent buffer overflows.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 03:03:15 -0400] rev 1176
Put a simple sanity check in to prevent buffer overflows.
Sun, 29 May 2016 02:59:29 -0400 Don't free ctx->mainfn if context build fails; it wasn't ever set.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 02:59:29 -0400] rev 1175
Don't free ctx->mainfn if context build fails; it wasn't ever set.
Sun, 29 May 2016 02:43:38 -0400 Metal: Better fix for overly-long constant arrays: they shouldn't be global!
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 02:43:38 -0400] rev 1174
Metal: Better fix for overly-long constant arrays: they shouldn't be global! The Metal compiler seems to produce identical output at -O3, at least for my quick tests. We'll see.
Sat, 28 May 2016 22:45:59 -0400 GLSL: Use varyings when usage_str is NULL for vertex/pixel shaders
Ethan Lee <flibitijibibo@flibitijibibo.com> [Sat, 28 May 2016 22:45:59 -0400] rev 1173
GLSL: Use varyings when usage_str is NULL for vertex/pixel shaders GLSLES: Various fixes from Maik Macho, thanks! Effects: Store parameter staging buffers as vec4 values, per ID3DXEffect spec
Sun, 29 May 2016 00:31:36 -0400 Make Metal profile optional in the CMake project.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 00:31:36 -0400] rev 1172
Make Metal profile optional in the CMake project.
Sun, 29 May 2016 00:26:44 -0400 Report the main function name in testparse.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 00:26:44 -0400] rev 1171
Report the main function name in testparse.
Sun, 29 May 2016 00:21:34 -0400 Explicitly initial a bunch of bits of MOJOSHADER_out_of_mem_data.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 00:21:34 -0400] rev 1170
Explicitly initial a bunch of bits of MOJOSHADER_out_of_mem_data.
Sun, 29 May 2016 00:13:13 -0400 Deal with Metal shaders with really long main function names.
Ryan C. Gordon <icculus@icculus.org> [Sun, 29 May 2016 00:13:13 -0400] rev 1169
Deal with Metal shaders with really long main function names. This is so lazy of me. :/
Sat, 28 May 2016 22:25:43 -0400 Give shaders in Effects files a unique main function name.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 22:25:43 -0400] rev 1168
Give shaders in Effects files a unique main function name. This lets you generate Metal shaders that won't conflict in the same library.
Sat, 28 May 2016 22:08:22 -0400 Changed a magic mystery value from 24 to 16.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 22:08:22 -0400] rev 1167
Changed a magic mystery value from 24 to 16. There was a logic bug in MOJOSHADER_parsePreshader() that was fixed in the merge, but it caused this mystery value to be wrong (before, we would step too far in an array and this value was covering for it). We still don't know what's at the end of this array, but at least we aren't crashing now and it appears to work as well as before. It's still a mystery.
Sat, 28 May 2016 16:11:12 -0400 Default to building with Effects framework support enabled.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 16:11:12 -0400] rev 1166
Default to building with Effects framework support enabled.
Sat, 28 May 2016 16:04:57 -0400 Patched to compile with Effects support compiled in.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 16:04:57 -0400] rev 1165
Patched to compile with Effects support compiled in.
Sat, 28 May 2016 15:58:05 -0400 MOJOSHADER_parsePreshader() cleanup.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 15:58:05 -0400] rev 1164
MOJOSHADER_parsePreshader() cleanup. Merged Ethan's copied/improved code with the original, and documented the APIs. Changed MOJOSHADER_freePreshader() to not need explicit deallocators specified.
Sat, 28 May 2016 11:55:07 -0400 metal: make generated shader code slightly more readable.
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 May 2016 11:55:07 -0400] rev 1163
metal: make generated shader code slightly more readable.
Fri, 27 May 2016 14:02:59 -0400 A few more Visual Studio warning fixes.
Ryan C. Gordon <icculus@icculus.org> [Fri, 27 May 2016 14:02:59 -0400] rev 1162
A few more Visual Studio warning fixes.
Fri, 27 May 2016 13:54:16 -0400 Fixed up a few Visual Studio warnings, compiling as C++, etc.
Ryan C. Gordon <icculus@icculus.org> [Fri, 27 May 2016 13:54:16 -0400] rev 1161
Fixed up a few Visual Studio warnings, compiling as C++, etc.
Tue, 24 May 2016 01:05:54 -0400 metal: Group all uniform arrays into one struct with explicit array sizes.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 May 2016 01:05:54 -0400] rev 1160
metal: Group all uniform arrays into one struct with explicit array sizes. This lets the Metal compiler know more about the data (such as array overflow risks and maybe optimization strategies), but also lets us mush all uniforms into one buffer index instead of splitting them across three.
Tue, 17 May 2016 16:13:20 -0400 Metal: Removed FIXME that already got fixed.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 May 2016 16:13:20 -0400] rev 1159
Metal: Removed FIXME that already got fixed.
Tue, 17 May 2016 16:13:05 -0400 Metal: Cleaned up output a little bit.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 May 2016 16:13:05 -0400] rev 1158
Metal: Cleaned up output a little bit.
Tue, 17 May 2016 16:01:06 -0400 Metal: make constant arrays have unique names.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 May 2016 16:01:06 -0400] rev 1157
Metal: make constant arrays have unique names. This lets us compile a bunch of shaders as one big file without conflicts!
Mon, 25 Apr 2016 02:55:29 -0400 Added support for producing shader language source code for Apple's Metal API.
Ryan C. Gordon <icculus@icculus.org> [Mon, 25 Apr 2016 02:55:29 -0400] rev 1156
Added support for producing shader language source code for Apple's Metal API.
Mon, 25 Apr 2016 02:54:04 -0400 glsl: texture*Proj() needs vec3 params for cubes and 3d textures.
Ryan C. Gordon <icculus@icculus.org> [Mon, 25 Apr 2016 02:54:04 -0400] rev 1155
glsl: texture*Proj() needs vec3 params for cubes and 3d textures.
Mon, 25 Apr 2016 02:51:45 -0400 Fixed some typos.
Ryan C. Gordon <icculus@icculus.org> [Mon, 25 Apr 2016 02:51:45 -0400] rev 1154
Fixed some typos.
Mon, 18 Apr 2016 12:06:17 -0400 Deal with quirks of MSVC's vsnprintf() implementation.
Baldur Karlsson <baldur@unity3d.com> [Mon, 18 Apr 2016 12:06:17 -0400] rev 1153
Deal with quirks of MSVC's vsnprintf() implementation.
Tue, 09 Feb 2016 00:05:18 -0500 Effect struct parameter support
Ethan Lee <flibitijibibo@flibitijibibo.com> [Tue, 09 Feb 2016 00:05:18 -0500] rev 1152
Effect struct parameter support
Fri, 01 Jan 2016 12:53:03 -0500 Updated copyright...like five years late. :)
Ryan C. Gordon <icculus@icculus.org> [Fri, 01 Jan 2016 12:53:03 -0500] rev 1151
Updated copyright...like five years late. :)
Fri, 01 Jan 2016 02:12:19 -0500 - Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com> [Fri, 01 Jan 2016 02:12:19 -0500] rev 1150
- Add ability to build MojoShader as a shared library - Off by default, turn on BUILD_SHARED in CMake - Add ability to disable shader profiles from CMake - Add MOJOSHADER_glSetVertexAttribDivisor - Behaves like glSetVertexAttribute, but for glVertexAttribDivisor - Add MOJOSHADER_glGetVertexAttribLocation - Allows user to directly call glVertexAttribPointer in their program - Full Effect framework support - API is in a separate header, see mojoshader_effects.h for details - Off by default, turn on EFFECT_SUPPORT in CMake - #define MOJOSHADER_EFFECT_SUPPORT before including mojoshader.h - Add MOJOSHADER_PROFILE_GLSLES shader profile - Basically just GLSL120 without using builtins - Add ability to flip gl_Position via MOJOSHADER_glProgramViewportFlip - You probably shouldn't use this unless you're a project like FNA. - Off by default, turn on FLIP_VIEWPORT in CMake - #define MOJOSHADER_FLIP_RENDERTARGET before including mojoshader.h - Add ability to adjust Z coordinates for [0, 1]-like depth clipping - You probably shouldn't use this unless you're a project like FNA. - Off by default, turn on DEPTH_CLIPPING in CMake - Add ability to build MojoShader with XNA4 vertex texturing behavior - You probably shouldn't use this unless you're reimplementing XNA. - Off by default, turn on XNA4_VERTEXTEXTURE in CMake - Add DECLSPEC/MOJOSHADERCALL to functions/function pointers - This allows for easier interop with other languages, i.e. C# P/Invoke - Fix printing float values for locales where radix is not '.' - Various minor bugfixes, optimizations, Win32 buildfixes, etc.
Tue, 13 Oct 2015 12:08:55 -0400 Whoops, checked wrong variable here. Not that anything sane overflowed this.
Ryan C. Gordon <icculus@icculus.org> [Tue, 13 Oct 2015 12:08:55 -0400] rev 1149
Whoops, checked wrong variable here. Not that anything sane overflowed this.
Tue, 06 Oct 2015 07:22:47 -0500 Bytecode emit: Don't read starting from the end of the token buffer
Mischanix <mischanix@gmail.com> [Tue, 06 Oct 2015 07:22:47 -0500] rev 1148
Bytecode emit: Don't read starting from the end of the token buffer
Sat, 26 Sep 2015 23:34:00 -0400 Fixed a few outdated comments.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Sep 2015 23:34:00 -0400] rev 1147
Fixed a few outdated comments.
Sat, 03 Jan 2015 00:50:43 -0500 Moved some simple things into mojoshader_common.c.
Ryan C. Gordon <icculus@icculus.org> [Sat, 03 Jan 2015 00:50:43 -0500] rev 1146
Moved some simple things into mojoshader_common.c. This lets you build without mojoshader.c at all, if you're doing just the compiler, etc, and don't need all the bytecode parsing.
Wed, 31 Dec 2014 16:49:59 -0500 Semantic analysis was reporting a NULL datatype for funcs with void retvals.
Ryan C. Gordon <icculus@icculus.org> [Wed, 31 Dec 2014 16:49:59 -0500] rev 1145
Semantic analysis was reporting a NULL datatype for funcs with void retvals.
Sun, 23 Nov 2014 21:21:25 -0500 Added a FIXME.
Ryan C. Gordon <icculus@icculus.org> [Sun, 23 Nov 2014 21:21:25 -0500] rev 1144
Added a FIXME.
Sat, 22 Nov 2014 22:15:38 -0500 Make parsing shaders possible without knowing the token buffer size.
Ryan C. Gordon <icculus@icculus.org> [Sat, 22 Nov 2014 22:15:38 -0500] rev 1143
Make parsing shaders possible without knowing the token buffer size. IDirect3D9Device::CreatePixelShader(), etc, don't specify buffer size. (They fixed that in D3D10.)
Thu, 02 Oct 2014 15:54:31 -0400 Allow multiline comments before preprocessor directives.
Ryan C. Gordon <icculus@icculus.org> [Thu, 02 Oct 2014 15:54:31 -0400] rev 1142
Allow multiline comments before preprocessor directives. Microsoft's preprocessor allows this, even though C/C++ doesn't.
Mon, 23 Jun 2014 14:56:00 -0400 Reduce malloc pressure in stringcache (thanks, Max!).
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jun 2014 14:56:00 -0400] rev 1141
Reduce malloc pressure in stringcache (thanks, Max!).
Mon, 23 Jun 2014 14:50:56 -0400 Fixed incorrect variable in buffer_append_va (thanks, Max!).
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jun 2014 14:50:56 -0400] rev 1140
Fixed incorrect variable in buffer_append_va (thanks, Max!). This bug only affected the heap-allocation path, so buffer appends <= 256 bytes wouldn't trigger the bug, as we did them on the stack.
Mon, 28 Apr 2014 14:15:17 -0400 Shader Model 1 doesn't use an extra token for relative addressing.
Ryan C. Gordon <icculus@icculus.org> [Mon, 28 Apr 2014 14:15:17 -0400] rev 1139
Shader Model 1 doesn't use an extra token for relative addressing. It's always addressed against a0.x.
Tue, 25 Feb 2014 17:14:59 -0500 Allow finderrors to troll through subdirectories.
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Feb 2014 17:14:59 -0500] rev 1138
Allow finderrors to troll through subdirectories.
Tue, 25 Feb 2014 14:10:15 -0500 Fixed Windows file finding.
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Feb 2014 14:10:15 -0500] rev 1137
Fixed Windows file finding.
Tue, 25 Feb 2014 14:05:12 -0500 Fixed buffer overflow.
Ryan C. Gordon <icculus@icculus.org> [Tue, 25 Feb 2014 14:05:12 -0500] rev 1136
Fixed buffer overflow.
Fri, 21 Feb 2014 12:41:39 -0500 Support OpenGL 3.0 and later.
Ryan C. Gordon <icculus@icculus.org> [Fri, 21 Feb 2014 12:41:39 -0500] rev 1135
Support OpenGL 3.0 and later.
Fri, 21 Feb 2014 12:41:25 -0500 Moved to SDL2.
Ryan C. Gordon <icculus@icculus.org> [Fri, 21 Feb 2014 12:41:25 -0500] rev 1134
Moved to SDL2.
Fri, 07 Feb 2014 15:57:54 -0500 Static analysis fix.
Ryan C. Gordon <icculus@icculus.org> [Fri, 07 Feb 2014 15:57:54 -0500] rev 1133
Static analysis fix.
Fri, 17 May 2013 15:01:09 -0400 Assembler: Pixel shader DCL opcodes only specify usage for samplers.
Ryan C. Gordon <icculus@icculus.org> [Fri, 17 May 2013 15:01:09 -0400] rev 1132
Assembler: Pixel shader DCL opcodes only specify usage for samplers.
Fri, 17 May 2013 15:00:34 -0400 Fixed whitespace.
Ryan C. Gordon <icculus@icculus.org> [Fri, 17 May 2013 15:00:34 -0400] rev 1131
Fixed whitespace.
Wed, 24 Apr 2013 21:49:39 -0400 Assembler: support ps_1_1 TEX instruction.
Ryan C. Gordon <icculus@icculus.org> [Wed, 24 Apr 2013 21:49:39 -0400] rev 1130
Assembler: support ps_1_1 TEX instruction.
Wed, 17 Apr 2013 23:32:53 -0400 Fixed compiler warning.
Ryan C. Gordon <icculus@icculus.org> [Wed, 17 Apr 2013 23:32:53 -0400] rev 1129
Fixed compiler warning.
Wed, 17 Apr 2013 23:30:10 -0400 Optimizations to preprocessor's find_define().
Ryan C. Gordon <icculus@icculus.org> [Wed, 17 Apr 2013 23:30:10 -0400] rev 1128
Optimizations to preprocessor's find_define(). - don't check for __FILE__ and __LINE__ until after we've checked our hash, since this is the less likely case. - Check against the hard-coded hash value of the strings "__FILE__" and "__LINE__" to avoid unnecessary strcmp() calls. This dropped the profile of this function from 20% of our total CPU time to 10%. Of that 10%, 70% is now the hashing function.
Tue, 16 Apr 2013 00:54:40 -0400 Added a unit test for the previous commit.
Ryan C. Gordon <icculus@icculus.org> [Tue, 16 Apr 2013 00:54:40 -0400] rev 1127
Added a unit test for the previous commit.
Tue, 16 Apr 2013 00:52:22 -0400 Let "#if ((0) + (1) < 2)" understand that '+' isn't a unary operation.
Ryan C. Gordon <icculus@icculus.org> [Tue, 16 Apr 2013 00:52:22 -0400] rev 1126
Let "#if ((0) + (1) < 2)" understand that '+' isn't a unary operation.
Mon, 25 Mar 2013 15:34:28 -0400 Don't use the extension entry point glGetInfoLogARB() in the core GL2 path.
Ryan C. Gordon <icculus@icculus.org> [Mon, 25 Mar 2013 15:34:28 -0400] rev 1125
Don't use the extension entry point glGetInfoLogARB() in the core GL2 path.
Sat, 23 Mar 2013 22:51:35 -0400 Leak fix: delete GLSL shader objects if we fail to compile.
Ryan C. Gordon <icculus@icculus.org> [Sat, 23 Mar 2013 22:51:35 -0400] rev 1124
Leak fix: delete GLSL shader objects if we fail to compile.
Fri, 15 Feb 2013 15:10:33 -0500 Fix (or just change?) how we report comments vs newlines.
Ryan C. Gordon <icculus@icculus.org> [Fri, 15 Feb 2013 15:10:33 -0500] rev 1123
Fix (or just change?) how we report comments vs newlines. Multi-line comments now swallow internal newlines and don't insert a fake one in the token stream, so this works like GNU cpp now: #if /* */1 This should be included by the preprocessor, believe it or not. #endif Single-line comments no longer swallow their terminating endline, which makes this case work: #if BLAH // The preprocessor expects a newline token here. #endif
Fri, 15 Feb 2013 15:01:50 -0500 Only turn on whitespace/comment reporting when not in a preprocessor handler.
Ryan C. Gordon <icculus@icculus.org> [Fri, 15 Feb 2013 15:01:50 -0500] rev 1122
Only turn on whitespace/comment reporting when not in a preprocessor handler. Things like "#define" handling need to manipulate that lexer state directly.
Thu, 14 Feb 2013 00:46:12 -0500 Allow preprocessor to pass through comments, like GNU cpp does.
Ryan C. Gordon <icculus@icculus.org> [Thu, 14 Feb 2013 00:46:12 -0500] rev 1121
Allow preprocessor to pass through comments, like GNU cpp does.
Thu, 14 Feb 2013 00:15:14 -0500 Let the preprocessor work more like C, without the Microsoft tools' quirks.
Ryan C. Gordon <icculus@icculus.org> [Thu, 14 Feb 2013 00:15:14 -0500] rev 1120
Let the preprocessor work more like C, without the Microsoft tools' quirks.
Fri, 02 Nov 2012 11:04:51 -0400 Patched to compile (thanks, Alexander!).
Ryan C. Gordon <icculus@icculus.org> [Fri, 02 Nov 2012 11:04:51 -0400] rev 1119
Patched to compile (thanks, Alexander!).
Wed, 10 Oct 2012 22:47:27 -0400 Whoops, dropped last extension from the list in legacy GL extension codepath.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Oct 2012 22:47:27 -0400] rev 1118
Whoops, dropped last extension from the list in legacy GL extension codepath.
Wed, 10 Oct 2012 21:35:16 -0400 Allow looking up OpenGL extensions in the way appropriate for GL3+.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Oct 2012 21:35:16 -0400] rev 1117
Allow looking up OpenGL extensions in the way appropriate for GL3+. Note that we use a StringCache for this now, which means we need to allocate memory, which means the API changed to allow custom allocators on some entry points.
Wed, 10 Oct 2012 21:33:36 -0400 Added stringcache_iscached().
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Oct 2012 21:33:36 -0400] rev 1116
Added stringcache_iscached().
Wed, 10 Oct 2012 21:32:58 -0400 Cleaned out a compiler warning for now.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Oct 2012 21:32:58 -0400] rev 1115
Cleaned out a compiler warning for now.
Wed, 10 Oct 2012 21:32:40 -0400 Upgraded to newer glext.h
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Oct 2012 21:32:40 -0400] rev 1114
Upgraded to newer glext.h
Mon, 17 Sep 2012 12:37:22 -0400 Fixed logic error.
Ryan C. Gordon <icculus@icculus.org> [Mon, 17 Sep 2012 12:37:22 -0400] rev 1113
Fixed logic error.
Mon, 17 Sep 2012 12:37:09 -0400 Fixed a typo in the docs.
Ryan C. Gordon <icculus@icculus.org> [Mon, 17 Sep 2012 12:37:09 -0400] rev 1112
Fixed a typo in the docs.
Fri, 03 Aug 2012 13:39:36 -0400 Some static analysis fixes from Clang 4.0.
Ryan C. Gordon <icculus@icculus.org> [Fri, 03 Aug 2012 13:39:36 -0400] rev 1111
Some static analysis fixes from Clang 4.0.
Thu, 07 Jun 2012 04:31:01 -0400 Don't call GL entry points once we've blanked their pointers out.
Ryan C. Gordon <icculus@icculus.org> [Thu, 07 Jun 2012 04:31:01 -0400] rev 1110
Don't call GL entry points once we've blanked their pointers out.
Tue, 29 May 2012 06:17:49 -0400 GLSL and ARB1: Make sure Shader Model 1 TEX opcode handles non-2D textures.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 06:17:49 -0400] rev 1109
GLSL and ARB1: Make sure Shader Model 1 TEX opcode handles non-2D textures.
Tue, 29 May 2012 05:12:40 -0400 ARB1: Make TEXM3X3* opcodes able to handle Cubemap or Volume samplers.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 05:12:40 -0400] rev 1108
ARB1: Make TEXM3X3* opcodes able to handle Cubemap or Volume samplers.
Tue, 29 May 2012 05:03:21 -0400 GLSL: Make TEXM3X3* opcodes able to handle Cubemap or Volume samplers.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 05:03:21 -0400] rev 1107
GLSL: Make TEXM3X3* opcodes able to handle Cubemap or Volume samplers.
Tue, 29 May 2012 04:58:11 -0400 More work on sampler remapping...3D should probably default to cubemaps, etc.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 04:58:11 -0400] rev 1106
More work on sampler remapping...3D should probably default to cubemaps, etc.
Tue, 29 May 2012 03:20:28 -0400 Fixed NULL pointer access when linking without both a vertex and pixel shader.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 03:20:28 -0400] rev 1105
Fixed NULL pointer access when linking without both a vertex and pixel shader.
Tue, 29 May 2012 02:43:24 -0400 Allow sampler type remapping.
Ryan C. Gordon <icculus@icculus.org> [Tue, 29 May 2012 02:43:24 -0400] rev 1104
Allow sampler type remapping. Allows workaround for Shader Model 1 not specifying what a sampler should be in the bytecode itself.
Sat, 19 May 2012 01:56:29 -0400 arb1 TEXM3X3SPEC fix: apparently, arb1 doesn't have a DIV instruction.
Ryan C. Gordon <icculus@icculus.org> [Sat, 19 May 2012 01:56:29 -0400] rev 1103
arb1 TEXM3X3SPEC fix: apparently, arb1 doesn't have a DIV instruction.
Mon, 23 Apr 2012 02:03:02 -0400 GLSL and ARB1: Implemented TEXM3X3 opcode.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Apr 2012 02:03:02 -0400] rev 1102
GLSL and ARB1: Implemented TEXM3X3 opcode.
Mon, 23 Apr 2012 01:53:40 -0400 Handle implicit declaration of ps_1_1 v# registers.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Apr 2012 01:53:40 -0400] rev 1101
Handle implicit declaration of ps_1_1 v# registers.
Mon, 23 Apr 2012 01:53:07 -0400 We already calculated this, don't derefence pointer again.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Apr 2012 01:53:07 -0400] rev 1100
We already calculated this, don't derefence pointer again.
Mon, 23 Apr 2012 01:19:58 -0400 GLSL and ARB1: First shot at most of the TEXM3X2* and TEXM3X3* opcodes.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Apr 2012 01:19:58 -0400] rev 1099
GLSL and ARB1: First shot at most of the TEXM3X2* and TEXM3X3* opcodes.
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.
(0) -1000 -120 +120 tip